···36 config = parse.tripleFromSystem final.parsed;
37 # Determine whether we can execute binaries built for the provided platform.
38 canExecute = platform:
039 parse.isCompatible final.parsed.cpu platform.parsed.cpu
40 && final.parsed.kernel == platform.parsed.kernel;
41 isCompatible = _: throw "2022-05-23: isCompatible has been removed in favor of canExecute, refer to the 22.11 changelog for details";
···36 config = parse.tripleFromSystem final.parsed;
37 # Determine whether we can execute binaries built for the provided platform.
38 canExecute = platform:
39+ final.isAndroid == platform.isAndroid &&
40 parse.isCompatible final.parsed.cpu platform.parsed.cpu
41 && final.parsed.kernel == platform.parsed.kernel;
42 isCompatible = _: throw "2022-05-23: isCompatible has been removed in favor of canExecute, refer to the 22.11 changelog for details";
···12 nativeBuildInputs = [ makeWrapper ]
13 ++ lib.optionals stdenv.isLinux [ autoPatchelfHook ];
14 autoPatchelfIgnoreMissingDeps = true;
15- buildInputs = lib.optional (os == "linux") [ pkgs.glibc pkgs.stdenv.cc.cc pkgs.python2 pkgs.ncurses5 pkgs.zlib pkgs.libcxx.out pkgs.libxml2 ];
16 patchInstructions = lib.optionalString (os == "linux") (''
17 patchShebangs .
1819- # Fix the shebangs of the auto-generated scripts.
20- substituteInPlace ./build/tools/make_standalone_toolchain.py \
21- --replace '#!/bin/bash' '#!${pkgs.bash}/bin/bash'
22-23- '' + lib.optionalString (builtins.compareVersions (lib.getVersion package) "21" > 0) ''
24- patch -p1 \
25- --no-backup-if-mismatch < ${./make_standalone_toolchain.py_18.patch} || true
26- wrapProgram ./build/tools/make_standalone_toolchain.py --prefix PATH : "${runtime_paths}"
27- '' + ''
28-29 # TODO: allow this stuff
30 rm -rf docs tests
0000000003132 # Patch the executables of the toolchains, but not the libraries -- they are needed for crosscompiling
33 if [ -d $out/libexec/android-sdk/ndk-bundle/toolchains/renderscript/prebuilt/linux-x86_64/lib64 ]; then
···12 nativeBuildInputs = [ makeWrapper ]
13 ++ lib.optionals stdenv.isLinux [ autoPatchelfHook ];
14 autoPatchelfIgnoreMissingDeps = true;
15+ buildInputs = lib.optional (os == "linux") [ pkgs.zlib ];
16 patchInstructions = lib.optionalString (os == "linux") (''
17 patchShebangs .
18000000000019 # TODO: allow this stuff
20 rm -rf docs tests
21+22+ # Ndk now has a prebuilt toolchains inside, the file layout has changed, we do a symlink
23+ # to still support the old standalone toolchains builds.
24+ if [ -d $out/libexec/android-sdk/ndk ] && [ ! -d $out/libexec/android-sdk/ndk-bundle ]; then
25+ ln -sf $out/libexec/android-sdk/ndk/${package.revision} $out/libexec/android-sdk/ndk-bundle
26+ else
27+ echo "The ndk-bundle layout has changed. The nix expressions have to be updated!"
28+ exit 1
29+ fi
3031 # Patch the executables of the toolchains, but not the libraries -- they are needed for crosscompiling
32 if [ -d $out/libexec/android-sdk/ndk-bundle/toolchains/renderscript/prebuilt/linux-x86_64/lib64 ]; then
···20 # The websites yt-dlp deals with are a very moving target. That means that
21 # downloads break constantly. Because of that, updates should always be backported
22 # to the latest stable release.
23- version = "2022.6.29";
2425 src = fetchPypi {
26 inherit pname;
27 version = builtins.replaceStrings [ ".0" ] [ "." ] version;
28- sha256 = "sha256-X7+scv0DXRG8JpPl0c1pM7G8BxL3QvUIKiYXA4ELtck=";
29 };
3031 propagatedBuildInputs = [ brotli certifi mutagen pycryptodomex websockets ];
···20 # The websites yt-dlp deals with are a very moving target. That means that
21 # downloads break constantly. Because of that, updates should always be backported
22 # to the latest stable release.
23+ version = "2022.07.18";
2425 src = fetchPypi {
26 inherit pname;
27 version = builtins.replaceStrings [ ".0" ] [ "." ] version;
28+ sha256 = "sha256-DnuB/GrI0bfT//p5+QRMpBY3hEIlgsmjWTMF2ipp7AI=";
29 };
3031 propagatedBuildInputs = [ brotli certifi mutagen pycryptodomex websockets ];