Change:
<!-- Note that these are hard requirements --<!-- You can use the "Go to file" functionality on GitHub to find the package Then you can go to the history for this package Find the latest "packagename: oldversion -newversion" commit The "newversion" is the current version of the package --- <!-- Type the name of your package and try to find an open pull request for the package If you find an open pull request, you can review it! There's a high chance that you'll have the new version right away while helping the community! --- name: pdfstudio name: pdfstudioviewer <!-- The current version can be found easily with the same process as above for checking the master branch If an open PR is present for the package, take this version as the current one and link to the PR --current version: 2021.2.0 desired version: 2022.x.x <!-- Search your package here: If no maintainer is listed for your package, tag the person that last updated the package --maintainers: Please tag this issue in your PR.
Just purchased license for this product but can't use it as it's a 2022 license. Thanks for your help!

Discussion:
{ pname <ins> , program </ins> , src , year , version , desktopName , longDescription , buildFHSUserEnv <del> , extraBuildInputs ? [] </del> <ins> , extraBuildInputs ? [ ] , jdk </ins> , stdenv , lib , dpkg

, autoPatchelfHook , sane-backends , cups <del> , jdk11 </del> }: let thisPackage = stdenv.mkDerivation rec {

buildInputs = [ sane-backends #for libsane.so.1 <del> jdk11 </del> ] ++ extraBuildInputs; nativeBuildInputs = [

desktopItems = [ (makeDesktopItem { <del> name = "${pname}${year}"; </del> <ins> name = "${pname}"; </ins> desktopName = desktopName; genericName = "View and edit PDF files"; exec = "${pname} %f"; <del> icon = "${pname}${year}"; </del> <ins> icon = "${pname}"; </ins> comment = "Views and edits PDF files"; mimeTypes = [ "application/pdf" ]; categories = [ "Office" ]; }) ]; <del> unpackCmd = "dpkg-deb -x $src ./${pname}-${version}"; </del> <ins> unpackCmd = "dpkg-deb -x $src ./${program}-${version}"; </ins> dontBuild = true; postPatch = '' <del> substituteInPlace opt/${pname}${year}/${pname}${year} --replace "# INSTALL4J_JAVA_HOME_OVERRIDE=" "INSTALL4J_JAVA_HOME_OVERRIDE=${jdk11.out}" substituteInPlace opt/${pname}${year}/updater --replace "# INSTALL4J_JAVA_HOME_OVERRIDE=" "INSTALL4J_JAVA_HOME_OVERRIDE=${jdk11.out}" </del> <ins> substituteInPlace opt/${program}${year}/${program}${year} --replace "# INSTALL4J_JAVA_HOME_OVERRIDE=" "INSTALL4J_JAVA_HOME_OVERRIDE=${jdk.out}" substituteInPlace opt/${program}${year}/updater --replace "# INSTALL4J_JAVA_HOME_OVERRIDE=" "INSTALL4J_JAVA_HOME_OVERRIDE=${jdk.out}" </ins> ''; installPhase = '' runHook preInstall mkdir -p $out/{bin,share/pixmaps} <del> rm -rf opt/${pname}${year}/jre cp -r opt/${pname}${year} $out/share/ ln -s $out/share/${pname}${year}/.install4j/${pname}${year}.png  $out/share/pixmaps/ ln -s $out/share/${pname}${year}/${pname}${year} $out/bin/${pname} </del> <ins> rm -rf opt/${program}${year}/jre cp -r opt/${program}${year} $out/share/ ln -s $out/share/${program}${year}/.install4j/${program}${year}.png  $out/share/pixmaps/${pname}.png ln -s $out/share/${program}${year}/${program}${year} $out/bin/ </ins> runHook postInstall '';

cups thisPackage ]; <del> runScript = pname; </del> <ins> runScript = "${program}${year}"; </ins> # link desktop item and icon into FHS user environment extraInstallCommands = ''

<del> { program ? "pdfstudioviewer" </del> <ins> # For upstream versions, download links, and change logs see https://www.qoppa.com/pdfstudio/versions # # PDF Studio license is for a specific year, so we need different packages for different years. # All versions of PDF Studio Viewer are free, so we package only the latest year. # Thus, packages are pdfstudioviewer, pdfstudio2021, pdfstudio2022, etc. # Variables: # - program is either "pdfstudio" or "pdfstudioviewer", defaults to "pdfstudio". # - year identifies the year portion of the version, defaults to most recent year. # - pname is either "pdfstudio${year}" or "pdfstudioviewer". { program ? "pdfstudio" , year ? "2022" </ins> , fetchurl , libgccjit , callPackage <ins> , jdk11 , jdk17 </ins> }: <del> let makeurl = { pname, year, version }: "https://download.qoppa.com/${pname}/v${year}/${ builtins.replaceStrings [ "pdfstudio" "viewer" "." ] [ "PDFStudio" "Viewer" "_" ] "${pname}_v${version}" }_linux64.deb"; </del> <ins> 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"; dot2dash = str: builtins.replaceStrings [ "." ] [ "_" ] str; </ins> in { <del> pdfstudio = callPackage ./common.nix rec { pname = program; year = "2021"; version = "${year}.2.0"; desktopName = "PDF Studio"; </del> <ins> pdfstudioviewer = callPackage ./common.nix rec { inherit desktopName pname program year; version = "${year}.0.2"; </ins> longDescription = '' <del> 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. </del> <ins> 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. </ins> ''; <del> extraBuildInputs = [ libgccjit #for libstdc++.so.6 and libgomp.so.1 ]; </del> src = fetchurl { <del> url = makeurl { inherit pname year version; }; sha256 = "sha256-wQgVWz2kS+XkrqvCAUishizfDrCwGyVDAAU4Yzj4uYU="; </del> <ins> url = "https://web.archive.org/web/20220909093140/https://download.qoppa.com/pdfstudioviewer/PDFStudioViewer_linux64.deb"; sha256 = "sha256-za+a5vGkINLFvFoZdnB++4VGE9rfdfZf5HFNw/Af1AA="; </ins> }; <ins> jdk = jdk11; </ins> }; <del> pdfstudioviewer = callPackage ./common.nix rec { pname = program; year = "2021"; </del> <ins> pdfstudio2021 = callPackage ./common.nix rec { inherit desktopName longDescription pname program year; </ins> version = "${year}.2.0"; <del> desktopName = "PDF Studio Viewer"; 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. ''; </del> src = fetchurl { <del> url = makeurl { inherit pname year version; }; sha256 = "sha256-RjVfl3wRK4bqNwSZr2R0CNx4urHTL0QLmKdogEnySWU="; </del> <ins> url = "https://download.qoppa.com/pdfstudio/v${year}/PDFStudio_v${dot2dash version}_linux64.deb"; sha256 = "sha256-wQgVWz2kS+XkrqvCAUishizfDrCwGyVDAAU4Yzj4uYU="; }; extraBuildInputs = [ libgccjit #for libstdc++.so.6 and libgomp.so.1 ]; jdk = jdk11; }; pdfstudio2022 = callPackage ./common.nix rec { inherit desktopName longDescription pname program year; version = "${year}.0.2"; src = fetchurl { url = "https://download.qoppa.com/pdfstudio/v${year}/PDFStudio_v${dot2dash version}_linux64_adoptium17.deb"; sha256 = "sha256-fWZXCyizP++pkmC+UpgCzGvb0QrNs4RI6iC4ZBL8hLE="; </ins> }; <ins> extraBuildInputs = [ libgccjit #for libstdc++.so.6 and libgomp.so.1 ]; jdk = jdk17; </ins> }; <del> }.${program} </del> <ins> }.${pname} </ins>

pbis-open = throw "pbis-open has been removed, because it is no longer maintained upstream"; # added 2021-12-15 pdf-redact-tools = throw "pdf-redact-tools has been removed from nixpkgs because the upstream has abandoned the project"; # Added 2022-01-01 pdfmod = throw "pdfmod has been removed"; # Added 2022-01-15 <ins> pdfstudio = throw "'pdfstudio' has been replaced with 'pdfstudio<year>', where '<year>' is the year from the PDF Studio version number, because each license is specific to a given year"; # Added 2022-09-04 </ins> peach = asouldocs; # Added 2022-08-28 pentablet-driver = xp-pen-g430-driver; # Added 2022-06-23 perlXMLParser = throw "'perlXMLParser' has been renamed to/replaced by 'perlPackages.XMLParser'"; # Converted to throw 2022-02-22

foxitreader = libsForQt512.callPackage ../applications/misc/foxitreader { }; <del> pdfstudio = import ../applications/misc/pdfstudio { program = "pdfstudio"; inherit callPackage fetchurl libgccjit; </del> <ins> pdfstudio2021 = callPackage ../applications/misc/pdfstudio { year = "2021"; </ins> }; <del> pdfstudioviewer = import ../applications/misc/pdfstudio { </del> <ins> pdfstudio2022 = callPackage ../applications/misc/pdfstudio { year = "2022"; }; pdfstudioviewer = callPackage ../applications/misc/pdfstudio { </ins> program = "pdfstudioviewer"; <del> inherit callPackage fetchurl libgccjit; </del> }; aeolus = callPackage ../applications/audio/aeolus { };