all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* [bug#44039] [PATCH] gnu: Add slade.
@ 2020-10-16 18:43 James Smith
  2020-10-16 21:07 ` Tobias Geerinckx-Rice via Guix-patches via
                   ` (2 more replies)
  0 siblings, 3 replies; 12+ messages in thread
From: James Smith @ 2020-10-16 18:43 UTC (permalink / raw)
  To: 44039; +Cc: James Smith

* gnu/packages/game-development.scm (slade): New variable.
---
 gnu/packages/game-development.scm | 56 ++++++++++++++++++++++++++++++-
 1 file changed, 55 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
index 96ed2f9da4..55d60d03a3 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -20,6 +20,7 @@
 ;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
 ;;; Copyright © 2020 Timotej Lazar <timotej.lazar@araneo.si>
 ;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org>
+;;; Copyright © 2020 James Smith <jsubuntuxp@disroot.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -37,7 +38,7 @@
 ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 
 (define-module (gnu packages game-development)
-  #:use-module (srfi srfi-1)
+  #:use-module ((srfi srfi-1) #:hide (zip))
   #:use-module (ice-9 match)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
@@ -94,6 +95,7 @@
   #:use-module (gnu packages tls)
   #:use-module (gnu packages video)
   #:use-module (gnu packages web)
+  #:use-module (gnu packages wxwidgets)
   #:use-module (gnu packages xdisorg)
   #:use-module (gnu packages xiph)
   #:use-module (gnu packages xml)
@@ -2505,3 +2507,55 @@ fully dynamic omnidirectional shadows, global illumination, HDR lighting,
 deferred shading, morphological / temporal / multisample anti-aliasing, and
 much more.")
       (license license:zlib))))
