[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#44039] [PATCH] gnu: Add slade.
From: |
Tobias Geerinckx-Rice |
Subject: |
[bug#44039] [PATCH] gnu: Add slade. |
Date: |
Fri, 16 Oct 2020 23:07:46 +0200 |
James,
Thanks for the patch!
James Smith 写道:
+(define-public slade
Let's keep modules vaguely alphabetical. Could you move this
above ‘tiled’?
+ (add-after 'install 'patch-gdk-backend
Nitpick: it's not patching anything.
+ ;; Set GDK_BACKEND to x11 to prevent crash on
Wayland.
+ ;; See
https://github.com/sirjuddington/SLADE/issues/1097 for details.
+ (lambda* _
No need for lambda* over lambda when you're not using any of its
extended features....
+ (string-append (assoc-ref %outputs "out")
"/bin/slade")
...however, you *could* use its keyword arguments to get rid of
this ugly %outputs pseudo-global. See below.
+ `("GDK_BACKEND" "" = (,"x11")))
This works but the "" and , are redundant.
All in all, the phase can be rewritten as:
(add-after 'install 'wrap-with-x11-gdk-backend
;; Set GDK_BACKEND to x11 to prevent crash on Wayland.
See
;; https://github.com/sirjuddington/SLADE/issues/1097
for details.
(lambda* (#:key outputs #:allow-other-keys)
(wrap-program
(string-append (assoc-ref outputs "out")
"/bin/slade")
'("GDK_BACKEND" = ("x11")))
#t)))
+ #:tests? #f))
Are there no tests at all? If so, note in a comment:
#:tests? #f)) ; no test suite
Same if there are tests but they're broken or pointless (linting
etc.).
There's one more problem:
set(ZIP_COMMAND "${ZIPTOOL_ZIP_EXECUTABLE}" -X -UN=UTF8 -9 -r \
"${CMAKE_BINARY_DIR}/slade.pk3" .)
Even zip -X won't create an identical archive on every run. There
doesn't seem to be an option to do so. The result:
--- /gnu/store/aaa-slade-3.1.12a/share/slade3/slade.pk3
+++ /gnu/store/bbb-slade-3.1.12a/share/slade3/slade.pk3
Zip file size: 3624588 bytes, number of entries: 768
-drwxr-xr-x 3.0 unx 0 b- stor 20-Oct-16 19:17 html/
-drwxr-xr-x 3.0 unx 0 b- stor 20-Oct-16 19:17 config/
-drwxr-xr-x 3.0 unx 0 b- stor 20-Oct-16 19:17 config/colours/
+drwxr-xr-x 3.0 unx 0 b- stor 20-Oct-16 19:31 html/
+drwxr-xr-x 3.0 unx 0 b- stor 20-Oct-16 19:31 config/
+drwxr-xr-x 3.0 unx 0 b- stor 20-Oct-16 19:31 config/colours/
This is not ideal: Guix aims for reproducible builds.
The following made multiple builds on one machine identical, but
was not consistent between file systems, probably due to readdir
order:
+ (add-before 'build 'reset-slade.pk3-timestamps
+ ;; This appears sufficient to make slade.pk3 reproducible.
+ (lambda _
+ (invoke "find" "../source/dist/res" "-exec" "touch"
+ "--no-dereference" "-t" "197001010000.00" "{}"
"+")))
I suppose I could try using find to sort the files before invoking
zip, or something. Thoughts?
Kind regards,
T G-R
signature.asc
Description: PGP signature