{ pkgs, ... }: # AUTO-UPDATE: nix-update --flake comentario --version=branch=dev --subpackage frontend pkgs.buildGo125Module (finalAttrs: { pname = "comentario"; version = "3.14.0-unstable-2025-09-09"; src = pkgs.fetchFromGitLab { owner = "comentario"; repo = "comentario"; # FIXME: Stable rev once type error is fixed rev = "4abffe7cfacbcd3f2c477089747f96dd15a96f2f"; hash = "sha256-71Xh/W/SRIfbmmnimOASAxps1xGQFK3gE0ZwZ3BXOBA="; }; patches = [ # fe: dynamic configuration env vars (builtins.fetchurl { url = "https://gitlab.com/comentario/comentario/-/merge_requests/23.patch"; sha256 = "sha256:0iagj3sfjg8nb0zk673nrppsgdi3hy2crzhd84i2znwqlnhq0m5h"; }) ./superuser-claim.patch ]; vendorHash = "sha256-AOI/WnVkrSgJlT2FtYOTuifOPw8sfc4C0g/prVkvJlA="; 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-dYk85+e9C0yHZ9jYgsefStZfyQFZZku+Z4Kn7bN4Qjw="; }; 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/comentario $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; })