+
+(define-public slade
+  (package
+    (name "slade")
+    (version "3.1.12a")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/sirjuddington/SLADE")
+             (commit version)))
+       (sha256 (base32 "1q37pqibnrbdd7zjx7h2kfi0q9nc63cc96q9ya4x3fvsrf64n6yd"))
+       (file-name (git-file-name name version))))
+    (build-system cmake-build-system)
+    (arguments
+     '(#:configure-flags
+       (list "-DWX_GTK3=ON" "-DNO_WEBVIEW=ON"
+             (string-append "-DWITH_WXPATH="
+                            (assoc-ref %build-inputs "wxwidgets") "/bin")
+             (string-append "-DwxWidgets_LIBRARIES="
+                            (assoc-ref %build-inputs "wxwidgets") "/lib"))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'install 'patch-gdk-backend
+           ;; Set GDK_BACKEND to x11 to prevent crash on Wayland.
+           ;; See https://github.com/sirjuddington/SLADE/issues/1097 for details.
+           (lambda* _
+             (wrap-program
+                 (string-append (assoc-ref %outputs "out") "/bin/slade")
+               `("GDK_BACKEND" "" = (,"x11")))
+             #t)))
+       #:tests? #f))
+    (inputs
+     `(("curl" ,curl)
+       ("fluidsynth" ,fluidsynth)
+       ("freeimage" ,freeimage)
+       ("ftgl" ,ftgl)
+       ("glew" ,glew)
+       ("gtk+" ,gtk+)
+       ("sfml" ,sfml)
+       ("wxwidgets" ,wxwidgets-3.1)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("which" ,which)
+       ("zip" ,zip)))
+    (home-page "https://slade.mancubus.net")
+    (synopsis "Doom game data editor")
+    (description "SLADE3 is a modern editor for Doom-engine based games and
+source ports.  It has the ability to view, modify, and write many different game-
+specific formats, and even convert between some of them, or from/to other generic
+formats such as PNG.")
+    (license license:gpl2)))
-- 
2.28.0





^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [bug#44039] [PATCH] gnu: Add slade.
  2020-10-16 18:43 [bug#44039] [PATCH] gnu: Add slade James Smith
@ 2020-10-16 21:07 ` Tobias Geerinckx-Rice via Guix-patches via
  2020-10-16 21:14   ` Tobias Geerinckx-Rice via Guix-patches via
                     ` (2 more replies)
  2021-05-15 20:52 ` James Smith
  2021-09-18 17:47 ` [bug#44039] [PATCH v3] " James Smith via Guix-patches via
  2 siblings, 3 replies; 12+ messages in thread
From: Tobias Geerinckx-Rice via Guix-patches via @ 2020-10-16 21:07 UTC (permalink / raw)
  To: James Smith; +Cc: 44039

[-- Attachment #1: Type: text/plain, Size: 2980 bytes --]

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

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 247 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [bug#44039] [PATCH] gnu: Add slade.
  2020-10-16 21:07 ` Tobias Geerinckx-Rice via Guix-patches via
@ 2020-10-16 21:14   ` Tobias Geerinckx-Rice via Guix-patches via
  2020-10-17  0:41   ` James Smith
  2020-10-28 14:54   ` Ludovic Courtès
  2 siblings, 0 replies; 12+ messages in thread
From: Tobias Geerinckx-Rice via Guix-patches via @ 2020-10-16 21:14 UTC (permalink / raw)
  To: 44039; +Cc: jsubuntuxp


[-- Attachment #1.1: Type: text/plain, Size: 112 bytes --]

Tobias Geerinckx-Rice via Guix-patches via 写道:
> All in all, the phase can be rewritten as:

Grumble:

[-- Attachment #1.2: Type: text/plain, Size: 454 bytes --]

         (add-after 'install 'patch-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)))

[-- Attachment #1.3: Type: text/plain, Size: 22 bytes --]


Kind regards,

T G-R

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 247 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [bug#44039] [PATCH] gnu: Add slade.
  2020-10-16 21:07 ` Tobias Geerinckx-Rice via Guix-patches via
  2020-10-16 21:14   ` Tobias Geerinckx-Rice via Guix-patches via
@ 2020-10-17  0:41   ` James Smith
  2020-10-28 14:54   ` Ludovic Courtès
  2 siblings, 0 replies; 12+ messages in thread
From: James Smith @ 2020-10-17  0:41 UTC (permalink / raw)
  To: Tobias Geerinckx-Rice; +Cc: 44039, jsubuntuxp

[-- Attachment #1: Type: text/plain, Size: 3032 bytes --]

Tobias,

On Fri, 16 Oct 2020 14:07:46 -0700,
Tobias Geerinckx-Rice wrote:

>  
>> +(define-public slade
>> 
> Let's keep modules vaguely alphabetical.  Could you move this above
> 
> ‘tiled’?
> 
Sure thing, I didn't see anything in the manual about sorting alphabetically and
other definitions weren't in order either.

>  
>> +         (add-after 'install 'patch-gdk-backend
>> 
> Nitpick: it's not patching anything.
> 
Now that you point that out, patch wasn't the word I was looking for.

>  
>> +               `("GDK_BACKEND" "" = (,"x11")))
>> 
> This works but the "" and , are redundant.
> 
Thanks for pointing that out, I didn't see any existing examples doing it that
way.

> 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)))
> 
Done.

>  
>> +       #:tests? #f))
>> 
> Are there no tests at all?  If so, note in a comment:
> 
> #:tests? #f))                    ; no test suite
> 
Yeah, no tests.

> 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.
> 
I didn't think to check zip-compressed files.

> 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?
> 
Unless there's a better way, let's do that.

Thanks for your help,

James Smith


