From 0059372ab2b2ebb2aac4ebdc8d134e8b5771b124 Mon Sep 17 00:00:00 2001 From: TessyJames28 Date: Tue, 1 Apr 2025 18:09:35 +0000 Subject: [PATCH] arandr: make reproducible by setting mtime=0 --- pkgs/by-name/ar/arandr/gzip-timestamp-fix.patch | 15 +++++++++++++++ pkgs/by-name/ar/arandr/package.nix | 13 ++++++++++--- 2 files changed, 25 insertions(+), 3 deletions(-) create mode 100644 pkgs/by-name/ar/arandr/gzip-timestamp-fix.patch diff --git a/pkgs/by-name/ar/arandr/gzip-timestamp-fix.patch b/pkgs/by-name/ar/arandr/gzip-timestamp-fix.patch new file mode 100644 index 000000000000..7d214afb41f2 --- /dev/null +++ b/pkgs/by-name/ar/arandr/gzip-timestamp-fix.patch @@ -0,0 +1,15 @@ +--- setup.py 2025-04-01 11:24:54.530984662 +0000 ++++ setup.py 2025-04-01 13:54:46.961341548 +0000 + +@@ -111,9 +111,11 @@ + info('compressing man page to %s', gzfile) + + if not self.dry_run: +- compressed = gzip.open(gzfile, 'w', 9) +- compressed.write(manpage) +- compressed.close() ++ with open(gzfile, 'wb') as file: ++ with gzip.GzipFile(fileobj=file, mode='wb', filename='', mtime=0, compresslevel=9) as compressed: ++ compressed.write(manpage) ++ compressed.close() ++ file.close() diff --git a/pkgs/by-name/ar/arandr/package.nix b/pkgs/by-name/ar/arandr/package.nix index 9c8f86e2c9b3..9a7b58a7b720 100644 --- a/pkgs/by-name/ar/arandr/package.nix +++ b/pkgs/by-name/ar/arandr/package.nix @@ -1,6 +1,7 @@ { lib, fetchurl, + fetchFromGitLab, python3Packages, gobject-introspection, gsettings-desktop-schemas, @@ -16,11 +17,17 @@ buildPythonApplication rec { pname = "arandr"; version = "0.1.11"; - src = fetchurl { - url = "https://christian.amsuess.com/tools/arandr/files/${pname}-${version}.tar.gz"; - hash = "sha256-5Mu+Npi7gSs5V3CHAXS+AJS7rrOREFqBH5X0LrGCrgI="; + src = fetchFromGitLab { + owner = "arandr"; + repo = "arandr"; + tag = version; + hash = "sha256-nQtfOKAnWKsy2DmvtRGJa4+Y9uGgX41BeHpd9m4d9YA="; }; + # patch to set mtime=0 on setup.py + patches = [ ./gzip-timestamp-fix.patch ]; + patchFlags = [ "-p0" ]; + preBuild = '' rm -rf data/po/* '';