From 16babc3051a45e1a28d76c79f449595e4c9a0698 Mon Sep 17 00:00:00 2001 From: rafaelrc7 Date: Fri, 20 Mar 2026 16:42:39 -0300 Subject: [PATCH] irpf: 2025-1.7 -> 2026-1.0 --- pkgs/by-name/ir/irpf/package.nix | 37 +++++++++++++++++++------------- 1 file changed, 22 insertions(+), 15 deletions(-) diff --git a/pkgs/by-name/ir/irpf/package.nix b/pkgs/by-name/ir/irpf/package.nix index a2d5d9088685..404798b5bb71 100644 --- a/pkgs/by-name/ir/irpf/package.nix +++ b/pkgs/by-name/ir/irpf/package.nix @@ -3,7 +3,7 @@ stdenvNoCC, fetchzip, copyDesktopItems, - jdk11, + jdk17, makeDesktopItem, makeWrapper, unzip, @@ -11,10 +11,16 @@ imagemagick, writeScript, }: +let + # The officially recommended version is Java 17 + java = jdk17; + # It's not clear yet if this version follows the app version, further updates will probably solve this question + pgd-updater-version = "1.0.0"; +in stdenvNoCC.mkDerivation (finalAttrs: { pname = "irpf"; - version = "2025-1.7"; + version = "2026-1.0"; # https://www.gov.br/receitafederal/pt-br/centrais-de-conteudo/download/pgd/dirpf # Para outros sistemas operacionais -> Multi @@ -24,19 +30,9 @@ stdenvNoCC.mkDerivation (finalAttrs: { in fetchzip { url = "https://downloadirpf.receita.fazenda.gov.br/irpf/${year}/irpf/arquivos/IRPF${finalAttrs.version}.zip"; - hash = "sha256-VLB/Ni+sZ0Xugh3v7vb4rqTlAZz3eHU33lbljCX3Yic="; + hash = "sha256-hePdoDbFPOMjdSzsJqZWyFhHX138bMuocwCNpdOEkKA="; }; - passthru.updateScript = writeScript "update-irpf" '' - #!/usr/bin/env nix-shell - #!nix-shell -i bash -p curl pup common-updater-scripts - - set -eu -o pipefail - #parses the html with the install links for the containers that contain the instalation files of type 'file archive, gets the version number of each version, and sorts to get the latest one on the website - version="$(curl -s https://www.gov.br/receitafederal/pt-br/centrais-de-conteudo/download/pgd/dirpf | pup '.rfb_container .rfb_ositem:parent-of(.fa-file-archive) attr{href}' | grep -oP "IRPF\K(\d+)-[\d.]+\d" | sort -r | head -1)" - update-source-version irpf "$version" - ''; - nativeBuildInputs = [ unzip makeWrapper @@ -63,10 +59,10 @@ stdenvNoCC.mkDerivation (finalAttrs: { cp --no-preserve=mode -r help lib lib-modulos "$BASEDIR" - install -Dm644 irpf.jar Leia-me.htm offline.png online.png pgd-updater.jar "$BASEDIR" + install -Dm644 irpf.jar Leia-me.htm offline.png online.png pgd-updater-${pgd-updater-version}.jar "$BASEDIR" # make xdg-open overrideable at runtime - makeWrapper ${jdk11}/bin/java $out/bin/irpf \ + makeWrapper ${lib.getExe java} $out/bin/irpf \ --add-flags "-Dawt.useSystemAAFontSettings=gasp" \ --add-flags "-Dswing.aatext=true" \ --add-flags "-jar $BASEDIR/irpf.jar" \ @@ -78,9 +74,20 @@ stdenvNoCC.mkDerivation (finalAttrs: { unzip -jp lib/ppgd-icones-4.0.jar icones/rfb64.png | magick - -background none -gravity center -extent 96x96 $out/share/icons/hicolor/96x96/apps/rfb.png unzip -jp lib/ppgd-icones-4.0.jar icones/rfb48.png | magick - -background none -gravity center -extent 72x72 $out/share/icons/hicolor/72x72/apps/rfb.png unzip -j lib/ppgd-icones-4.0.jar icones/rfb.png -d $out/share/icons/hicolor/32x32/apps + runHook postInstall ''; + passthru.updateScript = writeScript "update-irpf" '' + #!/usr/bin/env nix-shell + #!nix-shell -i bash -p curl pup common-updater-scripts + + set -eu -o pipefail + #parses the html with the install links for the containers that contain the instalation files of type 'file archive, gets the version number of each version, and sorts to get the latest one on the website + version="$(curl -s https://www.gov.br/receitafederal/pt-br/centrais-de-conteudo/download/pgd/dirpf | pup '.rfb_container .rfb_ositem:parent-of(.fa-file-archive) attr{href}' | grep -oP "IRPF\K(\d+)-[\d.]+\d" | sort -r | head -1)" + update-source-version irpf "$version" + ''; + meta = { description = "Brazillian government application for reporting income tax"; longDescription = ''