[-- Attachment #2: v2-0001-gnu-Add-slade.patch --]
[-- Type: text/plain, Size: 4167 bytes --]

From 5035bc25a050ce6f81538000b59df05fb02b7e65 Mon Sep 17 00:00:00 2001
From: James Smith <jsubuntuxp@disroot.org>
Date: Fri, 16 Oct 2020 11:24:14 -0700
Subject: [PATCH v2] gnu: Add slade.

* gnu/packages/game-development.scm (slade): New variable.
---
 gnu/packages/game-development.scm | 63 ++++++++++++++++++++++++++++++-
 1 file changed, 62 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
index 96ed2f9da4..807b37b4e6 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -20,6 +20,7 @@
 ;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
 ;;; Copyright © 2020 Timotej Lazar <timotej.lazar@araneo.si>
 ;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org>
+;;; Copyright © 2020 James Smith <jsubuntuxp@disroot.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -37,7 +38,7 @@
 ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 
 (define-module (gnu packages game-development)
-  #:use-module (srfi srfi-1)
+  #:use-module ((srfi srfi-1) #:hide (zip))
   #:use-module (ice-9 match)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
@@ -94,6 +95,7 @@
   #:use-module (gnu packages tls)
   #:use-module (gnu packages video)
   #:use-module (gnu packages web)
+  #:use-module (gnu packages wxwidgets)
   #:use-module (gnu packages xdisorg)
   #:use-module (gnu packages xiph)
   #:use-module (gnu packages xml)
@@ -441,6 +443,65 @@ GUI toolkit, lighting and physics frameworks and @code{Tiled} TMX format
 support.")
     (license license:gpl3+)))
 
