92 lines
1.8 KiB
Nix
92 lines
1.8 KiB
Nix
{ pkgs }:
|
|
|
|
let
|
|
pname = "zugferd-manager";
|
|
version = "1.3.2";
|
|
|
|
src = pkgs.fetchurl {
|
|
url = "https://github.com/OpenIndex/ZUGFeRD-Manager/releases/download/v${version}/ZUGFeRD-Manager-${version}-linux-x64.tar.gz";
|
|
hash = "sha256-5zhJU1PALzL5XWOaw/9ZpzmgRYw9OzSPL4/kRW+fqxI=";
|
|
};
|
|
|
|
rawApp = pkgs.stdenv.mkDerivation {
|
|
pname = "${pname}-raw";
|
|
inherit version src;
|
|
|
|
installPhase = ''
|
|
runHook preInstall
|
|
mkdir -p $out/opt/zugferd-manager
|
|
cp -r * $out/opt/zugferd-manager/
|
|
runHook postInstall
|
|
'';
|
|
};
|
|
|
|
fhs = pkgs.buildFHSEnv {
|
|
name = pname;
|
|
|
|
targetPkgs = p: with p; [
|
|
# X11 / AWT (modern top-level attribute names)
|
|
libX11
|
|
libXext
|
|
libXtst
|
|
libXi
|
|
libXrender
|
|
libXrandr
|
|
libXcursor
|
|
libXcomposite
|
|
libXdamage
|
|
libXfixes
|
|
libxcb
|
|
libxkbfile
|
|
|
|
# Rendering / Skiko
|
|
libGL
|
|
mesa
|
|
freetype
|
|
fontconfig
|
|
|
|
# Desktop / GTK / WebKit / JCEF
|
|
glib
|
|
gtk3
|
|
nss
|
|
nspr
|
|
alsa-lib
|
|
cups
|
|
pango
|
|
cairo
|
|
at-spi2-atk
|
|
libxkbcommon
|
|
zlib
|
|
stdenv.cc.cc.lib
|
|
];
|
|
|
|
runScript = "${rawApp}/opt/zugferd-manager/bin/ZUGFeRD-Manager";
|
|
};
|
|
|
|
in
|
|
pkgs.symlinkJoin {
|
|
name = "${pname}-${version}";
|
|
paths = [ fhs ];
|
|
|
|
postBuild = ''
|
|
mkdir -p $out/share/applications
|
|
cat > $out/share/applications/zugferd-manager.desktop <<EOF
|
|
[Desktop Entry]
|
|
Type=Application
|
|
Name=ZUGFeRD Manager
|
|
Comment=ZUGFeRD / Factur-X e-invoicing tool
|
|
Exec=$out/bin/${pname}
|
|
Icon=accessories-calculator
|
|
Categories=Office;Finance;
|
|
Terminal=false
|
|
EOF
|
|
'';
|
|
|
|
meta = with pkgs.lib; {
|
|
description = "OpenIndex ZUGFeRD-Manager";
|
|
homepage = "https://github.com/OpenIndex/ZUGFeRD-Manager";
|
|
license = licenses.gpl3Plus;
|
|
platforms = [ "x86_64-linux" ];
|
|
mainProgram = pname;
|
|
};
|
|
}
|