From 0384323c9d000b1bdc82e0d1ce2145ebf6db6a8d Mon Sep 17 00:00:00 2001 From: Malo Bourgon Date: Tue, 26 Apr 2022 14:16:43 -0700 Subject: [PATCH 1/2] adguardhome: fix eval error when source does not exist --- pkgs/servers/adguardhome/default.nix | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/pkgs/servers/adguardhome/default.nix b/pkgs/servers/adguardhome/default.nix index 8b0c743856d..be3943c9fad 100644 --- a/pkgs/servers/adguardhome/default.nix +++ b/pkgs/servers/adguardhome/default.nix @@ -1,10 +1,14 @@ { lib, stdenv, fetchurl, fetchzip, nixosTests }: +let + inherit (stdenv.hostPlatform) system; + sources = import ./bins.nix { inherit fetchurl fetchzip; }; +in + stdenv.mkDerivation rec { pname = "adguardhome"; version = "0.107.6"; - - src = (import ./bins.nix { inherit fetchurl fetchzip; }).${stdenv.hostPlatform.system}; + src = sources.${system} or (throw "Source for ${pname} is not available for ${system}"); installPhase = '' install -m755 -D ./AdGuardHome $out/bin/adguardhome @@ -18,7 +22,7 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://github.com/AdguardTeam/AdGuardHome"; description = "Network-wide ads & trackers blocking DNS server"; - platforms = [ "x86_64-linux" "aarch64-linux" "i686-linux" "x86_64-darwin" ]; + platforms = builtins.attrNames sources; maintainers = with maintainers; [ numkem iagoq ]; license = licenses.gpl3Only; }; From 141ef7d1c90ee7858bc2b5205123386983d6e463 Mon Sep 17 00:00:00 2001 From: Malo Bourgon Date: Wed, 27 Apr 2022 11:57:25 -0700 Subject: [PATCH 2/2] adguardhome: add source for aarch64-darwin --- pkgs/servers/adguardhome/bins.nix | 12 ++++++++---- pkgs/servers/adguardhome/update.sh | 5 +++-- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/pkgs/servers/adguardhome/bins.nix b/pkgs/servers/adguardhome/bins.nix index 96b2e9491fe..bbcc7cf5489 100644 --- a/pkgs/servers/adguardhome/bins.nix +++ b/pkgs/servers/adguardhome/bins.nix @@ -1,18 +1,22 @@ { fetchurl, fetchzip }: { -"x86_64-darwin" = fetchzip { +x86_64-darwin = fetchzip { sha256 = "sha256-vUOdHDyvVg+8GhctW925WfjONi7TnPRfVfXmehOweB4="; url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.6/AdGuardHome_darwin_amd64.zip"; }; -"i686-linux" = fetchurl { +aarch64-darwin = fetchzip { + sha256 = "sha256-3JmMvxd317Qmyrv7vWyfQsLol+yPuKBXHByt5YRrbX8="; + url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.6/AdGuardHome_darwin_arm64.zip"; +}; +i686-linux = fetchurl { sha256 = "sha256-A6IsDRbRHyU0+IUKkrudKvlKiJkVNNs12MrKQ6RlpMQ="; url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.6/AdGuardHome_linux_386.tar.gz"; }; -"x86_64-linux" = fetchurl { +x86_64-linux = fetchurl { sha256 = "sha256-nPcqAk0m1e9izkylBuNcatHESgvSewR+MKmVdz+HBec="; url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.6/AdGuardHome_linux_amd64.tar.gz"; }; -"aarch64-linux" = fetchurl { +aarch64-linux = fetchurl { sha256 = "sha256-ITkZdVU03FG9AUAMgD6nlCyioPJX357wB9m1jYdPlS4="; url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.6/AdGuardHome_linux_arm64.tar.gz"; }; diff --git a/pkgs/servers/adguardhome/update.sh b/pkgs/servers/adguardhome/update.sh index 69f1d8e97fd..5f436bb126d 100755 --- a/pkgs/servers/adguardhome/update.sh +++ b/pkgs/servers/adguardhome/update.sh @@ -18,9 +18,10 @@ systems[linux_386]=i686-linux systems[linux_amd64]=x86_64-linux systems[linux_arm64]=aarch64-linux systems[darwin_amd64]=x86_64-darwin +systems[darwin_arm64]=aarch64-darwin echo '{ fetchurl, fetchzip }:' > "$bins" -echo '{' >> "$bins" +echo '{' >> "$bins" for asset in $(curl --silent https://api.github.com/repos/AdguardTeam/AdGuardHome/releases/latest | jq -c '.assets[]') ; do url="$(jq -r '.browser_download_url' <<< "$asset")" @@ -29,7 +30,7 @@ for asset in $(curl --silent https://api.github.com/repos/AdguardTeam/AdGuardHom fetch="$(grep '\.zip$' <<< "$url" > /dev/null && echo fetchzip || echo fetchurl)" nix_system=${systems[$adg_system]} nix_src="$(nix-prefetch -s --output nix $fetch --url $url)" - echo "\"$nix_system\" = $fetch $nix_src;" >> $bins + echo "$nix_system = $fetch $nix_src;" >> $bins fi done