74 lines
1.5 KiB
Nix
74 lines
1.5 KiB
Nix
{ naersk, fenix
|
|
, system, stdenv, fetchFromGitHub, buildEnv
|
|
, pkg-config, gettext
|
|
, openssl, postgresql
|
|
}:
|
|
|
|
let
|
|
rust = fenix.packages.${system}.complete.withComponents [
|
|
"cargo"
|
|
"rustc"
|
|
];
|
|
naersk-lib = naersk.lib."${system}".override {
|
|
cargo = rust;
|
|
rustc = rust;
|
|
};
|
|
|
|
conv = fetchFromGitHub {
|
|
owner = "DanielKeep";
|
|
repo = "rust-conv";
|
|
rev = "90a1e85edcc6d63616436a6049b08ba87c76d703";
|
|
sha256 = "029xq9cabz3scbmd84b8qkrg0q7x6fm27ijq869lkpq8bwjxvcb6";
|
|
};
|
|
|
|
src = stdenv.mkDerivation {
|
|
name = "plume-src";
|
|
src = fetchFromGitHub {
|
|
owner = "Plume-org";
|
|
repo = "Plume";
|
|
rev = "33f3bbb774ccbc05636167111db8a601a4bf5fdd";
|
|
sha256 = "1zpd7r45axps6wky1nf9ja9kyx8z5gywi5p5fgs1h1lxg9r0sfmw";
|
|
};
|
|
phases = [ "unpackPhase" "patchPhase" "installPhase" ];
|
|
patches = [
|
|
./0001-cargo-update.patch
|
|
];
|
|
postPatch = ''
|
|
ln -s ${conv} rust-conv
|
|
'';
|
|
installPhase = "cp -ar . $out";
|
|
};
|
|
|
|
plume = naersk-lib.buildPackage {
|
|
pname = "plume";
|
|
inherit src;
|
|
|
|
nativeBuildInputs = [
|
|
pkg-config gettext
|
|
];
|
|
buildInputs = [
|
|
openssl
|
|
postgresql
|
|
];
|
|
};
|
|
|
|
plm = naersk-lib.buildPackage {
|
|
pname = "plm";
|
|
root = src;
|
|
|
|
nativeBuildInputs = [
|
|
pkg-config
|
|
# gettext
|
|
];
|
|
buildInputs = [
|
|
openssl
|
|
postgresql
|
|
];
|
|
cargoBuildOptions = x: x ++ [ "--package=plume-cli" ];
|
|
};
|
|
in if true then plm else buildEnv {
|
|
name = "plume-env";
|
|
paths = [ plume plm ];
|
|
passthru = { inherit plume plm; };
|
|
}
|