+(define-public slade
+  (package
+    (name "slade")
+    (version "3.1.12a")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/sirjuddington/SLADE")
+             (commit version)))
+       (sha256 (base32 "1q37pqibnrbdd7zjx7h2kfi0q9nc63cc96q9ya4x3fvsrf64n6yd"))
+       (file-name (git-file-name name version))))
+    (build-system cmake-build-system)
+    (arguments
+     '(#:configure-flags
+       (list "-DWX_GTK3=ON" "-DNO_WEBVIEW=ON"
+             (string-append "-DWITH_WXPATH="
+                            (assoc-ref %build-inputs "wxwidgets") "/bin")
+             (string-append "-DwxWidgets_LIBRARIES="
+                            (assoc-ref %build-inputs "wxwidgets") "/lib"))
+       #:phases
+       (modify-phases %standard-phases
+         (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" "{}"
+                     "+")))
+         (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)) ;; No test suite.
+    (inputs
+     `(("curl" ,curl)
+       ("fluidsynth" ,fluidsynth)
+       ("freeimage" ,freeimage)
+       ("ftgl" ,ftgl)
+       ("glew" ,glew)
+       ("gtk+" ,gtk+)
+       ("sfml" ,sfml)
+       ("wxwidgets" ,wxwidgets-3.1)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("which" ,which)
+       ("zip" ,zip)))
+    (home-page "https://slade.mancubus.net")
+    (synopsis "Doom game data editor")
+    (description "SLADE3 is a modern editor for Doom-engine based games and
+source ports.  It has the ability to view, modify, and write many different game-
+specific formats, and even convert between some of them, or from/to other generic
+formats such as PNG.")
+    (license license:gpl2)))
+
 (define-public tiled
   (package
     (name "tiled")
-- 
2.28.0


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [bug#44039] [PATCH] gnu: Add slade.
  2020-10-16 21:07 ` Tobias Geerinckx-Rice via Guix-patches via
  2020-10-16 21:14   ` Tobias Geerinckx-Rice via Guix-patches via
  2020-10-17  0:41   ` James Smith
@ 2020-10-28 14:54   ` Ludovic Courtès
  2020-10-29  2:49     ` James Smith
  2 siblings, 1 reply; 12+ messages in thread
From: Ludovic Courtès @ 2020-10-28 14:54 UTC (permalink / raw)
  To: Tobias Geerinckx-Rice; +Cc: James Smith, 44039

Hi,

Tobias Geerinckx-Rice <me@tobias.gr> skribis:

> 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" "{}" "+")))

It’s surprising that this is necessary because the ‘unpack’ phase copies
the source directory preserving the mtime of files and since those files
are in the store, their mtime is 1:

        ;; Preserve timestamps (set to the Epoch) on the copied tree so that
        ;; things work deterministically.
        (copy-recursively source "."
                          #:keep-mtime? #t)

Thoughts?

Anyhow, we can probably push v2.

Thanks,
Ludo’.




^ permalink raw reply	[flat|nested] 12+ messages in thread

* [bug#44039] [PATCH] gnu: Add slade.
  2020-10-28 14:54   ` Ludovic Courtès
@ 2020-10-29  2:49     ` James Smith
  2020-10-29 23:39       ` Ludovic Courtès
  0 siblings, 1 reply; 12+ messages in thread
From: James Smith @ 2020-10-29  2:49 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: Tobias Geerinckx-Rice, James Smith, 44039

I have a couple of questions since I'm new to this sort of thing:
1. Do I need to rebase first?
2. If I do, are there any final changes needed?

James Smith





^ permalink raw reply	[flat|nested] 12+ messages in thread

* [bug#44039] [PATCH] gnu: Add slade.
  2020-10-29  2:49     ` James Smith
@ 2020-10-29 23:39       ` Ludovic Courtès
  2020-10-30  9:38         ` Tobias Geerinckx-Rice via Guix-patches via
  0 siblings, 1 reply; 12+ messages in thread
From: Ludovic Courtès @ 2020-10-29 23:39 UTC (permalink / raw)
  To: James Smith; +Cc: Tobias Geerinckx-Rice, James Smith, 44039

Hi,

James Smith <jsubuntuxp@gmail.com> skribis:

> I have a couple of questions since I'm new to this sort of thing:
> 1. Do I need to rebase first?
> 2. If I do, are there any final changes needed?

Like I wrote, it seems that v2 mostly fits the bill.  The only potential
issue as I see it is the new ‘reset-slade.pk3-timestamps’ phase: I don’t
see what effect it has, like I wrote, so I wonder if it’s necessary.

Tobias, WDYT?

Thanks,
Ludo’.




^ permalink raw reply	[flat|nested] 12+ messages in thread

* [bug#44039] [PATCH] gnu: Add slade.
  2020-10-29 23:39       ` Ludovic Courtès
@ 2020-10-30  9:38         ` Tobias Geerinckx-Rice via Guix-patches via
  2020-10-31 10:01           ` Ludovic Courtès
  0 siblings, 1 reply; 12+ messages in thread
From: Tobias Geerinckx-Rice via Guix-patches via @ 2020-10-30  9:38 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 44039, James Smith, James Smith

[-- Attachment #1: Type: text/plain, Size: 550 bytes --]

Ludovic Courtès 写道:
> Like I wrote, it seems that v2 mostly fits the bill.  The only 
> potential
> issue as I see it is the new ‘reset-slade.pk3-timestamps’ phase: 
> I don’t
> see what effect it has, like I wrote, so I wonder if it’s 
> necessary.

I need more information to have any opinion :-)

What are you looking at to gauge its effects?  You seem to be 
claiming it has none for you, is that correct?

I build on tmpfs BTW.  Perhaps other file systems could introduce 
more ‘fun’.

Kind regards,

T G-R

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 247 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [bug#44039] [PATCH] gnu: Add slade.
  2020-10-30  9:38         ` Tobias Geerinckx-Rice via Guix-patches via
@ 2020-10-31 10:01           ` Ludovic Courtès
  0 siblings, 0 replies; 12+ messages in thread
From: Ludovic Courtès @ 2020-10-31 10:01 UTC (permalink / raw)
  To: Tobias Geerinckx-Rice; +Cc: 44039, James Smith, James Smith

Tobias Geerinckx-Rice <me@tobias.gr> skribis:

> Ludovic Courtès 写道:
>> Like I wrote, it seems that v2 mostly fits the bill.  The only
>> potential
>> issue as I see it is the new ‘reset-slade.pk3-timestamps’ phase: I
>> don’t
>> see what effect it has, like I wrote, so I wonder if it’s necessary.
>
> I need more information to have any opinion :-)
>
> What are you looking at to gauge its effects?  You seem to be claiming
> it has none for you, is that correct?

I didn’t test it, I’m just noticing that (1) the checkout in the store
has timestamps set to 1, and (2) the ‘unpack’ phase preserves timestamps
when it copies it.

So this phase could only have an effect on files created between the
‘unpack’ phase and the ‘build’ phase I think, unless I’m overlooking
something.

Thanks,
Ludo’.




^ permalink raw reply	[flat|nested] 12+ messages in thread

* [bug#44039] [PATCH] gnu: Add slade.
  2020-10-16 18:43 [bug#44039] [PATCH] gnu: Add slade James Smith
  2020-10-16 21:07 ` Tobias Geerinckx-Rice via Guix-patches via
@ 2021-05-15 20:52 ` James Smith
  2021-09-18 17:47 ` [bug#44039] [PATCH v3] " James Smith via Guix-patches via
  2 siblings, 0 replies; 12+ messages in thread
From: James Smith @ 2021-05-15 20:52 UTC (permalink / raw)
  To: 44039

Hi,

Has it been decided on whether it's neccessary to use
'reset-slade.pk3-timestamps' yet?

Thanks,
James Smith




^ permalink raw reply	[flat|nested] 12+ messages in thread

* [bug#44039] [PATCH v3] gnu: Add slade.
  2020-10-16 18:43 [bug#44039] [PATCH] gnu: Add slade James Smith
  2020-10-16 21:07 ` Tobias Geerinckx-Rice via Guix-patches via
  2021-05-15 20:52 ` James Smith
@ 2021-09-18 17:47 ` James Smith via Guix-patches via
  2021-09-22 14:21   ` bug#44039: [PATCH] " Ludovic Courtès
  2 siblings, 1 reply; 12+ messages in thread
From: James Smith via Guix-patches via @ 2021-09-18 17:47 UTC (permalink / raw)
  To: 44039; +Cc: James Smith

* gnu/packages/game-development.scm (slade): New variable.
---
I noticed there was a new release for slade, so I updated the patch and made some minor tweaks to it.

James Smith

 gnu/packages/game-development.scm | 64 ++++++++++++++++++++++++++++++-
 1 file changed, 63 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
index 40807450ea..7e1f9f4b39 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -22,6 +22,7 @@
 ;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org>
 ;;; Copyright © 2021 Alexandru-Sergiu Marton <brown121407@posteo.ro>
 ;;; Copyright © 2021 Dmitry Polyakov <polyakov@liltechdude.xyz>
+;;; Copyright © 2020-2021 James Smith <jsubuntuxp@disroot.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -39,7 +40,7 @@
 ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 
 (define-module (gnu packages game-development)
-  #:use-module (srfi srfi-1)
+  #:use-module ((srfi srfi-1) #:hide (zip))
   #:use-module (ice-9 match)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
@@ -55,6 +56,7 @@
   #:use-module (gnu packages audio)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages base)
+  #:use-module (gnu packages bash)
   #:use-module (gnu packages boost)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages check)
@@ -99,6 +101,7 @@
   #:use-module (gnu packages tls)
   #:use-module (gnu packages video)
   #:use-module (gnu packages web)
+  #:use-module (gnu packages wxwidgets)
   #:use-module (gnu packages xdisorg)
   #:use-module (gnu packages xiph)
   #:use-module (gnu packages xml)
@@ -447,6 +450,65 @@ GUI toolkit, lighting and physics frameworks and @code{Tiled} TMX format
 support.")
     (license license:gpl3+)))
 
+(define-public slade
+  (package
+    (name "slade")
+    (version "3.1.13")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/sirjuddington/SLADE")
+             (commit version)))
+       (sha256 (base32 "009yc5m6y074wfalvwbrnv2zsmaf9yhbi8hzgs973di0zqnqv011"))
+       (file-name (git-file-name name version))))
+    (build-system cmake-build-system)
+    (arguments
+     '(#:configure-flags
+       (list "-DWX_GTK3=ON" "-DNO_WEBVIEW=ON"
+             (string-append "-DWITH_WXPATH="
+                            (assoc-ref %build-inputs "wxwidgets") "/bin")
+             (string-append "-DwxWidgets_LIBRARIES="
+                            (assoc-ref %build-inputs "wxwidgets") "/lib"))
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'build 'reset-slade.pk3-timestamps
+           ;; This is neccessary to make slade reproducible.
+           (lambda _
+             (invoke "find" "../source/dist/res" "-exec" "touch"
+                     "--no-dereference" "-t" "197001010000.00" "{}"
+                     "+")))
+         (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"))))))
+       #:tests? #f)) ;; No test suite.
+    (inputs
+     `(("bash" ,bash-minimal)
+       ("curl" ,curl)
+       ("fluidsynth" ,fluidsynth)
+       ("freeimage" ,freeimage)
+       ("ftgl" ,ftgl)
+       ("glew" ,glew)
+       ("gtk+" ,gtk+)
+       ("sfml" ,sfml)
+       ("wxwidgets" ,wxwidgets-3.1)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("which" ,which)
+       ("zip" ,zip)))
+    (home-page "https://slade.mancubus.net")
+    (synopsis "Doom game data editor")
+    (description "SLADE3 is a modern editor for Doom-engine based games and
+source ports.  It has the ability to view, modify, and write many different game-
+specific formats, and even convert between some of them, or from/to other generic
+formats such as PNG.")
+    (license license:gpl2)))
+
 (define-public tiled
   (package
     (name "tiled")
-- 
2.33.0





^ permalink raw reply related	[flat|nested] 12+ messages in thread

* bug#44039: [PATCH] gnu: Add slade.
  2021-09-18 17:47 ` [bug#44039] [PATCH v3] " James Smith via Guix-patches via
@ 2021-09-22 14:21   ` Ludovic Courtès
  0 siblings, 0 replies; 12+ messages in thread
From: Ludovic Courtès @ 2021-09-22 14:21 UTC (permalink / raw)
  To: James Smith; +Cc: 44039-done

Hi,

James Smith <jsubuntuxp@disroot.org> skribis:

> * gnu/packages/game-development.scm (slade): New variable.

Applied, thanks!

After investigating, I found that the ‘reset-slade.pk3-timestamps’ was
necessary due to <https://bugs.gnu.org/44741>, fixed on ‘core-updates’,
so I added a comment mentioning it.

BTW, note that we’d normally use ‘find-files’ & co. instead of invoking
the ‘find’ command.

Ludo’.




^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2021-09-22 14:22 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-16 18:43 [bug#44039] [PATCH] gnu: Add slade James Smith
2020-10-16 21:07 ` Tobias Geerinckx-Rice via Guix-patches via
2020-10-16 21:14   ` Tobias Geerinckx-Rice via Guix-patches via
2020-10-17  0:41   ` James Smith
2020-10-28 14:54   ` Ludovic Courtès
2020-10-29  2:49     ` James Smith
2020-10-29 23:39       ` Ludovic Courtès
2020-10-30  9:38         ` Tobias Geerinckx-Rice via Guix-patches via
2020-10-31 10:01           ` Ludovic Courtès
2021-05-15 20:52 ` James Smith
2021-09-18 17:47 ` [bug#44039] [PATCH v3] " James Smith via Guix-patches via
2021-09-22 14:21   ` bug#44039: [PATCH] " Ludovic Courtès

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.