summaryrefslogtreecommitdiffstats
path: root/pkgs/servers/adguardhome
diff options
context:
space:
mode:
authoriagocq <18238046+iagocq@users.noreply.github.com>2021-05-22 09:09:35 -0300
committeriagocq <18238046+iagocq@users.noreply.github.com>2021-09-19 00:36:05 -0300
commit12c6592208ce632106b76c975789c617552547e6 (patch)
tree89b6b04d92d512fe4245ade6f457d99105dc477a /pkgs/servers/adguardhome
parent1b01b72d85d78a4f586a35a141d062939682e897 (diff)
adguardhome: 0.105.2 -> 0.106.3
Diffstat (limited to 'pkgs/servers/adguardhome')
-rw-r--r--pkgs/servers/adguardhome/bins.nix19
-rw-r--r--pkgs/servers/adguardhome/default.nix17
-rwxr-xr-xpkgs/servers/adguardhome/update.sh38
3 files changed, 66 insertions, 8 deletions
diff --git a/pkgs/servers/adguardhome/bins.nix b/pkgs/servers/adguardhome/bins.nix
new file mode 100644
index 000000000000..2489bd7a79d4
--- /dev/null
+++ b/pkgs/servers/adguardhome/bins.nix
@@ -0,0 +1,19 @@
+{ fetchurl, fetchzip }:
+{
+"x86_64-darwin" = fetchzip {
+ sha256 = "sha256-ec1l4KxKJH4Iwg9hW+xlxLADGLN1vParYaWIw7nCfKA=";
+ url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.106.3/AdGuardHome_darwin_amd64.zip";
+};
+"i686-linux" = fetchurl {
+ sha256 = "sha256-9aGyC76WyzwHlAkR72kuNcd/68XdWWC3gfT92IuW2LY=";
+ url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.106.3/AdGuardHome_linux_386.tar.gz";
+};
+"x86_64-linux" = fetchurl {
+ sha256 = "sha256-qJMymTxmoPlIhuJD6zFBWWwzz+CFx+9+MOrRiFtA4IY=";
+ url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.106.3/AdGuardHome_linux_amd64.tar.gz";
+};
+"aarch64-linux" = fetchurl {
+ sha256 = "sha256-Z5hekNxeemqWsMu7n3UTmYCzdKp5Xsp9ku0G2LOqC80=";
+ url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.106.3/AdGuardHome_linux_arm64.tar.gz";
+};
+}
diff --git a/pkgs/servers/adguardhome/default.nix b/pkgs/servers/adguardhome/default.nix
index 009b64666002..34f64edc6ba3 100644
--- a/pkgs/servers/adguardhome/default.nix
+++ b/pkgs/servers/adguardhome/default.nix
@@ -1,23 +1,24 @@
-{ lib, stdenv, fetchurl }:
+{ lib, stdenv, fetchurl, fetchzip, system ? stdenv.targetPlatform }:
stdenv.mkDerivation rec {
pname = "adguardhome";
version = "0.106.3";
- src = fetchurl {
- url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v${version}/AdGuardHome_linux_amd64.tar.gz";
- sha256 = "11p081dqilga61zfziw5w37k6v2r84qynhz2hr4gk8367jck54x8";
- };
+ src = (import ./bins.nix { inherit fetchurl fetchzip; }).${system};
installPhase = ''
install -m755 -D ./AdGuardHome $out/bin/adguardhome
'';
+ passthru = {
+ updateScript = ./update.sh;
+ };
+
meta = with lib; {
homepage = "https://github.com/AdguardTeam/AdGuardHome";
description = "Network-wide ads & trackers blocking DNS server";
- platforms = platforms.linux;
- maintainers = with maintainers; [ numkem ];
- license = licenses.gpl3;
+ platforms = [ "x86_64-linux" "aarch64-linux" "i686-linux" "x86_64-darwin" ];
+ maintainers = with maintainers; [ numkem iagoq ];
+ license = licenses.gpl3Only;
};
}
diff --git a/pkgs/servers/adguardhome/update.sh b/pkgs/servers/adguardhome/update.sh
new file mode 100755
index 000000000000..69f1d8e97fde
--- /dev/null
+++ b/pkgs/servers/adguardhome/update.sh
@@ -0,0 +1,38 @@
+#! /usr/bin/env nix-shell
+#! nix-shell -i bash -p curl gnugrep nix-prefetch jq
+
+# This file is based on /pkgs/servers/gotify/update.sh
+
+set -euo pipefail
+
+dirname="$(dirname "$0")"
+bins="$dirname/bins.nix"
+
+latest_release=$(curl --silent https://api.github.com/repos/AdguardTeam/AdGuardHome/releases/latest)
+version=$(jq -r '.tag_name' <<<"$latest_release")
+
+echo "got version $version"
+
+declare -A systems
+systems[linux_386]=i686-linux
+systems[linux_amd64]=x86_64-linux
+systems[linux_arm64]=aarch64-linux
+systems[darwin_amd64]=x86_64-darwin
+
+echo '{ fetchurl, fetchzip }:' > "$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")"
+ adg_system="$(grep -Eo '(darwin|linux)_(386|amd64|arm64)' <<< "$url" || true)"
+ if [ -n "$adg_system" ]; then
+ 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
+ fi
+done
+
+echo '}' >> "$bins"
+
+sed -i -r -e "s/version\s*?=\s*?.*?;/version = \"${version#v}\";/" "$dirname/default.nix"