72 lines
1.5 KiB
Nix
72 lines
1.5 KiB
Nix
{
|
|
lib,
|
|
fetchFromGitHub,
|
|
makeWrapper,
|
|
nix-update-script,
|
|
nodePackages,
|
|
stdenv,
|
|
xsel,
|
|
yarn-berry_4,
|
|
}:
|
|
let
|
|
yarn-berry = yarn-berry_4;
|
|
in
|
|
stdenv.mkDerivation (finalAttrs: {
|
|
pname = "dokieli";
|
|
version = "0-unstable-2025-08-04";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "dokieli";
|
|
repo = "dokieli";
|
|
rev = "64374c6b9a53b68ae7921604a1fbe231d3e4f067";
|
|
hash = "sha256-5baBKXmOxS0BOKNedMSbmw21rDBONZwmim9hlXn5OzQ=";
|
|
};
|
|
|
|
missingHashes = ./missing-hashes.json;
|
|
offlineCache = yarn-berry.fetchYarnBerryDeps {
|
|
inherit (finalAttrs) src missingHashes;
|
|
hash = "sha256-4SK1ecjEnnaow5Z2biCPaHirpX6J/5cytQWWicPgmB0=";
|
|
};
|
|
|
|
installPhase = ''
|
|
runHook preInstall
|
|
|
|
mkdir -p $out/bin
|
|
cp -r * $out
|
|
|
|
runHook postInstall
|
|
'';
|
|
|
|
nativeBuildInputs = [
|
|
makeWrapper
|
|
yarn-berry.yarnBerryConfigHook
|
|
];
|
|
|
|
postFixup =
|
|
let
|
|
serve = lib.getExe' nodePackages.serve "serve";
|
|
in
|
|
''
|
|
makeWrapper ${serve} $out/bin/dokieli \
|
|
--prefix PATH : ${lib.makeBinPath [ xsel ]} \
|
|
--chdir $out
|
|
'';
|
|
|
|
passthru.updateScript = nix-update-script {
|
|
extraArgs = [ "--version=branch" ];
|
|
};
|
|
|
|
meta = {
|
|
description = "Clientside editor for decentralised article publishing, annotations and social interactions";
|
|
homepage = "https://github.com/linkeddata/dokieli";
|
|
license = with lib.licenses; [
|
|
cc-by-40
|
|
mit
|
|
];
|
|
platforms = lib.platforms.all;
|
|
maintainers = with lib.maintainers; [ shogo ];
|
|
teams = [ lib.teams.ngi ];
|
|
mainProgram = "dokieli";
|
|
};
|
|
})
|