aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages
diff options
context:
space:
mode:
authorTobias Geerinckx-Rice <me@tobias.gr>2024-09-15 02:00:00 +0200
committerTobias Geerinckx-Rice <me@tobias.gr>2024-09-29 02:00:00 +0200
commit09fcc5093f5d142e48b509a330715ad63b066b45 (patch)
tree5ceaab6798b0cc51f3d6ac82e56fd76587f6b8e2 /gnu/packages
parentb20c3a4b9a2cc610999935b082cc8f4250962550 (diff)
downloadguix-09fcc5093f5d142e48b509a330715ad63b066b45.tar.gz
guix-09fcc5093f5d142e48b509a330715ad63b066b45.zip
gnu: gzdoom: Delete files that might prevent commercial distribution.
* gnu/packages/games.scm (gzdoom)[source]: Delete files in the snippet. Change-Id: I601bb251e9b690e375f707786bb5789a6a664b92
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/games.scm38
1 files changed, 37 insertions, 1 deletions
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index acfe84d819..3206cc9b6c 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -8107,9 +8107,45 @@ You can save humanity and get programming skills!")
(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"
for "COLUMNS". Ludovic Courtès 2020-02-13git-authenticate: Add niedzejkob to the list of committers....* build-aux/git-authenticate.scm (%committers): Add niedzejkob. Ludovic Courtès 2020-02-11git-authenticate: Add mab to the list of committers....* build-aux/git-authenticate.scm (%committers): Add mab. Ludovic Courtès 2020-01-27git-authenticate: Add roptat's new key....This is a followup to 2cbede5935eb6a40173bbdf30a9ad22bf7574c22. * build-aux/git-authenticate.scm (%committers): Add roptat's new key. Ludovic Courtès 2020-01-17git-authenticate: Adjust atheia's key info....This is a followup to 05f8a143e437c0e55f118a0b2a191675a4b76ef1. * build-aux/git-authenticate.scm (%committers): Adjust atheia's key info. Ludovic Courtès 2020-01-17git-authenticate: Add new key for atheia....* build-aux/git-authenticate.scm (%committers): Add atheia's 2nd key, as seen in commit df18ea6f275abaa160a8593accb29fd273d8fc13. Ludovic Courtès 2020-01-08git-authenticate: Add daviwil to the list of committers....This is a followup to a587bb23b79eae5dd3fa3acb06d0b533c93fd562, first commit signed by daviwil. * build-aux/git-authenticate.scm (%committers): Add "daviwil". Ludovic Courtès 2019-12-29git-authenticate: Add glv to the list of committers....This is a followup to 92fcf9856face3822ce827d7732c4b152f715f62, first commit signed by glv. * build-aux/git-authenticate.scm (%committers): Add glv. Ludovic Courtès 2019-12-27git-authenticate: Keep a local cache of previously-authenticated commits....A list of already-authenticated commits is kept in ~/.cache/guix/authentication. This speeds up subsequent "make authenticate" invocations. * build-aux/git-authenticate.scm (authenticated-commit-cache-file) (previously-authenticated-commits, cache-authenticated-commit): New procedures. (git-authenticate): Define 'authenticated-commits' and pass it as a third argument to 'commit-difference'. Add call to 'cache-authenticated-commit'. Don't display signing stats when STATS is null. Ludovic Courtès 2019-12-27Add 'build-aux/git-authenticate.scm'....* build-aux/git-authenticate.scm: New file. * Makefile.am (EXTRA_DIST): Add it. (commit_v1_0_1): New variable. (authenticate): New target. Ludovic Courtès 2019-12-01ci: Make sure the Guix checkout is the one providing Cuirass proc....Fixes <https://bugs.gnu.org/36378>. Reported by Reza Alizadeh Majd <r.majd@pantherx.org>. * build-aux/hydra/gnu-system.scm (find-current-checkout): New procedure. (hydra-jobs): Use FIND-CURRENT-CHECKOUT to define CHECKOUT. Pass it to the inferior Guix as an extra argument whose key is 'superior-guix-checkout'. * gnu/ci.scm (find-current-checkout): New procedure. (hydra-jobs): Use FIND-CURRENT-CHECKOUT to define CHECKOUT. This will return '#f' if the current Guix is an inferior. In that case, use the 'superior-guix-checkout' argument provided by the superior Guix. Clément Lassieur 2019-11-13tests: "make check-system" uses Guix built with (guix self)....This is a followup to 7e6d8d366a61f951936ed83371877ce006f679f6. It means that "make check-system" can run tests from (gnu tests install) much faster because it does not need to build a full 'guix' package. * gnu/ci.scm (channel-instance->package): Export. * build-aux/run-system-tests.scm (tests-for-channel-instance): New procedure, with code formerly in 'run-system-tests'. (run-system-tests): Call 'interned-file' for SOURCE, and add call to 'tests-for-channel-instance'. Ludovic Courtès 2019-10-16build: Remove references to 'NIX_LOCALSTATE_DIR'....* build-aux/test-env.in: Remove references to 'NIX_LOCALSTATE_DIR'. Ludovic Courtès 2019-10-16daemon: Remove traces of 'NIX_ROOT_FINDER'....This is a followup to 2e3e5d21988fc2cafb2a9eaf4b00976ea425629d. * build-aux/test-env.in: Remove mentions of 'NIX_ROOT_FINDER'. * nix/libstore/gc.cc (LocalStore::collectGarbage): Adjust comment accordingly. Ludovic Courtès 2019-09-08daemon: Remove 'NIX_LIBEXEC_DIR'....* nix/libstore/globals.hh (Settings)[nixLibexecDir]: Remove. * nix/libstore/globals.cc (Settings::processEnvironment): Remove reference to 'nixLibexecDir'. * nix/local.mk (libstore_a_CPPFLAGS): Remove -DNIX_LIBEXEC_DIR flag. * build-aux/pre-inst-env.in: Remove references to 'NIX_LIBEXEC_DIR'. Ludovic Courtès 2019-09-08daemon: Run 'guix offload' directly....* nix/scripts/offload.in: Remove. * nix/local.mk (nodist_pkglibexec_SCRIPTS) [BUILD_DAEMON_OFFLOAD]: Remove 'scripts/offload'. * config-daemon.ac: Don't output 'nix/scripts/offload'. * build-aux/pre-inst-env.in: Don't set 'NIX_BUILD_HOOK'. * nix/libstore/build.cc (HookInstance::HookInstance): Run 'guix offload'. (DerivationGoal::tryBuildHook): Remove reference to 'NIX_BUILD_HOOK'. * nix/nix-daemon/guix-daemon.cc (main) [HAVE_DAEMON_OFFLOAD_HOOK]: Don't set 'NIX_BUILD_HOOK'. * nix/nix-daemon/nix-daemon.cc (performOp) [!HAVE_DAEMON_OFFLOAD_HOOK]: Leave 'settings.useBuildHook' unchanged. Ludovic Courtès 2019-09-08daemon: Invoke 'guix gc --list-busy' instead of 'list-runtime-roots'....* nix/scripts/list-runtime-roots.in: Remove. * guix/store/roots.scm (%proc-directory): New variable. (proc-file-roots, proc-exe-roots, proc-cwd-roots) (proc-fd-roots, proc-maps-roots, proc-environ-roots) (referenced-files, canonicalize-store-item, busy-store-items): New procedures, taken from 'list-runtime-roots.in'. * nix/libstore/globals.hh (Settings)[guixProgram]: New field. * nix/libstore/globals.cc (Settings::processEnvironment): Initialize 'guixProgram'. * nix/libstore/gc.cc (addAdditionalRoots): Drop code related to 'NIX_ROOT_FINDER'. Run "guix gc --list-busy". * nix/local.mk (nodist_pkglibexec_SCRIPTS): Remove 'scripts/list-runtime-roots'. * config-daemon.ac: Don't output nix/scripts/list-runtime-roots. * build-aux/pre-inst-env.in: Don't set 'NIX_ROOT_FINDER'. Set 'GUIX'. * doc/guix.texi (Invoking guix gc): Document '--list-busy'. * guix/scripts/gc.scm (show-help, %options): Add "--list-busy". (guix-gc)[list-busy]: New procedure. Handle the 'list-busy' action. Ludovic Courtès 2019-07-16Use more guix.gnu.org....* build-aux/build-self.scm (make-config.scm): Replace gnu.org/s/guix with guix.gnu.org. * guix/scripts/publish.scm (render-home-page): Likewise. * guix/self.scm (make-config.scm): Likewise. Tobias Geerinckx-Rice 2019-06-25build: Report build errors via 'report-load-error'....* build-aux/compile-all.scm: Wrap 'compile-files' call in 'catch'. Attempt to resort to 'report-load-error' in (guix ui) to print the error. Ludovic Courtès 2019-05-20maint: update-NEWS: Track "gcc-toolchain", not "gcc"....This is a followup to d78010b81ee6ef4fd8803082e2f401b9e55b44db. * build-aux/update-NEWS.scm (write-packages-updates)[important]: Replace "gcc" by "gcc-toolchain". Ludovic Courtès 2019-05-16maint: 'check-available-binaries' checks for more packages....Fixes <https://bugs.gnu.org/35539>. Reported by Florian Pelz <pelzflorian@pelzflorian.de>. * build-aux/check-available-binaries.scm (packages-for-system): New procedure. <top level>: Use it. Ludovic Courtès 2019-05-12build-self: Let HOME pass through the execution environment....This is a followup to 48d498c2c3984784336b27ba5e261319f3ac6a3a, which introduced a typo (missing '->' in 'mlet'.) Fixes <https://bugs.gnu.org/35623>. Reported by Karrick McDermott <kmcdermott@linkedin.com>. * build-aux/build-self.scm (build): Add 'getenv' and 'setenv' calls for HOME. Ludovic Courtès 2019-05-11Revert "build-self: Let HOME pass through the execution environment."...This reverts commit 48d498c2c3984784336b27ba5e261319f3ac6a3a. It breaks ‘guix pull’. Tobias Geerinckx-Rice 2019-05-11build-self: Let HOME pass through the execution environment....Fixes <https://bugs.gnu.org/35623>. Reported by Karrick McDermott <kmcdermott@linkedin.com>. * build-aux/build-self.scm (build): Add 'getenv' and 'setenv' calls for HOME. Ludovic Courtès 2019-04-23build-self: Explain why we keep using deprecated bindings....* build-aux/build-self.scm (build): Add comment regarding the deprecated names. Ludovic Courtès 2019-04-23Revert "build-self: Avoid deprecated bindings."...This reverts commit fa9e6e8b676ca920a894cf3b48bfcb670077144f. By using the new bindings, we would prevent users of Guix prior to de9fbe9cdcf5f8deb08becfc54b523084fd67bda, such as version 0.16.0, to upgrade to current master. Thus, we will keep using the old names for a while. Ludovic Courtès 2019-04-22build-self: Avoid deprecated bindings....* build-aux/build-self.scm (build): Replace references to nix-server-* with store-connection-*. Mark H Weaver 2019-04-19build: Show completion percentage while building....* build-aux/compile-all.scm (%): New procedure. (command-line): Use it to report completion. Ludovic Courtès 2019-04-17self: Remove unused variable....This variable is unused since commit 45779fa676419de8838cb26b6c7a24678a2be1cd. * guix/self.scm (%dependency-variables): Remove. * build-aux/build-self.scm (%dependency-variables): Remove. Ludovic Courtès 2019-03-26build-self: Disable position recording....'guix pull -n' goes roughly from 40s to 35s. * build-aux/build-self.scm (build-program): Add call to 'read-disable'. Ludovic Courtès 2019-02-11Avoid name clash with 'build' from (guix store) and (guix status)....Since commit 976ef2d97887d16eab8d4eb9dad811786b04d690, (guix status) exports 'build', which clashes with 'build' from (guix store). * build-aux/run-system-tests.scm: Select 'with-status-verbosity' from (guix status). * guix/scripts/archive.scm: Likewise. * guix/scripts/build.scm: Likewise. * guix/scripts/copy.scm: Likewise. * guix/scripts/environment.scm: Likewise. * guix/scripts/pack.scm: Likewise. * guix/scripts/package.scm: Likewise. * guix/scripts/pull.scm: Likewise. * guix/scripts/system.scm: Likewise. Ludovic Courtès 2019-02-04daemon: Add "/guix" to default 'nixLibexecDir'....This makes it easier to run the uninstalled daemon. * nix/local.mk (libstore_a_CPPFLAGS): Append "/guix" to NIX_LIBEXEC_DIR. * build-aux/pre-inst-env.in (NIX_LIBEXEC_DIR): Adjust comment. * nix/libstore/builtins.cc (builtinDownload): Remove SUBDIR and its use. * nix/libstore/local-store.cc (runAuthenticationProgram): Ditto. * nix/libstore/gc.cc (addAdditionalRoots): Remove "/guix" prefix. * nix/nix-daemon/guix-daemon.cc (main): Ditto. Ludovic Courtès 2019-02-04daemon: Remove the 'NIX_SUBSTITUTERS' environment variable....* nix/libstore/globals.cc (Settings:update): Remove changes to 'substituters'. * nix/nix-daemon/guix-daemon.cc (main): Set 'settings.substituters' directly instead of changing the 'NIX_SUBSTITUTERS' environment variable. * build-aux/pre-inst-env.in: Remove reference to 'NIX_SUBSTITUTERS'. Ludovic Courtès 2019-02-04daemon: Rename 'NIX_STATE_DIR' and 'NIX_DB_DIR' environment variables....Fixes <https://bugs.gnu.org/22459>. Reported by Jeff Mickey <j@codemac.net>. * guix/config.scm.in (%state-directory): Change NIX_STATE_DIR to GUIX_STATE_DIRECTORY. (%store-database-directory): Change NIX_DB_DIR to GUIX_DATABASE_DIRECTORY. * nix/libstore/globals.cc (Settings::processEnvironment): Likewise. * guix/self.scm (make-config.scm): Likewise. * build-aux/build-self.scm (make-config.scm): Likewise. * build-aux/test-env.in: Likewise. * tests/derivations.scm ("derivation #:leaked-env-vars"): Likewise. * tests/guix-build.sh (GUIX_DAEMON_SOCKET): Likewise. * tests/guix-daemon.sh (socket): Likewise. Ludovic Courtès 2019-01-21store: Rename '&nix-error' to '&store-error'....* guix/store.scm (&nix-error): Rename to... (&store-error): ... this, and adjust users. (&nix-connection-error): Rename to... (&store-connection-error): ... this, and adjust users. (&nix-protocol-error): Rename to... (&store-protocol-error): ... this, adjust users. (&nix-error, &nix-connection-error, &nix-protocol-error): Define these condition types and their getters as deprecrated aliases. * build-aux/run-system-tests.scm, guix/derivations.scm, guix/grafts.scm, guix/scripts/challenge.scm, guix/scripts/graph.scm, guix/scripts/lint.scm, guix/scripts/offload.scm, guix/serialization.scm, guix/ssh.scm, guix/tests.scm, guix/ui.scm, tests/derivations.scm, tests/gexp.scm, tests/guix-daemon.sh, tests/packages.scm, tests/store.scm, doc/guix.texi: Adjust to use the new names. Ludovic Courtès 2019-01-21build-self: Execute trampoline in a clean environment....Previously execution of the trampoline would be somewhat sensitive to GUILE_LOAD_PATH & co., for example. * build-aux/build-self.scm (build-program): Remove 'unsetenv' call and %LOAD-COMPILED-PATH hack. (call-with-clean-environment): New procedure. (with-clean-environment): New macro. (build): Wrap 'open-pipe*' call in 'with-clean-environment'. Ludovic Courtès