diff options
author | Maciej Krüger <mkg20001@gmail.com> | 2024-04-30 21:36:30 +0200 |
---|---|---|
committer | Maciej Krüger <mkg20001@gmail.com> | 2024-04-30 22:01:59 +0200 |
commit | 9ca7f53966571deac121d34628ab2be654bf1a38 (patch) | |
tree | c73cb2b4b751a6cc2b8b938558f688e5fe3ba860 | |
parent | c4b3e961671c8dcc66a87f0a62d82eeff789fa0d (diff) |
dart.sqlcipher_flutter_libs: fix downloading sqlcipher.c from url for fluffychat
Since we don't do IFD in hydra, I use a predefined set of download URLs and replace these
-rw-r--r-- | pkgs/development/compilers/dart/package-source-builders/default.nix | 1 | ||||
-rw-r--r-- | pkgs/development/compilers/dart/package-source-builders/sqlcipher_flutter_libs/default.nix | 45 |
2 files changed, 46 insertions, 0 deletions
diff --git a/pkgs/development/compilers/dart/package-source-builders/default.nix b/pkgs/development/compilers/dart/package-source-builders/default.nix index 43f4a987a2e08..89108420b5493 100644 --- a/pkgs/development/compilers/dart/package-source-builders/default.nix +++ b/pkgs/development/compilers/dart/package-source-builders/default.nix @@ -6,6 +6,7 @@ matrix = callPackage ./matrix { }; media_kit_libs_linux = callPackage ./media_kit_libs_linux { }; olm = callPackage ./olm { }; + sqlcipher_flutter_libs = callPackage ./sqlcipher_flutter_libs { }; sqlite3 = callPackage ./sqlite3 { }; system_tray = callPackage ./system-tray { }; } diff --git a/pkgs/development/compilers/dart/package-source-builders/sqlcipher_flutter_libs/default.nix b/pkgs/development/compilers/dart/package-source-builders/sqlcipher_flutter_libs/default.nix new file mode 100644 index 0000000000000..9810140339287 --- /dev/null +++ b/pkgs/development/compilers/dart/package-source-builders/sqlcipher_flutter_libs/default.nix @@ -0,0 +1,45 @@ +{ stdenv +, fetchurl +, lib +}: + +{ version, src, ... }: + +let + artifacts = lib.mapAttrs (version: sha512: + fetchurl { + url = "https://storage.googleapis.com/simon-public-euw3/assets/sqlcipher/${version}.c"; + inherit sha512; + }) + { + v4_5_7 = "11bb454d761b994f7e44f35dabd3fc8ac3b40499d6fdc29d58a38fb9b4dcdd6eb14ff3978ceb7c6f3bd5eee4a5abeec5f0453b944268f9aaf942b0366df1e73d"; + v4_5_6 = "939ae692239adc0581211a37ed9ffa8b37c8f771c830977ecb06dc6accc4c3db767ce6abeaf91133815e2ae837785affa92f4c95b2e68cb6d563bd761f3e0cb1"; + }; +in +stdenv.mkDerivation rec { + pname = "sqlcipher_flutter_libs"; + inherit version src; + inherit (src) passthru; + + installPhase = '' + runHook preInstall + + cp -r "$src" "$out" + _replace() { + URL="https://storage.googleapis.com/simon-public-euw3/assets/sqlcipher/v$1.c" + # --replace-fail messes with the file if it fails (is empty afterwards) so we do this instead + if cat "$out/linux/CMakeLists.txt" | grep "$URL" >/dev/null 2>/dev/null; then + substituteInPlace "$out/linux/CMakeLists.txt" --replace "$URL" "file://$2" + else + return 2 + fi + } + _replace "4_5_7" "${artifacts.v4_5_7}" || \ + _replace "4_5_6" "${artifacts.v4_5_6}" || \ + (echo "unknown version of sqlcipher, please add to pkgs/development/compilers/dart/package-source-builders/sqlcipher_flutter_libs" && cat linux/CMakeLists.txt | grep "https://storage.*" -o && exit 2) + + runHook postInstall + ''; + + meta.sourceProvenance = [ lib.sourceTypes.binaryBytecode ]; +} |