111 lines
2.6 KiB
Nix
111 lines
2.6 KiB
Nix
{
|
|
lib,
|
|
stdenvNoCC,
|
|
fetchFromGitHub,
|
|
callPackage,
|
|
esbuild,
|
|
buildGoModule,
|
|
nixosTests,
|
|
nix-update-script,
|
|
}:
|
|
|
|
stdenvNoCC.mkDerivation (finalAttrs: {
|
|
pname = "fider";
|
|
version = "0.24.0";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "getfider";
|
|
repo = "fider";
|
|
tag = "v${finalAttrs.version}";
|
|
hash = "sha256-nzOplwsE0ppmxbTrNAgePnIQIAD/5Uu4gXlebFKWGfc=";
|
|
};
|
|
|
|
dontConfigure = true;
|
|
dontBuild = true;
|
|
|
|
# Allow easier version overrides, e.g.:
|
|
# pkgs.fider.overrideAttrs (prev: {
|
|
# version = "...";
|
|
# src = prev.src.override {
|
|
# hash = "...";
|
|
# };
|
|
# vendorHash = "...";
|
|
# npmDepsHash = "...";
|
|
# })
|
|
vendorHash = "sha256-CfopU72fpXiTaBtdf9A57Wb+flDu2XEtTISxImeJLL0=";
|
|
npmDepsHash = "sha256-gnboT5WQzftOCZ2Ouuza7bqpxJf+Zs7OWC8OHMZNHvw=";
|
|
|
|
server = callPackage ./server.nix {
|
|
inherit (finalAttrs)
|
|
pname
|
|
version
|
|
src
|
|
vendorHash
|
|
;
|
|
};
|
|
frontend = callPackage ./frontend.nix {
|
|
inherit (finalAttrs)
|
|
pname
|
|
version
|
|
src
|
|
npmDepsHash
|
|
;
|
|
# We specify the esbuild override here instead of in frontend.nix so end users can
|
|
# again easily override it if necessary, for example when changing to an unreleased
|
|
# version of fider requiring a newer esbuild than specified here:
|
|
# pkgs.fider.overrideAttrs (prev: {
|
|
# frontend = prev.frontend.override {
|
|
# esbuild = ...;
|
|
# };
|
|
# })
|
|
esbuild = esbuild.override {
|
|
buildGoModule =
|
|
args:
|
|
buildGoModule (
|
|
args
|
|
// rec {
|
|
version = "0.14.38";
|
|
src = fetchFromGitHub {
|
|
owner = "evanw";
|
|
repo = "esbuild";
|
|
tag = "v${version}";
|
|
hash = "sha256-rvMi1oC7qGidvi4zrm9KCMMntu6LJGVOGN6VmU2ivQE=";
|
|
};
|
|
vendorHash = "sha256-QPkBR+FscUc3jOvH7olcGUhM6OW4vxawmNJuRQxPuGs=";
|
|
}
|
|
);
|
|
};
|
|
};
|
|
|
|
installPhase = ''
|
|
runHook preInstall
|
|
|
|
mkdir -p $out/etc
|
|
cp -r locale views migrations $out/
|
|
cp -r etc/*.md $out/etc/
|
|
ln -s ${finalAttrs.server}/* $out/
|
|
ln -s ${finalAttrs.frontend}/* $out/
|
|
|
|
runHook postInstall
|
|
'';
|
|
|
|
passthru = {
|
|
tests = {
|
|
inherit (nixosTests) fider;
|
|
};
|
|
updateScript = nix-update-script { };
|
|
};
|
|
|
|
meta = {
|
|
description = "Open platform to collect and prioritize feedback";
|
|
homepage = "https://github.com/getfider/fider";
|
|
changelog = "https://github.com/getfider/fider/releases/tag/${finalAttrs.src.tag}";
|
|
license = lib.licenses.agpl3Only;
|
|
mainProgram = "fider";
|
|
maintainers = with lib.maintainers; [
|
|
drupol
|
|
niklaskorz
|
|
];
|
|
};
|
|
})
|