From 3c6420ad8281971978d743623e2cb73becabfc77 Mon Sep 17 00:00:00 2001 From: Theodore Ni <3806110+tjni@users.noreply.github.com> Date: Mon, 11 Nov 2024 18:01:54 -0800 Subject: [PATCH 1/2] rav1e: remove build-time dependency on libgit2 --- pkgs/by-name/ra/rav1e/package.nix | 36 +++++++++++++++---------------- 1 file changed, 17 insertions(+), 19 deletions(-) diff --git a/pkgs/by-name/ra/rav1e/package.nix b/pkgs/by-name/ra/rav1e/package.nix index e8834ac131e4f..34dda9e57e3e8 100644 --- a/pkgs/by-name/ra/rav1e/package.nix +++ b/pkgs/by-name/ra/rav1e/package.nix @@ -4,15 +4,12 @@ stdenv, rustPlatform, fetchCrate, - pkg-config, cargo-c, darwin, - libgit2, libiconv, nasm, nix-update-script, testers, - zlib, rav1e, }: @@ -27,28 +24,29 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-VyQ6n2kIJ7OjK6Xlf0T0GNsBvgESRETzKZDZzAn8ZuY="; - depsBuildBuild = [ pkg-config ]; - nativeBuildInputs = [ cargo-c - libgit2 nasm ]; - buildInputs = - [ zlib ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - libiconv - darwin.apple_sdk.frameworks.Security - ]; + buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ + libiconv + darwin.apple_sdk.frameworks.Security + ]; - # Darwin uses `llvm-strip`, which results in link errors when using `-x` to strip the asm library - # and linking it with cctools ld64. - postPatch = lib.optionalString (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) '' - substituteInPlace build.rs --replace-fail '.arg("-x")' '.arg("-S")' - # Thin LTO doesn’t appear to work with Rust 1.79. rav1e fail to build when building fern. - substituteInPlace Cargo.toml --replace-fail 'lto = "thin"' 'lto = "fat"' - ''; + postPatch = + '' + # remove feature that requires libgit2 and is only used to print a version string + substituteInPlace Cargo.toml --replace-fail '"git_version",' "" + '' + + lib.optionalString (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) '' + # Darwin uses `llvm-strip`, which results in link errors when using `-x` to strip the asm library + # and linking it with cctools ld64. + substituteInPlace build.rs --replace-fail '.arg("-x")' '.arg("-S")' + + # Thin LTO doesn’t appear to work with Rust 1.79. rav1e fail to build when building fern. + substituteInPlace Cargo.toml --replace-fail 'lto = "thin"' 'lto = "fat"' + ''; checkType = "debug"; From c4a4f958cb5af702f61f88d0e762af1700c6a705 Mon Sep 17 00:00:00 2001 From: Theodore Ni <3806110+tjni@users.noreply.github.com> Date: Mon, 11 Nov 2024 18:03:00 -0800 Subject: [PATCH 2/2] rav1e: use new Darwin SDK pattern --- pkgs/by-name/ra/rav1e/package.nix | 7 ------- 1 file changed, 7 deletions(-) diff --git a/pkgs/by-name/ra/rav1e/package.nix b/pkgs/by-name/ra/rav1e/package.nix index 34dda9e57e3e8..523b8e1de6a04 100644 --- a/pkgs/by-name/ra/rav1e/package.nix +++ b/pkgs/by-name/ra/rav1e/package.nix @@ -5,8 +5,6 @@ rustPlatform, fetchCrate, cargo-c, - darwin, - libiconv, nasm, nix-update-script, testers, @@ -29,11 +27,6 @@ rustPlatform.buildRustPackage rec { nasm ]; - buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ - libiconv - darwin.apple_sdk.frameworks.Security - ]; - postPatch = '' # remove feature that requires libgit2 and is only used to print a version string