* bug#73435: [PATCH] gnu: gzdoom: Delete files that prohibit commercial redistribution.
2024-09-23 6:38 bug#73435: gzdoom package probably depends on non-free files forbidding commercial distribution Mamao--- via Bug reports for GNU Guix
@ 2024-09-22 0:00 ` Tobias Geerinckx-Rice via Bug reports for GNU Guix
2024-09-23 17:05 ` Tobias Geerinckx-Rice via Bug reports for GNU Guix
2024-09-22 0:00 ` bug#73435: [PATCH v2] gnu: gzdoom: Delete files that might prevent commercial distribution Tobias Geerinckx-Rice via Bug reports for GNU Guix
2024-09-23 9:15 ` bug#73435: gzdoom package probably depends on non-free files forbidding " Tobias Geerinckx-Rice via Bug reports for GNU Guix
2 siblings, 1 reply; 6+ messages in thread
From: Tobias Geerinckx-Rice via Bug reports for GNU Guix @ 2024-09-22 0:00 UTC (permalink / raw)
To: 73435; +Cc: Adam Faiz, Liliana Marie Prikler, 宋文武
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
^ permalink raw reply related [flat|nested] 6+ messages in thread
* bug#73435: [PATCH v2] gnu: gzdoom: Delete files that might prevent commercial distribution.
2024-09-23 6:38 bug#73435: gzdoom package probably depends on non-free files forbidding commercial distribution Mamao--- via Bug reports for GNU Guix
2024-09-22 0:00 ` bug#73435: [PATCH] gnu: gzdoom: Delete files that prohibit commercial redistribution Tobias Geerinckx-Rice via Bug reports for GNU Guix
@ 2024-09-22 0:00 ` Tobias Geerinckx-Rice via Bug reports for GNU Guix
2024-09-23 9:15 ` bug#73435: gzdoom package probably depends on non-free files forbidding " Tobias Geerinckx-Rice via Bug reports for GNU Guix
2 siblings, 0 replies; 6+ messages in thread
From: Tobias Geerinckx-Rice via Bug reports for GNU Guix @ 2024-09-22 0:00 UTC (permalink / raw)
To: 73435; +Cc: Adam Faiz, Liliana Marie Prikler, 宋文武
* 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
^ permalink raw reply related [flat|nested] 6+ messages in thread
* bug#73435: gzdoom package probably depends on non-free files forbidding commercial distribution
@ 2024-09-23 6:38 Mamao--- via Bug reports for GNU Guix
2024-09-22 0:00 ` bug#73435: [PATCH] gnu: gzdoom: Delete files that prohibit commercial redistribution Tobias Geerinckx-Rice via Bug reports for GNU Guix
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Mamao--- via Bug reports for GNU Guix @ 2024-09-23 6:38 UTC (permalink / raw)
To: 73435
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
^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#73435: gzdoom package probably depends on non-free files forbidding commercial distribution
2024-09-23 6:38 bug#73435: gzdoom package probably depends on non-free files forbidding commercial distribution Mamao--- via Bug reports for GNU Guix
2024-09-22 0:00 ` bug#73435: [PATCH] gnu: gzdoom: Delete files that prohibit commercial redistribution Tobias Geerinckx-Rice via Bug reports for GNU Guix
2024-09-22 0:00 ` bug#73435: [PATCH v2] gnu: gzdoom: Delete files that might prevent commercial distribution Tobias Geerinckx-Rice via Bug reports for GNU Guix
@ 2024-09-23 9:15 ` Tobias Geerinckx-Rice via Bug reports for GNU Guix
2024-09-23 9:18 ` Mamao--- via Bug reports for GNU Guix
2 siblings, 1 reply; 6+ messages in thread
From: Tobias Geerinckx-Rice via Bug reports for GNU Guix @ 2024-09-23 9:15 UTC (permalink / raw)
To: Mamao, 73435
Hi!
Thanks for reporting your findings.
On 23 September 2024 06:38:38 UTC, Mamao--- via Bug reports for GNU Guix <bug-guix@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
^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#73435: gzdoom package probably depends on non-free files forbidding commercial distribution
2024-09-23 9:15 ` bug#73435: gzdoom package probably depends on non-free files forbidding " Tobias Geerinckx-Rice via Bug reports for GNU Guix
@ 2024-09-23 9:18 ` Mamao--- via Bug reports for GNU Guix
0 siblings, 0 replies; 6+ messages in thread
From: Mamao--- via Bug reports for GNU Guix @ 2024-09-23 9:18 UTC (permalink / raw)
To: Tobias Geerinckx-Rice; +Cc: 73435
Tobias Geerinckx-Rice <me@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
^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#73435: [PATCH] gnu: gzdoom: Delete files that prohibit commercial redistribution.
2024-09-22 0:00 ` bug#73435: [PATCH] gnu: gzdoom: Delete files that prohibit commercial redistribution Tobias Geerinckx-Rice via Bug reports for GNU Guix
@ 2024-09-23 17:05 ` Tobias Geerinckx-Rice via Bug reports for GNU Guix
0 siblings, 0 replies; 6+ messages in thread
From: Tobias Geerinckx-Rice via Bug reports for GNU Guix @ 2024-09-23 17:05 UTC (permalink / raw)
To: Tobias Geerinckx-Rice
Cc: 宋文武, 73435, Liliana Marie Prikler, Adam Faiz
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.
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2024-09-24 22:07 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-09-23 6:38 bug#73435: gzdoom package probably depends on non-free files forbidding commercial distribution Mamao--- via Bug reports for GNU Guix
2024-09-22 0:00 ` bug#73435: [PATCH] gnu: gzdoom: Delete files that prohibit commercial redistribution Tobias Geerinckx-Rice via Bug reports for GNU Guix
2024-09-23 17:05 ` Tobias Geerinckx-Rice via Bug reports for GNU Guix
2024-09-22 0:00 ` bug#73435: [PATCH v2] gnu: gzdoom: Delete files that might prevent commercial distribution Tobias Geerinckx-Rice via Bug reports for GNU Guix
2024-09-23 9:15 ` bug#73435: gzdoom package probably depends on non-free files forbidding " Tobias Geerinckx-Rice via Bug reports for GNU Guix
2024-09-23 9:18 ` Mamao--- via Bug reports for GNU Guix
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.