55 lines
1.6 KiB
Nix
55 lines
1.6 KiB
Nix
{
|
|
stdenv,
|
|
fetchurl,
|
|
lib,
|
|
}:
|
|
|
|
{ version, src, ... }:
|
|
|
|
let
|
|
artifacts =
|
|
lib.mapAttrs
|
|
(version: hash: rec {
|
|
file = fetchurl {
|
|
inherit url hash;
|
|
};
|
|
url =
|
|
if lib.versionOlder version "v4_6_1" then
|
|
"https://storage.googleapis.com/simon-public-euw3/assets/sqlcipher/${version}.c"
|
|
else
|
|
"https://fsn1.your-objectstorage.com/simon-public/assets/sqlcipher/${version}.c";
|
|
})
|
|
{
|
|
v4_8_0 = "sha256-nfYmi9PJlMbLqiFRksOIUXYHgD8LL2AVey9GCUc03Jw=";
|
|
v4_6_1 = "sha256-8kBJiy8g1odpBQQUF5A7f9g3+WStbJTARyfvAi84YVE=";
|
|
v4_5_7 = "sha256-lDgSEVGZcoruF7nAp0C2kr6TN7XllpMzMVi/R1XfGP4=";
|
|
v4_5_6 = "sha256-evZl3JUeyAfW0fGJ0EfFQs64Z/yRCZGeOeDGgXrFHFU=";
|
|
};
|
|
in
|
|
stdenv.mkDerivation rec {
|
|
pname = "sqlcipher_flutter_libs";
|
|
inherit version src;
|
|
inherit (src) passthru;
|
|
|
|
installPhase = ''
|
|
runHook preInstall
|
|
|
|
cp -r "$src" "$out"
|
|
_replace() {
|
|
# --replace-fail messes with the file if it fails (is empty afterwards) so we do this instead
|
|
if cat "$out/linux/CMakeLists.txt" | grep "$1" >/dev/null 2>/dev/null; then
|
|
substituteInPlace "$out/linux/CMakeLists.txt" --replace "$1" "file://$2"
|
|
else
|
|
return 2
|
|
fi
|
|
}
|
|
|
|
${lib.concatMapAttrsStringSep " || " (_: v: ''_replace "${v.url}" "${v.file}"'') artifacts} || \
|
|
(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 ];
|
|
}
|