diff --git a/modules/athena-bccr/hm.nix b/modules/athena-bccr/hm.nix index df41f12..0678e3c 100644 --- a/modules/athena-bccr/hm.nix +++ b/modules/athena-bccr/hm.nix @@ -5,12 +5,7 @@ doctrine, ... }: let - athena = - (pkgs.${doctrine.prefix}.athena-bccr.override { - inherit (cfg) mirror; - }).${ - cfg.release - }; + athena = pkgs.${doctrine.prefix}.athena-bccr.${cfg.release}; in { home.packages = [ athena.firmador diff --git a/modules/athena-bccr/options.nix b/modules/athena-bccr/options.nix index 7b6cf93..eb61cf5 100644 --- a/modules/athena-bccr/options.nix +++ b/modules/athena-bccr/options.nix @@ -7,12 +7,6 @@ with lib.types; { description = "hash of the Gaudi client"; }; - mirror = lib.mkOption { - type = nullOr str; - default = null; - description = "release zip mirror base URL, if null then the release zip must be manually added to the Nix store"; - }; - release = lib.mkOption { type = str; default = "latest"; @@ -27,12 +21,6 @@ with lib.types; { description = "user group with full access to the smartcard reader"; }; - mirror = lib.mkOption { - type = nullOr str; - default = null; - description = "release zip mirror base URL, if null then the release zip must be manually added to the Nix store"; - }; - release = lib.mkOption { type = str; default = "latest"; diff --git a/modules/athena-bccr/sys.nix b/modules/athena-bccr/sys.nix index bd7d758..98ae904 100644 --- a/modules/athena-bccr/sys.nix +++ b/modules/athena-bccr/sys.nix @@ -6,13 +6,7 @@ doctrine, ... }: let - athena = - (pkgs.${doctrine.prefix}.athena-bccr.override { - inherit (cfg) mirror; - }).${ - cfg.release - }; - + athena = pkgs.${doctrine.prefix}.athena-bccr.${cfg.release}; inherit (athena) vendor; driver = athena.card-driver.lib; diff --git a/pkgs/athena-bccr/default.nix b/pkgs/athena-bccr/default.nix index 038220b..c4a8575 100644 --- a/pkgs/athena-bccr/default.nix +++ b/pkgs/athena-bccr/default.nix @@ -1,7 +1,6 @@ { callPackage, lib, - mirror ? null, }: let latest = "deb64-rev26.2"; @@ -19,7 +18,7 @@ pkgsForRelease = release: let inherit (unwrapped) card-driver bccr-cacerts; - unwrapped = overrideUnwrapped {inherit mirror release;} {}; + unwrapped = overrideUnwrapped {inherit release;} {}; pkcs11-module = "${card-driver.lib}/${card-driver.pkcs11-path}"; in { inherit card-driver bccr-cacerts pkcs11-module; diff --git a/pkgs/athena-bccr/unwrapped.nix b/pkgs/athena-bccr/unwrapped.nix index 848ea3e..3a70144 100644 --- a/pkgs/athena-bccr/unwrapped.nix +++ b/pkgs/athena-bccr/unwrapped.nix @@ -1,7 +1,5 @@ { - fetchurl, lib, - mirror ? null, requireFile, release, gaudiHash ? null, @@ -9,32 +7,20 @@ }: let inherit (release) srcPaths vendor; - url = - if mirror != null - then "${mirror}/${release.filename}" - else "https://soportefirmadigital.com"; - - fetchSrc = - if mirror != null - then fetchurl - else requireFile; - - src = fetchSrc { + src = requireFile { + url = "https://soportefirmadigital.com"; name = release.filename; - inherit url; inherit (release) hash; }; - gaudiUpdateSrc = { - update-gaudi, - runCommand, - }: - runCommand "gaudi-update-${release.name}.zip" { - outputHash = gaudiHash; - } '' - ${update-gaudi} $out - ''; + gaudiUpdateSrc = {update-gaudi}: + requireFile { + url = "${update-gaudi}"; + name = "gaudi-update-${release.name}.zip"; + + hash = gaudiHash; + }; moduleFromDeb = name: args @ { stdenv, @@ -190,7 +176,6 @@ in pkgs, stdenv, unzip, - runCommand, writeShellScriptBin, update-gaudi, ... @@ -201,7 +186,7 @@ in }; fakeSudo = writeShellScriptBin "sudo" ""; - gaudiUpdate = gaudiUpdateSrc {inherit runCommand update-gaudi;}; + gaudiUpdate = gaudiUpdateSrc {inherit update-gaudi;}; in moduleFromDeb "gaudi" { inherit dpkg stdenv unzip; @@ -303,20 +288,17 @@ in wget --ca-certificate="$ca_cert" "$base_url/bccr-firma-fva-clienteMultiplataforma.jar" wget --ca-certificate="$ca_cert" "$base_url/ServicioActualizadorClienteBCCR.jar" - if [ -n "$1" ]; then - zip_path="$1" - else - zip_path="$PWD/gaudi-update-${release.name}.zip" - fi - # https://gist.github.com/stokito/c588b8d6a6a0aee211393d68eea678f2 TZ=UTC find . -exec touch --no-dereference -a -m -t 198002010000.00 {} + + zip_path="$PWD/gaudi-update-${release.name}.zip" TZ=UTC zip -q --move --recurse-paths --symlinks -X "$zip_path" . TZ=UTC touch -a -m -t 198002010000.00 "$zip_path" - if [ -z "$1" ]; then - echo -e "\ngaudiHash: $(nix-hash --to-sri --type sha256 $(sha256sum "$zip_path" | cut -d' ' -f1))" - fi + set -x + nix-store --add-fixed sha256 "$zip_path" + set +x + + echo -e "\ngaudiHash: $(nix-hash --to-sri --type sha256 $(sha256sum "$zip_path" | cut -d' ' -f1))" ''; } // lib.optionalAttrs (vendor == "athena") {