Add comentario
Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
This commit is contained in:
82
packages/comentario/default.nix
Normal file
82
packages/comentario/default.nix
Normal file
@@ -0,0 +1,82 @@
|
||||
{ pkgs, ... }:
|
||||
# AUTO-UPDATE: nix-update --flake comentario --version=branch=dev --subpackage frontend
|
||||
pkgs.buildGoModule (finalAttrs: {
|
||||
pname = "comentario";
|
||||
version = "3.14.0-unstable-2025-07-20";
|
||||
|
||||
src = pkgs.fetchFromGitLab {
|
||||
owner = "comentario";
|
||||
repo = "comentario";
|
||||
# FIXME: Stable rev once type error is fixed
|
||||
rev = "beda0132c35b8bb0d102d9ab09495ddbb0a52339";
|
||||
hash = "sha256-lZAWZ31eBqWgbHez0SFVZ4cNcyM5G5RTKLp7HPacAPo=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# FIXME: https://gitlab.com/comentario/comentario/-/merge_requests/23
|
||||
./dynamic-config-env-vars.patch
|
||||
];
|
||||
|
||||
vendorHash = "sha256-dL6jkyYSa4s5qPm8VKiUBA4+yY3H4tGS2tdqUqQO8Rs=";
|
||||
|
||||
nativeBuildInputs = with pkgs; [
|
||||
go-swagger
|
||||
makeWrapper
|
||||
];
|
||||
|
||||
subPackages = [ "." ];
|
||||
|
||||
frontend = pkgs.stdenv.mkDerivation (finalFrontendAttrs: {
|
||||
inherit (finalAttrs)
|
||||
pname
|
||||
version
|
||||
src
|
||||
patches
|
||||
;
|
||||
|
||||
missingHashes = ./missing-hashes.json;
|
||||
offlineCache = pkgs.yarn-berry.fetchYarnBerryDeps {
|
||||
inherit (finalFrontendAttrs) src patches missingHashes;
|
||||
hash = "sha256-tbVYabjMOPOyAY9taptEw6qAik8btpmgf71YyJ85dRM=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = with pkgs; [
|
||||
nodejs
|
||||
openapi-generator-cli
|
||||
hugo
|
||||
yarn-berry
|
||||
yarn-berry.yarnBerryConfigHook
|
||||
];
|
||||
|
||||
env = {
|
||||
CYPRESS_INSTALL_BINARY = "0";
|
||||
YARN_NODE_LINKER = "node-modules";
|
||||
};
|
||||
|
||||
buildPhase = ''
|
||||
(cd frontend && openapi-generator-cli generate -i ../resources/swagger/swagger.yml -g typescript-angular -o generated-api)
|
||||
yarn run build:prod
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
cp -r build/frontend $out
|
||||
'';
|
||||
});
|
||||
|
||||
preBuild = ''
|
||||
go generate
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin $out/lib/${finalAttrs.pname}
|
||||
cp -r "$GOPATH/bin/${finalAttrs.pname}" $out/bin/${finalAttrs.pname}
|
||||
cp -r db templates $out/lib/${finalAttrs.pname}
|
||||
|
||||
wrapProgram $out/bin/${finalAttrs.pname} \
|
||||
--add-flags "--db-migration-path=$out/lib/${finalAttrs.pname}/db" \
|
||||
--add-flags "--template-path=$out/lib/${finalAttrs.pname}/templates" \
|
||||
--add-flags "--static-path=${finalAttrs.frontend}"
|
||||
'';
|
||||
|
||||
meta.mainProgram = finalAttrs.pname;
|
||||
})
|
Reference in New Issue
Block a user