forked from fabian/nix_config
pkgs/athena-bccr: initial commit
This commit is contained in:
parent
a69723cf87
commit
e72efe6b59
8 changed files with 425 additions and 2 deletions
62
pkgs/athena-bccr/gaudi-env.nix
Normal file
62
pkgs/athena-bccr/gaudi-env.nix
Normal file
|
@ -0,0 +1,62 @@
|
|||
{
|
||||
buildFHSEnv,
|
||||
curl,
|
||||
lib,
|
||||
writeShellScriptBin,
|
||||
gaudiHash ? null,
|
||||
unwrapped,
|
||||
}: let
|
||||
unwrappedWithGaudi = unwrapped.override {inherit gaudiHash;};
|
||||
in
|
||||
buildFHSEnv {
|
||||
name = "gaudi";
|
||||
|
||||
targetPkgs = pkgs: [
|
||||
unwrappedWithGaudi.ase-idprotect.lib
|
||||
unwrappedWithGaudi.gaudi
|
||||
|
||||
(writeShellScriptBin "launch-gaudi" ''
|
||||
set -o errexit
|
||||
set -o pipefail
|
||||
set -o nounset
|
||||
|
||||
PATH="${lib.makeBinPath [curl]}:$PATH"
|
||||
|
||||
echo "$0: testing for incompatible releases..." >&2
|
||||
|
||||
jar_name=bccr-firma-fva-clienteMultiplataforma.jar
|
||||
url="https://www.firmadigital.go.cr/Bccr.Firma.Fva.Actualizador.ClienteFirmadorJava//recursosLiberica17/actualizador/$jar_name"
|
||||
ca_file="${unwrappedWithGaudi.bccr-cacerts}/root-ca.pem"
|
||||
url_hash=$(curl -sS --cacert "$ca_file" "$url" | sha256sum | cut -d' ' -f1)
|
||||
jar_path="${unwrappedWithGaudi.gaudi}/share/java/$jar_name"
|
||||
jar_hash=$(sha256sum "$jar_path" | cut -d' ' -f1)
|
||||
|
||||
if [ "$url_hash" != "$jar_hash" ]; then
|
||||
last_modified=$(curl -sS --head --cacert "$ca_file" "$url" | grep -i '^last-modified:' | head -1)
|
||||
|
||||
echo "$0: sha256 mismatch for $jar_path due to server-side update" >&2
|
||||
echo "$0: expected: $url_hash" >&2
|
||||
echo "$0: actual: $jar_hash" >&2
|
||||
echo "$0: $last_modified" >&2
|
||||
echo "$0: run the following to download the new client JAR, then update your derivation:" >&2
|
||||
echo "$0: \$ ${unwrappedWithGaudi.update-gaudi}" >&2
|
||||
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cache_path_1="''${XDG_CACHE_HOME:-$HOME/.cache}/Agente-GAUDI"
|
||||
cache_path_2="''${XDG_CACHE_HOME:-$HOME/.cache}/Firmador-BCCR"
|
||||
|
||||
for cache_path in "$cache_path_1" "$cache_path_2"; do
|
||||
mkdir -p "$cache_path"
|
||||
ln -sf -- ${unwrappedWithGaudi.gaudi}/share/java/bccr-firma-fva-clienteMultiplataforma.jar "$cache_path"
|
||||
done
|
||||
|
||||
cp -f --no-preserve=mode -t "$cache_path_1" -- "${unwrappedWithGaudi.gaudi}/share/java/config.properties"
|
||||
|
||||
exec gaudi
|
||||
'')
|
||||
];
|
||||
|
||||
runScript = "launch-gaudi";
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue