GNU bug report logs - #73435
gzdoom package probably depends on non-free files forbidding commercial distribution

Previous Next

Package: guix;

Reported by: Mamao <at> danwin1210.de

Date: Mon, 23 Sep 2024 08:33:02 UTC

Severity: normal

To reply to this bug, email your comments to 73435 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-guix <at> gnu.org:
bug#73435; Package guix. (Mon, 23 Sep 2024 08:33:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Mamao <at> danwin1210.de:
New bug report received and forwarded. Copy sent to bug-guix <at> gnu.org. (Mon, 23 Sep 2024 08:33:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Mamao <at> danwin1210.de
To: bug-guix <at> gnu.org
Subject: gzdoom package probably depends on non-free files forbidding
 commercial distribution
Date: Mon, 23 Sep 2024 03:38:38 -0300
https://zdoom.org/wiki/License talks about files included in GZDoom that
forbid verbatim commercial distribution, violating GNU FSDG, which
demands that even data not serving practical purpose must allow
commercial distribution.

After trying to delete all the files in GZDoom forbidding commercial
distribution, I was unable to get GZDoom working so it seems that these
files are a hard requirement of GZDoom and that GZDoom won't work
without them. I believe these files are found in
/usr(/local)/share/games/doom/ after GZDoom is installed, but I'm not
sure. The package for Guix says:

"-DGUIX_OUT_PK3=\\\"" out "/share/games/doom\\\""

I've even tried to stop the generation of these files during compile
time to see if that would help gzdoom work without them, but that broke
compilation.

Since gzdoom doesn't seem to work without these non-free files, that
arguably makes gzdoom proprietary software because commercial verbatim
distribution is forbidden when these files are in place. If gzdoom is
proprietary software, then the freedoom package is violating the FSDG as
it strongly recommends gzdoom in its documentation, therefore to make
freedoom FSDG-compliant would likely shunning the recommendation for
gzdoom. This issue affects not only Guix System but also other
FSDG-compliant distros, because e.g. PureOS and Trisquel also ship
Freedoom with the recommendation to use gzdoom.

-- 
All the works that are 100% my own, in my emails and elsewhere, are
libre (free as in freedom) and in public domain, see
https://pst.moe/paste/yhsdsh to know more




Information forwarded to bug-guix <at> gnu.org:
bug#73435; Package guix. (Mon, 23 Sep 2024 09:17:02 GMT) Full text and rfc822 format available.

Message #8 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Tobias Geerinckx-Rice <me <at> tobias.gr>
To: Mamao <at> danwin1210.de,
 Mamao--- via Bug reports for GNU Guix <bug-guix <at> gnu.org>, 
 73435 <at> debbugs.gnu.org
Subject: Re: bug#73435: gzdoom package probably depends on non-free files forbidding commercial distribution
Date: Mon, 23 Sep 2024 09:15:50 +0000
Hi!

Thanks for reporting your findings.

On 23 September 2024 06:38:38 UTC, Mamao--- via Bug reports for GNU Guix <bug-guix <at> gnu.org> wrote:
>After trying to delete all the files in GZDoom forbidding commercial
>distribution, I was unable to get GZDoom working so it seems that these
>files are a hard requirement of GZDoom and that GZDoom won't work
>without them.

This directly contradicts the link[0] you referenced.  Would you agree?

Let's not jump to the conclusion that GZDoom must be removed.  Removal is the last step, not the first.

That of course doesn't mean than you're wrong, only that upstream has a different opinion.  Did you ask them about it?  What did they say?

For example, I wouldn't *expect* simply omitting the data files to suffice, if there's optional code that also needs to be --disabled.  Did you look into that?


Kind regards,

T G-R

Sent on the go.  Excuse or enjoy my brevity.

[0]: https://zdoom.org/wiki/License




Information forwarded to bug-guix <at> gnu.org:
bug#73435; Package guix. (Mon, 23 Sep 2024 09:17:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-guix <at> gnu.org:
bug#73435; Package guix. (Mon, 23 Sep 2024 13:26:01 GMT) Full text and rfc822 format available.

Message #14 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Mamao <at> danwin1210.de
To: Tobias Geerinckx-Rice <me <at> tobias.gr>
Cc: 73435 <at> debbugs.gnu.org, bug-guix <at> gnu.org
Subject: Re: bug#73435: gzdoom package probably depends on non-free files
 forbidding commercial distribution
Date: Mon, 23 Sep 2024 06:18:20 -0300
Tobias Geerinckx-Rice <me <at> tobias.gr> writes:

>>After trying to delete all the files in GZDoom forbidding commercial
>>distribution, I was unable to get GZDoom working so it seems that these
>>files are a hard requirement of GZDoom and that GZDoom won't work
>>without them.
>
> This directly contradicts the link[0] you referenced.  Would you
> agree?

Yes, indeed

> Let's not jump to the conclusion that GZDoom must be removed.  Removal
> is the last step, not the first.

Yeah, sorry.

> That of course doesn't mean than you're wrong, only that upstream has
> a different opinion. Did you ask them about it? What did they say?

I can't find any way that would be suitable for me to contact them,
sorry

After looking for some time at
https://forum.zdoom.org/search.php?keywords=commercial&sid=8494f77771bc9efb089cfc0d688adf44
it doesn't seem to mention anything about the
non-commercial-distribution-only data

>
> For example, I wouldn't *expect* simply omitting the data files to
> suffice, if there's optional code that also needs to be --disabled.
> Did you look into that?

I studied the source code and didn't find anything that allowed the
disabling the requirement for non-free data, and didn't find any
--disable options for gzdoom itselff, but I don't know much about cmake
(which is used by gzdoom during building) so perhaps I missed something

-- 
All the works that are 100% my own, in my emails and elsewhere, are
libre (free as in freedom) and in public domain, see
https://pst.moe/paste/yhsdsh to know more




Information forwarded to bug-guix <at> gnu.org:
bug#73435; Package guix. (Mon, 23 Sep 2024 13:26:02 GMT) Full text and rfc822 format available.

Information forwarded to adam.faiz <at> disroot.org, liliana.prikler <at> gmail.com, iyzsong <at> envs.net, bug-guix <at> gnu.org:
bug#73435; Package guix. (Mon, 23 Sep 2024 16:58:02 GMT) Full text and rfc822 format available.

Message #20 received at 73435 <at> debbugs.gnu.org (full text, mbox):

From: Tobias Geerinckx-Rice <me <at> tobias.gr>
To: 73435 <at> debbugs.gnu.org
Subject: [PATCH] gnu: gzdoom: Delete files that prohibit commercial
 redistribution.
Date: Sun, 22 Sep 2024 02:00:00 +0200
See <https://zdoom.org/wiki/License#Commercial_use>.

* gnu/packages/games.scm (gzdoom)[source]: Delete files in the snippet.

Change-Id: I601bb251e9b690e375f707786bb5789a6a664b92
---

This still needs refinement.  I need to read the source, find out
*why* the wiki page tells us not to redistribute game_support.pk3
commercially.  Maybe there's a way around deleting it entirely.
Without it GZDoom finds not a single WAD, free or not.

 gnu/packages/games.scm | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 8aa828a8a4..c5fc59fd07 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -8068,6 +8068,18 @@ (define-public gzdoom
        (modules '((guix build utils)))
        (snippet
         '(begin
+           ;; Remove files which can't be commercially redistributed according
+           ;; to <https://zdoom.org/wiki/License>.
+           (for-each
+            (lambda (directory)
+              (delete-file-recursively directory)
+              (substitute* "CMakeLists.txt"
+                (((string-append "add_subdirectory\\([[:blank:]]*"
+                                 directory
+                                 "[[:blank:]]*\\)"))
+                 "")))
+            (list "wadsrc_bm"           ;brightmaps.pk3
+                  #;"wadsrc_extra"))    ;game_support.pk3 XXX breaks Freedoom
            ;; Remove some bundled libraries.  XXX There are more, but removing
            ;; them would require, at least, patching the build system.
            (with-directory-excursion "libraries"

base-commit: 2da3c37e7d732f6d2744f70be9fd98858a433b5e
prerequisite-patch-id: 3aa23428693688751bb14a2fbe464f5693ae13d7
prerequisite-patch-id: 3f0ca744a21be95e47c8c9105dfe1e7fd0dc59c7
-- 
2.46.0





Information forwarded to bug-guix <at> gnu.org:
bug#73435; Package guix. (Mon, 23 Sep 2024 17:07:01 GMT) Full text and rfc822 format available.

Message #23 received at 73435 <at> debbugs.gnu.org (full text, mbox):

From: Tobias Geerinckx-Rice <me <at> tobias.gr>
To: Tobias Geerinckx-Rice <me <at> tobias.gr>
Cc: 宋文武 <iyzsong <at> envs.net>,
 73435 <at> debbugs.gnu.org, Liliana Marie Prikler <liliana.prikler <at> gmail.com>,
 Adam Faiz <adam.faiz <at> disroot.org>
Subject: Re: bug#73435: [PATCH] gnu: gzdoom: Delete files that prohibit
 commercial redistribution.
Date: Mon, 23 Sep 2024 19:05:47 +0200
On 2024-09-22 2:00, Tobias Geerinckx-Rice via Bug reports for GNU Guix 
wrote:
> Without it GZDoom finds not a single WAD, free or not.

Oh.  No mystery here if wadsrc_extra/static/iwadinfo.txt does what it 
looks like (explicitly list all supported WADs and how to identify 
them).  That can't be copyrightable, at least, so that's good news.

Let's see if we can include the list without including any problematic 
files.

Kind regards,

T G-R

Sent from a Web browser.  Excuse or enjoy my brevity.




Information forwarded to adam.faiz <at> disroot.org, liliana.prikler <at> gmail.com, iyzsong <at> envs.net, bug-guix <at> gnu.org:
bug#73435; Package guix. (Tue, 24 Sep 2024 22:07:02 GMT) Full text and rfc822 format available.

Message #26 received at 73435 <at> debbugs.gnu.org (full text, mbox):

From: Tobias Geerinckx-Rice <me <at> tobias.gr>
To: 73435 <at> debbugs.gnu.org
Subject: [PATCH v2] gnu: gzdoom: Delete files that might prevent commercial
 distribution.
Date: Sun, 22 Sep 2024 02:00:01 +0200
* gnu/packages/games.scm (gzdoom)[source]: Delete files in the snippet.

Change-Id: I601bb251e9b690e375f707786bb5789a6a664b92
---
 gnu/packages/games.scm | 38 +++++++++++++++++++++++++++++++++++++-
 gnu/packages/vim.scm   |  4 ++--
 2 files changed, 39 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 8aa828a8a4..0c695f5dca 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -8065,9 +8065,45 @@ (define-public gzdoom
         (base32 "0i4hyg72z84fc6ca2ic9q82q5cbgrbd7bynl3kpkypxvyasq08wz"))
        (patches (search-patches "gzdoom-search-in-installed-share.patch"
                                 "gzdoom-find-system-libgme.patch"))
-       (modules '((guix build utils)))
+       (modules '((guix build utils)
+                  (ice-9 regex)))
        (snippet
         '(begin
+           ;; Remove files which mustn't be commercially redistributed.  See
+           ;; <https://zdoom.org/wiki/License#Commercial_use>, the ‘Contribution
+           ;; Guidelines’ at <https://github.com/ZDoom>, and Guix issue #73435.
+           (for-each
+            (lambda (directory)
+              (delete-file-recursively directory)
+              (substitute* "CMakeLists.txt"
+                (((string-append "add_subdirectory\\([[:blank:]]*"
+                                 directory
+                                 "[[:blank:]]*\\)"))
+                 "")))
+            '( ;; "wadsrc_extra"        ;game_support.pk3
+              "wadsrc_bm"))             ;brightmaps.pk3
+
+           ;; Removing game_support.pk3 entirely would break Freedoom & remove
+           ;; users' ability to play commercial games, despite owning (only) the
+           ;; non-functional data.  That can't be right.  Out of an abundance of
+           ;; caution, remove anything from the PK3 that could conceivably be
+           ;; derived from copyrightable data that's not freely redistributable.
+           (display "Keeping only the following game_support.pk3 files:\n")
+           (let* ((regexps (list "/font\\.inf$"
+                                 "/harmony/.*\\.(txt|zs)$"
+                                 "/(iwadinfo|mapinfo|sprofs)\\.txt$"
+                                 "\\.z$"))
+                  (regexp* (format #f "(~{~a~^|~})" regexps))
+                  (regexp  (make-regexp regexp* regexp/icase)))
+             (define (keep-file? file stat)
+               (let ((keep? (regexp-exec regexp file)))
+                 (when keep?
+                   (format #t "  ~a~%" file))
+                 keep?))
+
+             (for-each delete-file (find-files "wadsrc_extra/static"
+                                               (negate keep-file?))))
+
            ;; Remove some bundled libraries.  XXX There are more, but removing
            ;; them would require, at least, patching the build system.
            (with-directory-excursion "libraries"
diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm
index 786a85ab58..136ed5f0c9 100644
--- a/gnu/packages/vim.scm
+++ b/gnu/packages/vim.scm
@@ -86,7 +86,7 @@ (define-module (gnu packages vim)
 (define-public vim
   (package
     (name "vim")
-    (version "9.1.0146")
+    (version "9.1.0737")
     (source (origin
              (method git-fetch)
              (uri (git-reference
@@ -95,7 +95,7 @@ (define-public vim
              (file-name (git-file-name name version))
              (sha256
               (base32
-               "05lz8ai39p9ypk22n7qc7g21868m08pl12sn4028jshx5nxwy2zn"))))
+               "1777vbr43prh9pqhz1lr5b1nym61iyy66yzxbhwichd3spnlrblk"))))
     (build-system gnu-build-system)
     (arguments
      `(#:test-target "test"

base-commit: 2da3c37e7d732f6d2744f70be9fd98858a433b5e
prerequisite-patch-id: 3aa23428693688751bb14a2fbe464f5693ae13d7
prerequisite-patch-id: 3f0ca744a21be95e47c8c9105dfe1e7fd0dc59c7
-- 
2.46.0





This bug report was last modified 349 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.