pdfstudio: format

This commit is contained in:
aucub
2024-11-30 03:53:51 +08:00
parent aa912dbb95
commit f88894d14a
2 changed files with 78 additions and 47 deletions
+28 -25
View File
@@ -1,22 +1,23 @@
{ pname
, program
, src
, year
, version
, desktopName
, longDescription
, broken ? false
, buildFHSEnv
, extraBuildInputs ? [ ]
, jdk
, stdenv
, lib
, dpkg
, makeDesktopItem
, copyDesktopItems
, autoPatchelfHook
, sane-backends
, cups
{
pname,
program,
src,
year,
version,
desktopName,
longDescription,
broken ? false,
buildFHSEnv,
extraBuildInputs ? [ ],
jdk,
stdenv,
lib,
dpkg,
makeDesktopItem,
copyDesktopItems,
autoPatchelfHook,
sane-backends,
cups,
}:
let
thisPackage = stdenv.mkDerivation rec {
@@ -24,7 +25,7 @@ let
strictDeps = true;
buildInputs = [
sane-backends #for libsane.so.1
sane-backends # for libsane.so.1
] ++ extraBuildInputs;
nativeBuildInputs = [
@@ -70,10 +71,12 @@ in
# Package with cups in FHS sandbox, because JAVA bin expects "/usr/bin/lpr" for printing.
buildFHSEnv {
inherit pname version;
targetPkgs = pkgs: [
cups
thisPackage
];
runScript = "${program}${year}";
# link desktop item and icon into FHS user environment
@@ -84,18 +87,18 @@ buildFHSEnv {
ln -s ${thisPackage}/share/pixmaps/*.png "$out/share/pixmaps/"
'';
meta = with lib; {
meta = {
inherit broken;
homepage = "https://www.qoppa.com/${pname}/";
description = "Easy to use, full-featured PDF editing software";
longDescription = longDescription;
sourceProvenance = with sourceTypes; [
sourceProvenance = with lib.sourceTypes; [
binaryBytecode
binaryNativeCode
];
license = licenses.unfree;
platforms = platforms.linux;
license = lib.licenses.unfree;
platforms = lib.platforms.linux;
mainProgram = pname;
maintainers = [ maintainers.pwoelfel ];
maintainers = with lib.maintainers; [ pwoelfel ];
};
}
+50 -22
View File
@@ -8,29 +8,32 @@
# - year identifies the year portion of the version, defaults to most recent year.
# - pname is either "pdfstudio${year}" or "pdfstudioviewer".
{ lib
, stdenv
, program ? "pdfstudio"
, year ? "2023"
, fetchurl
, callPackage
, jdk11
, jdk17
{
lib,
stdenv,
program ? "pdfstudio",
year ? "2023",
fetchurl,
callPackage,
jdk11,
jdk17,
}:
let
longDescription = ''
PDF Studio is an easy to use, full-featured PDF editing software. This is the standard/pro edition, which requires a license. For the free PDF Studio Viewer see the package pdfstudioviewer.
'';
pname = if (program == "pdfstudio") then "${program}${year}" else program;
desktopName =
if (program == "pdfstudio")
then "PDF Studio ${year}"
else "PDF Studio Viewer";
desktopName = if (program == "pdfstudio") then "PDF Studio ${year}" else "PDF Studio Viewer";
dot2dash = str: builtins.replaceStrings [ "." ] [ "_" ] str;
in
{
pdfstudioviewer = callPackage ./common.nix rec {
inherit desktopName pname program year;
inherit
desktopName
pname
program
year
;
version = "${year}.0.3";
longDescription = ''
PDF Studio Viewer is an easy to use, full-featured PDF editing software. This is the free edition. For the standard/pro edition, see the package pdfstudio.
@@ -43,55 +46,80 @@ in
};
pdfstudio2021 = callPackage ./common.nix rec {
inherit desktopName longDescription pname program year;
inherit
desktopName
longDescription
pname
program
year
;
version = "${year}.2.2";
src = fetchurl {
url = "https://download.qoppa.com/pdfstudio/v${year}/PDFStudio_v${dot2dash version}_linux64.deb";
sha256 = "sha256-HdkwRMqwquAaW6l3AukGReFtw2f5n36tZ8vXo6QiPvU=";
};
extraBuildInputs = [
(lib.getLib stdenv.cc.cc) # for libstdc++.so.6 and libgomp.so.1
(lib.getLib stdenv.cc.cc) # for libstdc++.so.6 and libgomp.so.1
];
jdk = jdk11;
};
pdfstudio2022 = callPackage ./common.nix rec {
inherit desktopName longDescription pname program year;
inherit
desktopName
longDescription
pname
program
year
;
version = "${year}.2.5";
src = fetchurl {
url = "https://download.qoppa.com/pdfstudio/v${year}/PDFStudio_v${dot2dash version}_linux64.deb";
sha256 = "sha256-3faZyWUnFe//S+gOskWhsZ6jzHw67FRsv/xP77R1jj4=";
};
extraBuildInputs = [
(lib.getLib stdenv.cc.cc) # for libstdc++.so.6 and libgomp.so.1
(lib.getLib stdenv.cc.cc) # for libstdc++.so.6 and libgomp.so.1
];
jdk = jdk17;
};
pdfstudio2023 = callPackage ./common.nix rec {
inherit desktopName longDescription pname program year;
inherit
desktopName
longDescription
pname
program
year
;
version = "${year}.0.3";
src = fetchurl {
url = "https://download.qoppa.com/pdfstudio/v${year}/PDFStudio_v${dot2dash version}_linux64.deb";
sha256 = "sha256-Po7BMmEWoC46rP7tUwZT9Ji/Wi8lKc6WN8x47fx2DXg=";
};
extraBuildInputs = [
(lib.getLib stdenv.cc.cc) # for libstdc++.so.6 and libgomp.so.1
(lib.getLib stdenv.cc.cc) # for libstdc++.so.6 and libgomp.so.1
];
jdk = jdk17;
};
pdfstudio2024 = callPackage ./common.nix rec {
inherit desktopName longDescription pname program year;
inherit
desktopName
longDescription
pname
program
year
;
version = "${year}.0.0";
src = fetchurl {
url = "https://download.qoppa.com/pdfstudio/v${year}/PDFStudio_v${dot2dash version}_linux64.deb";
sha256 = "sha256-9TMSKtBE0+T7wRnBgtUjRr/JUmCaYdyD/7y0ML37wCM=";
};
extraBuildInputs = [
(lib.getLib stdenv.cc.cc) # for libstdc++.so.6 and libgomp.so.1
(lib.getLib stdenv.cc.cc) # for libstdc++.so.6 and libgomp.so.1
];
jdk = jdk17;
};
}.${pname}
}
.${pname}