From b0f477b8a3487606b1c107c11eb31efbd52f5b63 Mon Sep 17 00:00:00 2001 From: Roman Riabenko Date: Mon, 11 Apr 2022 13:34:39 +0300 Subject: gnu: games: Add robotfindskitten. * gnu/packages/games.scm (robotfindskitten): New variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/games.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) (limited to 'gnu/packages/games.scm') diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 8cc29b3487..de398c297f 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -69,6 +69,7 @@ ;;; Copyright © 2021 Christopher Baines ;;; Copyright © 2021 Foo Chuan Wei ;;; Copyright © 2022 Yovan Naumovski +;;; Copyright © 2022 Roman Riabenko ;;; ;;; This file is part of GNU Guix. ;;; @@ -2250,6 +2251,38 @@ utilizing the art assets from the @code{SuperTux} project.") license:gpl2+ license:gpl3+))))) +(define-public robotfindskitten + (package + (name "robotfindskitten") + (version "2.8284271.702") ; 1600003_201b is older, see ChangeLog + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/" name "/" name + "/releases/download/" version "/" + name "-" version ".tar.gz")) + (sha256 + (base32 + "1bwrkxm83r9ajpkd6x03nqvmdfpf5vz6yfy0c97pq3v3ykj74082")))) + (build-system gnu-build-system) + (arguments + (list + #:tests? #f ; there are no tests + #:make-flags + #~(list + ;; Required for colorized output, see . + "CFLAGS=-D_XOPEN_SOURCE=600" + (string-append "execgamesdir=" #$output "/bin")))) + (inputs (list ncurses)) + (outputs (list "out" "debug")) + (synopsis "Thematic meditative game") + (description + "You are a robot moving around in a realm filled with ASCII characters. +Examine humourously described though useless items as you search for a kitten +among them. The theme of this Zen simulation is continued in its +documentation.") + (home-page "http://robotfindskitten.org/") + (license license:gpl2+))) + (define-public roguebox-adventures (package (name "roguebox-adventures") -- cgit v1.2.3 From f044d951b0122b15199efeba396bbe584f8ef86d Mon Sep 17 00:00:00 2001 From: Liliana Marie Prikler Date: Sat, 6 Nov 2021 14:06:58 +0100 Subject: gnu: openttd: Let the music play. * gnu/packages/games.scm (openttd)[inputs]: Remove timidity++. Add fluidsynth and freepats-gm. [#:phases]: New phase. --- gnu/packages/games.scm | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'gnu/packages/games.scm') diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index de398c297f..ae3636596d 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -4448,6 +4448,15 @@ Transport Tycoon Deluxe.") (list (string-append "-DCMAKE_INSTALL_BINDIR=" out "/bin"))) #:phases (modify-phases %standard-phases + (add-after 'unpack 'patch-sources + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "src/music/fluidsynth.cpp" + (("default_sf\\[\\] = \\{" all) + (string-append all " +\t/* Guix hardcoded :P */ +\t\"" (string-append (assoc-ref inputs "freepats-gm") + "/share/soundfonts/FreePatsGM.sf2") "\", +"))))) (add-before 'check 'install-data (lambda* (#:key inputs outputs #:allow-other-keys) (for-each @@ -4457,7 +4466,7 @@ Transport Tycoon Deluxe.") (list "opengfx" "openmsx" "opensfx"))))))) (inputs (modify-inputs (package-inputs openttd-engine) - (prepend timidity++))) + (prepend fluidsynth freepats-gm))) (native-inputs `(("opengfx" ,openttd-opengfx) ("openmsx" ,openttd-openmsx) -- cgit v1.2.3 From a1acec2fe9bbf8aa95f922efc9d8bba6d7eba172 Mon Sep 17 00:00:00 2001 From: Liliana Marie Prikler Date: Sat, 16 Apr 2022 00:26:30 +0200 Subject: gnu: openttd-engine: Drop labels from inputs. * gnu/packages/games.scm (openttd-engine)[inputs]: Drop labels. --- gnu/packages/games.scm | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'gnu/packages/games.scm') diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index ae3636596d..42de2f78bc 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -4262,15 +4262,15 @@ world}, @uref{http://evolonline.org, Evol Online} and "1qz7ld55m9cvgr4mkv6c11y0zf2aph3ba605l45qj41hk2wzb2r5")))) (build-system cmake-build-system) (inputs - `(("allegro" ,allegro) - ("fontconfig" ,fontconfig) - ("freetype" ,freetype) - ("icu4c" ,icu4c) - ("libpng" ,libpng) - ("lzo" ,lzo) - ("sdl" ,sdl) - ("xz" ,xz) - ("zlib" ,zlib))) + (list allegro + fontconfig + freetype + icu4c + libpng + lzo + sdl + xz + zlib)) (synopsis "Transportation economics simulator game") (description "OpenTTD is a game in which you transport goods and passengers by land, water and air. It is a re-implementation of Transport -- cgit v1.2.3 From 2bae85d39b5a440863e745c053ae43dfa047a3b7 Mon Sep 17 00:00:00 2001 From: Liliana Marie Prikler Date: Sat, 16 Apr 2022 00:29:09 +0200 Subject: gnu: openttd-gfx: Use new package style. * gnu/packages/games.scm (openttd-gfx)[arguments]: Convert to list of G-Expressions. [native-inputs]: Drop labels. --- gnu/packages/games.scm | 45 ++++++++++++++++++++++++--------------------- 1 file changed, 24 insertions(+), 21 deletions(-) (limited to 'gnu/packages/games.scm') diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 42de2f78bc..2e122ad05f 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -4300,22 +4300,24 @@ engine. When you start it you will be prompted to download a graphics set.") "0nhzlk6s73qvznm5fdwcs1b42g2plf26s5ag39fvck45zm7m48jk")))) (build-system gnu-build-system) (arguments - `(#:make-flags (list (string-append "CC=" ,(cc-for-target)) - (string-append "INSTALL_DIR=" - (assoc-ref %outputs "out") - "/share/games/openttd/baseset/opengfx")) - #:phases - (modify-phases %standard-phases - (replace 'configure - (lambda _ - ;; Make sure HOME is writable for GIMP. - (setenv "HOME" (getcwd)) + (list + #:make-flags + #~(list (string-append "CC=" #$(cc-for-target)) + (string-append "INSTALL_DIR=" + #$output + "/share/games/openttd/baseset/opengfx")) + #:phases + #~(modify-phases %standard-phases + (replace 'configure + (lambda _ + ;; Make sure HOME is writable for GIMP. + (setenv "HOME" (getcwd)) - ;; Redirect stdout, not stderr, to /dev/null. This prevents - ;; dos2unix from receiving its version information as a flag. - (substitute* "Makefile" - (("\\$\\(UNIX2DOS\\) -q --version 2>/dev/null") - "$(UNIX2DOS) -q --version 1>/dev/null"))))) + ;; Redirect stdout, not stderr, to /dev/null. This prevents + ;; dos2unix from receiving its version information as a flag. + (substitute* "Makefile" + (("\\$\\(UNIX2DOS\\) -q --version 2>/dev/null") + "$(UNIX2DOS) -q --version 1>/dev/null"))))) ;; The check phase for this package only checks the md5sums of the built ;; GRF files against the md5sums of the release versions. Because we use ;; different software versions than upstream does, some of the md5sums @@ -4323,12 +4325,13 @@ engine. When you start it you will be prompted to download a graphics set.") ;; to disable this test. #:tests? #f #:parallel-build? #f)) - (native-inputs `(("dos2unix" ,dos2unix) - ("gimp" ,gimp) - ("grfcodec" ,grfcodec) - ("nml" ,nml) - ("which" ,which) - ("python" ,python))) + (native-inputs + (list dos2unix + gimp + grfcodec + nml + which + python)) (home-page "http://dev.openttdcoop.org/projects/opengfx") (synopsis "Base graphics set for OpenTTD") (description -- cgit v1.2.3 From 4df82befc9dfeeddb64ec671cef5f3bc8c770dce Mon Sep 17 00:00:00 2001 From: Liliana Marie Prikler Date: Sat, 16 Apr 2022 00:49:31 +0200 Subject: gnu: openttd-opensfx: Use new package style. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/games.scm (openttd-opensfx)[arguments]: Convert to list of G-Expressions. Drop trailing ‘#t’s. [native-inputs]: Drop labels. --- gnu/packages/games.scm | 54 +++++++++++++++++++++++++------------------------- 1 file changed, 27 insertions(+), 27 deletions(-) (limited to 'gnu/packages/games.scm') diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 2e122ad05f..f5555b519a 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -4363,34 +4363,34 @@ OpenGFX provides you with... "0aym026lg0r7dp3jxxs9c0rj8lwy1fz3v9hmk3mml6sycsg3fv42")))) (build-system gnu-build-system) (native-inputs - `(("catcodec" ,catcodec) - ("python" ,python) - ("tar" ,tar))) + (list catcodec + python + tar)) (arguments - `(#:make-flags - (list (string-append "DIR_NAME=opensfx") - (string-append "TAR=" - (search-input-file %build-inputs "/bin/tar"))) - ;; The check phase only verifies md5sums, see openttd-opengfx. - #:tests? #f - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'make-reproducible - (lambda _ - ;; Remove the time dependency of the installed tarball by setting - ;; the modification times if its members to 0. - (substitute* "scripts/Makefile.def" - (("-cf") " --mtime=@0 -cf")) - #t)) - (delete 'configure) - (add-before 'build 'prebuild - (lambda _ (invoke "make" "opensfx.cat"))) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (copy-recursively "opensfx" - (string-append (assoc-ref outputs "out") - "/share/games/openttd/baseset" - "/opensfx"))))))) + (list + #:make-flags + #~(list (string-append "DIR_NAME=opensfx") + (string-append "TAR=" + (search-input-file %build-inputs "/bin/tar"))) + ;; The check phase only verifies md5sums, see openttd-opengfx. + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'make-reproducible + (lambda _ + ;; Remove the time dependency of the installed tarball by setting + ;; the modification times if its members to 0. + (substitute* "scripts/Makefile.def" + (("-cf") " --mtime=@0 -cf")))) + (delete 'configure) + (add-before 'build 'prebuild + (lambda _ (invoke "make" "opensfx.cat"))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (copy-recursively "opensfx" + (string-append (assoc-ref outputs "out") + "/share/games/openttd/baseset" + "/opensfx"))))))) (home-page "http://dev.openttdcoop.org/projects/opensfx") (synopsis "Base sounds for OpenTTD") (description "OpenSFX is a set of free base sounds for OpenTTD which make -- cgit v1.2.3 From 5376f3d058b91469d1f6daa56e4ffcef42ae34e4 Mon Sep 17 00:00:00 2001 From: Liliana Marie Prikler Date: Sat, 16 Apr 2022 00:51:49 +0200 Subject: gnu: openttd-openmsx: Use new package style. * gnu/packages/games.scm (openttd-openmsx)[arguments]: Convert to list of G-Expressions. [native-inputs]: Drop labels. --- gnu/packages/games.scm | 41 +++++++++++++++++++++-------------------- 1 file changed, 21 insertions(+), 20 deletions(-) (limited to 'gnu/packages/games.scm') diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index f5555b519a..5cb79375e0 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -4413,27 +4413,28 @@ the original Transport Tycoon Deluxe.") "0h583d8fxy78kc3jvpp78r76a48qhxrhm4q7jbnj74aw0kwrcl8g")))) (build-system gnu-build-system) (native-inputs - `(("grfcodec" ,grfcodec) - ; Scripts are Python3 compatible, but call the interpreter as - ; python instead of python3. - ("python" ,python-wrapper) - ("tar" ,tar))) + (list grfcodec + ;; Scripts are Python3 compatible, but call the interpreter as + ;; python instead of python3. + python-wrapper + tar)) (arguments - `(#:make-flags - (list (string-append "DIR_NAME=openmsx") - (string-append "TAR=" - (search-input-file %build-inputs "/bin/tar"))) - ;; The check phase only verifies md5sums, see openttd-opengfx. - #:tests? #f - #:phases - (modify-phases %standard-phases - (delete 'configure) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (copy-recursively "openmsx" - (string-append (assoc-ref outputs "out") - "/share/games/openttd/baseset" - "/openmsx"))))))) + (list + #:make-flags + #~(list (string-append "DIR_NAME=openmsx") + (string-append "TAR=" + (search-input-file %build-inputs "/bin/tar"))) + ;; The check phase only verifies md5sums, see openttd-opengfx. + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (delete 'configure) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (copy-recursively "openmsx" + (string-append (assoc-ref outputs "out") + "/share/games/openttd/baseset" + "/openmsx"))))))) (home-page "http://dev.openttdcoop.org/projects/openmsx") (synopsis "Music set for OpenTTD") (description "OpenMSX is a music set for OpenTTD which makes it possible -- cgit v1.2.3 From 6b4d37760e24e16fd32a7c2cc2dab289a7e3deb0 Mon Sep 17 00:00:00 2001 From: Liliana Marie Prikler Date: Sat, 16 Apr 2022 09:01:04 +0200 Subject: gnu: openttd: Use new package style. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/games.scm (openttd)[arguments]: Convert to list of G-Expressions. : Use search paths to find ‘/share/games/openttd’ input directories. [native-inputs]: Use modify-inputs. --- gnu/packages/games.scm | 47 ++++++++++++++++++++++++----------------------- 1 file changed, 24 insertions(+), 23 deletions(-) (limited to 'gnu/packages/games.scm') diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 5cb79375e0..ff2b3199e0 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -4447,35 +4447,36 @@ Transport Tycoon Deluxe.") (inherit openttd-engine) (name "openttd") (arguments - `(#:configure-flags - (let* ((out (assoc-ref %outputs "out"))) - (list (string-append "-DCMAKE_INSTALL_BINDIR=" out "/bin"))) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-sources - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "src/music/fluidsynth.cpp" - (("default_sf\\[\\] = \\{" all) - (string-append all " + (list + #:configure-flags + #~(list (string-append "-DCMAKE_INSTALL_BINDIR=" #$output "/bin")) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-sources + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "src/music/fluidsynth.cpp" + (("default_sf\\[\\] = \\{" all) + (string-append all " \t/* Guix hardcoded :P */ -\t\"" (string-append (assoc-ref inputs "freepats-gm") - "/share/soundfonts/FreePatsGM.sf2") "\", +\t\"" (search-input-file inputs "/share/soundfonts/FreePatsGM.sf2") "\", "))))) - (add-before 'check 'install-data - (lambda* (#:key inputs outputs #:allow-other-keys) - (for-each - (lambda (input) - (copy-recursively (assoc-ref inputs input) - (assoc-ref outputs "out"))) - (list "opengfx" "openmsx" "opensfx"))))))) + (add-before 'check 'install-data + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((base "/share/games/openttd")) + (for-each + (lambda (dir) + ;; Copy the entire input, so as to not omit documentation + ;; etc. + (copy-recursively + (string-drop-right dir (string-length base)) + (assoc-ref outputs "out"))) + (search-path-as-list (list base) (map cdr inputs))))))))) (inputs (modify-inputs (package-inputs openttd-engine) (prepend fluidsynth freepats-gm))) (native-inputs - `(("opengfx" ,openttd-opengfx) - ("openmsx" ,openttd-openmsx) - ("opensfx" ,openttd-opensfx) - ,@(package-native-inputs openttd-engine))))) + (modify-inputs (package-native-inputs openttd-engine) + (prepend openttd-opengfx openttd-openmsx openttd-opensfx))))) (define openrct2-title-sequences (package -- cgit v1.2.3 From 9cf812f60104042b46f58faa2cce2d549f2cdb68 Mon Sep 17 00:00:00 2001 From: Greg Hogan Date: Sun, 24 Apr 2022 11:12:48 +0000 Subject: gnu: stockfish: Update to 15. * gnu/packages/games.scm (stockfish): Update to 15. Signed-off-by: Efraim Flashner --- gnu/packages/games.scm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'gnu/packages/games.scm') diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index ff2b3199e0..7aad3c00d0 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -59,7 +59,7 @@ ;;; Copyright © 2020 Tomás Ortín Fernández ;;; Copyright © 2021 Olivier Rojon ;;; Copyright © 2021 Stefan Reichör -;;; Copyright © 2021 Greg Hogan +;;; Copyright © 2021, 2022 Greg Hogan ;;; Copyright © 2021 David Pflug ;;; Copyright © 2021, 2022 Felix Gruber ;;; Copyright © 2021 Solene Rapenne @@ -11957,10 +11957,10 @@ etc. You can also play games on FICS or against an engine.") (license license:gpl2+))) (define-public stockfish - (let ((neural-network-revision "13406b1dcbe0")) ; also update hash below + (let ((neural-network-revision "6877cd24400e")) ; also update hash below (package (name "stockfish") - (version "14.1") + (version "15") (source (origin (method git-fetch) @@ -11969,7 +11969,7 @@ etc. You can also play games on FICS or against an engine.") (commit (string-append "sf_" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0apqqcgpcflm3c6mcl13ln2y04f6zksnljmk4ys7naf7xk4vdgkd")))) + (base32 "1v19v6qhwbf31wpc3qcih4dvqxwqkh0p426skgjin6ags31hkbmh")))) (build-system gnu-build-system) (inputs `(("neural-network" @@ -11979,7 +11979,7 @@ etc. You can also play games on FICS or against an engine.") neural-network-revision ".nnue")) (sha256 (base32 - "0vr3hcmlqqm74pn7hc54gmfs9drqvgc53nh7bvy6v8z0rcfnnh0k")))))) + "1qyna598c0v7gdpycc6kpl12h5a2wa50dqray6gv208f80jcsxv8")))))) (arguments `(#:tests? #f #:make-flags (list "-C" "src" -- cgit v1.2.3 From 03d0f7cca15dfd212a1631e009b5070ad1811ca0 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 24 Apr 2022 17:32:42 +0300 Subject: gnu: stockfish: Add support for more architectures. * gnu/packages/games.scm (stockfish)[arguments]: Add ARCH matches for more architectures. Add EXTRALDFLAGS for powerpc-linux. Add phase to remove '-m' compiler flags. --- gnu/packages/games.scm | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'gnu/packages/games.scm') diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 7aad3c00d0..83c75e8dcf 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -11986,12 +11986,18 @@ etc. You can also play games on FICS or against an engine.") "build" (string-append "PREFIX=" (assoc-ref %outputs "out")) + ,@(if (target-ppc32?) + `("EXTRALDFLAGS=-latomic") + `()) (string-append "ARCH=" ,(match (%current-system) ("x86_64-linux" "x86-64") ("i686-linux" "x86-32") ("aarch64-linux" "armv8") ("armhf-linux" "armv7") + ("powerpc-linux" "ppc-32") + ("powerpc64le-linux" "ppc-64") + ("riscv64-linux" "general-64") ("mips64el-linux" "general-64") (_ "general-32")))) #:phases (modify-phases %standard-phases @@ -12002,7 +12008,12 @@ etc. You can also play games on FICS or against an engine.") (lambda* (#:key inputs #:allow-other-keys) (copy-file (assoc-ref inputs "neural-network") (format #f "src/nn-~a.nnue" - ,neural-network-revision))))))) + ,neural-network-revision)))) + ;; Guix doesn't use a multiarch gcc. + (add-after 'unpack 'remove-m-flag + (lambda _ + (substitute* "src/Makefile" + (("-m\\$\\(bits\\)") ""))))))) (synopsis "Strong chess engine") (description "Stockfish is a very strong chess engine. It is much stronger than the -- cgit v1.2.3 From 0a64b629ae8512790d532158a72a4a25698e8157 Mon Sep 17 00:00:00 2001 From: zamfofex Date: Fri, 29 Apr 2022 23:03:17 +0200 Subject: gnu: Add Liquid War 6. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/games.scm (liquidwar6): New variable. Co-authored-by: Ludovic Courtès --- gnu/packages/games.scm | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) (limited to 'gnu/packages/games.scm') diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 83c75e8dcf..c6d23298ff 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -70,6 +70,7 @@ ;;; Copyright © 2021 Foo Chuan Wei ;;; Copyright © 2022 Yovan Naumovski ;;; Copyright © 2022 Roman Riabenko +;;; Copyright © 2022 zamfofex ;;; ;;; This file is part of GNU Guix. ;;; @@ -140,6 +141,7 @@ #:use-module (gnu packages golang) #:use-module (gnu packages gperf) #:use-module (gnu packages graphics) + #:use-module (gnu packages graphviz) #:use-module (gnu packages gsasl) #:use-module (gnu packages gstreamer) #:use-module (gnu packages gtk) @@ -12672,3 +12674,44 @@ disassembly of the DOS version, extended with new features.") Magic II (aka HOMM2) game engine. It requires assets and game resources to play; it will look for them at @file{~/.local/share/fheroes2} folder.") (license license:gpl2))) + +(define-public liquidwar6 + (package + (name "liquidwar6") + (version "0.6.3902") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/liquidwar6/" "liquidwar6-" + version ".tar.gz")) + (sha256 + (base32 + "1976nnl83d8wspjhb5d5ivdvdxgb8lp34wp54jal60z4zad581fn")))) + (native-inputs (list doxygen)) + (inputs (list guile-2.0 + zlib + expat + sqlite + ncurses + readline + curl + python-2 + libxslt + perl + graphviz + glu + libcaca + (sdl-union (list sdl sdl-image sdl-ttf sdl-mixer)))) + (build-system gnu-build-system) + (arguments + (list #:configure-flags + #~(list "--enable-allinone" "CFLAGS=-Wno-error -O2 -g" + (string-append "CPPFLAGS=" "-I" + #$(this-package-input "sdl-union") + "/include/SDL")))) + (synopsis "Liquid War 6 is a unique multiplayer wargame.") + (description + "Liquid War 6 is a unique multiplayer war game. Your army is a blob of +liquid and you have to try and eat your opponents. Rules are very simple yet +original, they have been invented by Thomas Colcombet.") + (home-page "https://www.gnu.org/software/liquidwar6/") + (license license:gpl3+))) -- cgit v1.2.3 From 1259d320fc53c79668db9943b2e33ead874276d9 Mon Sep 17 00:00:00 2001 From: Felix Gruber Date: Tue, 4 Jan 2022 22:23:14 +0000 Subject: gnu: freedroidrpg: Update to 1.0rc2. * gnu/packages/games.scm (freedroidrpg): Update to 1.0rc2. [source]: Handle rc suffix in version number. [configure-flags]: Use gexps. [inputs]: Use new style. Add glew. Signed-off-by: Maxim Cournoyer Modified-by: Maxim Cournoyer --- gnu/packages/games.scm | 62 +++++++++++++++++++++++++++----------------------- 1 file changed, 33 insertions(+), 29 deletions(-) (limited to 'gnu/packages/games.scm') diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index c6d23298ff..77b990a4ce 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -1353,44 +1353,48 @@ effects and music to make a completely free game.") (define-public freedroidrpg (package (name "freedroidrpg") - (version "0.16.1") + (version "1.0rc2") (source (origin (method url-fetch) - (uri (string-append "http://ftp.osuosl.org/pub/freedroid/" - "freedroidRPG-" (version-major+minor version) "/" - "freedroidRPG-" version ".tar.gz")) + (uri (let ((major+minor + (version-major+minor + (string-replace-substring version "rc" ".")))) + (string-append "http://ftp.osuosl.org/pub/freedroid/" + "freedroidRPG-" major+minor "/" + "freedroidRPG-" version ".tar.gz"))) (sha256 - (base32 "0n4kn38ncmcy3lrxmq8fjry6c1z50z4q1zcqfig0j4jb0dsz2va2")))) + (base32 "10jknaad2ph9j5bs4jxvpnl8rq5yjlq0nasv98f4mki2hh8yiczy")))) (build-system gnu-build-system) (arguments - `(#:configure-flags - (list - (string-append "CFLAGS=" - "-fcommon " ; XXX needed to build with GCC 10 - "-I" (assoc-ref %build-inputs "sdl-gfx") "/include/SDL " - "-I" (assoc-ref %build-inputs "sdl-image") "/include/SDL " - "-I" (assoc-ref %build-inputs "sdl-mixer") "/include/SDL") - "--enable-opengl") - ;; FIXME: the test suite fails with the following error output: - ;; 4586 Segmentation fault env SDL_VIDEODRIVER=dummy \ - ;; SDL_AUDIODRIVER=dummy ./src/freedroidRPG -nb text - #:tests? #f)) + (list + #:configure-flags + #~(list + (string-append "CFLAGS=-fcommon " + "-I" #$(this-package-input "sdl-gfx") "/include/SDL " + "-I" #$(this-package-input "sdl-image") "/include/SDL " + "-I" #$(this-package-input "sdl-mixer") "/include/SDL") + "--enable-opengl") + ;; FIXME: the test suite fails with the following error output: + ;; 4586 Segmentation fault env SDL_VIDEODRIVER=dummy \ + ;; SDL_AUDIODRIVER=dummy ./src/freedroidRPG -nb text + #:tests? #f)) (native-inputs (list pkg-config)) (inputs - `(("glu" ,glu) - ("libjpeg" ,libjpeg-turbo) - ("libogg" ,libogg) - ("libpng" ,libpng) - ("libvorbis" ,libvorbis) - ("mesa" ,mesa) - ("python" ,python-wrapper) - ("sdl" ,sdl) - ("sdl-gfx" ,sdl-gfx) - ("sdl-image" ,sdl-image) - ("sdl-mixer" ,sdl-mixer) - ("zlib" ,zlib))) + (list glew + glu + libjpeg-turbo + libogg + libpng + libvorbis + mesa + python-wrapper + sdl + sdl-gfx + sdl-image + sdl-mixer + zlib)) (home-page "https://www.freedroid.org/") (synopsis "Isometric role-playing game against killer robots") (description -- cgit v1.2.3 From 1f3a155548c1203480bfb7fceed82acfe9087ce1 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 18 May 2022 18:27:59 +0200 Subject: gnu: 0ad: Use regular symbol syntax. * gnu/packages/games.scm (0ad)[inputs]: Use regular symbol syntax for '0ad-data'. --- gnu/packages/games.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gnu/packages/games.scm') diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 77b990a4ce..37a245c570 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -6677,7 +6677,7 @@ fight against their plot and save his fellow rabbits from slavery.") ;; A snippet here would cause a build failure because of timestamps ;; reset. See https://bugs.gnu.org/26734. (inputs - (list #{0ad-data}# + (list 0ad-data curl enet fmt -- cgit v1.2.3 From b38069a4c9a0352faf0988f94a34c0251568dd8d Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 22 May 2022 02:00:01 +0200 Subject: gnu: cowsay: Update to 3.7.0. * gnu/packages/games.scm (cowsay): Update to 3.7.0. [arguments]: Convert to using G-expressions. Adjust to new upstream build system. --- gnu/packages/games.scm | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) (limited to 'gnu/packages/games.scm') diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 37a245c570..94aec5b80e 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -1062,34 +1062,34 @@ more. This package does @emph{not} provide the game assets.") license:bsd-3)))) ; CorsixTH/Src/random.c (define-public cowsay + ;; This is a continuation of Tony Monroe's now-unmaintained original, that + ;; aims to become the ‘canonical modern fork’. We'll see. What it gives + ;; us today is a bunch of fixes that other distros shipped as patches. (package (name "cowsay") - (version "3.04") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/tnalpgge/rank-amateur-cowsay") - (commit (string-append name "-" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "06455kq37hvq1xb7adyiwrx0djs50arsxvjgixyxks16lm1rlc7n")))) + (version "3.7.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/cowsay-org/cowsay") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0yrgwwacrhsgpyp14c3imkd4bb9b4i68q4df9cq1i1fh4fc2nn5p")))) (build-system gnu-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (delete 'configure) ; no configure script - (delete 'build) ; nothing to be built - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (invoke "sh" "install.sh" - (assoc-ref outputs "out")))) - (delete 'check) - (add-after 'install 'check - (lambda* (#:key outputs #:allow-other-keys) - (invoke (string-append (assoc-ref outputs "out") - "/bin/cowsay") - "We're done!")))))) + (list #:make-flags + #~(list (string-append "prefix=" #$output)) + #:phases + #~(modify-phases %standard-phases + (delete 'configure) ; no configure script + (delete 'check) + (add-after 'install 'check + (lambda* (#:key outputs #:allow-other-keys) + (invoke (string-append (assoc-ref outputs "out") + "/bin/cowsay") + "We're done!")))))) (inputs (list perl)) (home-page (string-append "https://web.archive.org/web/20071026043648/" -- cgit v1.2.3 From 25215181f40b6f78d0613d31248d952185916981 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 22 May 2022 02:00:00 +0200 Subject: gnu: ltris: Update to 1.2.4. * gnu/packages/games.scm (ltris): Update to 1.2.4. --- gnu/packages/games.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu/packages/games.scm') diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 94aec5b80e..e29172dc98 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -1956,14 +1956,14 @@ Chess). It is similar to standard chess but this variant is far more complicate (define-public ltris (package (name "ltris") - (version "1.2.3") + (version "1.2.4") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/lgames/ltris/" "ltris-" version ".tar.gz")) (sha256 - (base32 "1a2m17jwkyar8gj07bn5jk01j2ps4vvc48z955jjjsh67q2svi0f")))) + (base32 "10wg6v12w3jms8ka2x9a87p06l9gzpr94ai9v428c9r320q7psyn")))) (build-system gnu-build-system) (arguments '(#:phases -- cgit v1.2.3 From 24f0beea421315f7ea9d24f9a3cb5367cc463fc1 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 22 May 2022 02:00:00 +0200 Subject: gnu: openttd: Update to 12.2. * gnu/packages/games.scm (openttd): Update to 12.2. --- gnu/packages/games.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu/packages/games.scm') diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index e29172dc98..8dfca4f8eb 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -4258,14 +4258,14 @@ world}, @uref{http://evolonline.org, Evol Online} and (define openttd-engine (package (name "openttd-engine") - (version "12.1") + (version "12.2") (source (origin (method url-fetch) (uri (string-append "https://cdn.openttd.org/openttd-releases/" version "/openttd-" version "-source.tar.xz")) (sha256 (base32 - "1qz7ld55m9cvgr4mkv6c11y0zf2aph3ba605l45qj41hk2wzb2r5")))) + "0p79mi6hnj9138911l56zxxzy7rqz02nmxbf455jc31sx46qyl41")))) (build-system cmake-build-system) (inputs (list allegro -- cgit v1.2.3 From afa96117d063bed29f06494b3d600eb5fe70d58b Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 22 May 2022 02:00:02 +0200 Subject: gnu: rinutils: Update to 0.10.1. * gnu/packages/games.scm (rinutils): Update to 0.10.1. --- gnu/packages/games.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu/packages/games.scm') diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 8dfca4f8eb..703ad5a2a2 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -7589,7 +7589,7 @@ original.") (define-public rinutils (package (name "rinutils") - (version "0.10.0") + (version "0.10.1") (source (origin (method git-fetch) (uri (git-reference @@ -7598,7 +7598,7 @@ original.") (file-name (git-file-name name version)) (sha256 (base32 - "05h9sq3w900mx8xij7qgqgqcbdk1x5gvbpz7prw2pfbzrrbiq2ns")))) + "0r90kncf6mvyklifpdsnm50iya7w2951nz35nlgndmqnr82gvdwf")))) (build-system cmake-build-system) (arguments (list #:phases -- cgit v1.2.3 From d62474af1b67b7df8bbe578001a93e1a78d46d10 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 22 May 2022 02:00:01 +0200 Subject: gnu: fortune-mod: Update to 3.14.0. * gnu/packages/games.scm (fortune-mod): Update to 3.14.0. --- gnu/packages/games.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu/packages/games.scm') diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 703ad5a2a2..2fb772bbe4 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -7648,7 +7648,7 @@ original.") (define-public fortune-mod (package (name "fortune-mod") - (version "3.12.0") + (version "3.14.0") (source (origin (method git-fetch) @@ -7657,7 +7657,7 @@ original.") (commit (string-append "fortune-mod-" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1iq3bxrw8758jqvfqaasd7w1zm0g28g9n25qccnzvr98997h6r2n")))) + (base32 "1f2zif3s6vddbhph4jr1cymdsn7gagg59grrxs0yap6myqmy8shg")))) (build-system cmake-build-system) (arguments (list #:test-target "check" -- cgit v1.2.3 From 8dc47f9ee4f471cf4c2499bfbd90d281ba5c5368 Mon Sep 17 00:00:00 2001 From: Roman Riabenko Date: Tue, 24 May 2022 09:25:24 +0300 Subject: gnu: robotfindskitten: Fix typo in description. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/games.scm (robotfindskitten)[description]: Use correct spelling of “humorously”. --- gnu/packages/games.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gnu/packages/games.scm') diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 2fb772bbe4..3e4369f474 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -2283,7 +2283,7 @@ utilizing the art assets from the @code{SuperTux} project.") (synopsis "Thematic meditative game") (description "You are a robot moving around in a realm filled with ASCII characters. -Examine humourously described though useless items as you search for a kitten +Examine humorously described though useless items as you search for a kitten among them. The theme of this Zen simulation is continued in its documentation.") (home-page "http://robotfindskitten.org/") -- cgit v1.2.3 From b7da08a4f9920f6aa703c9727b74644c4268763b Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Fri, 29 Apr 2022 17:34:19 -0400 Subject: gnu: Remove slingshot. * gnu/packages/games.scm (slingshot): Delete variable. --- gnu/packages/games.scm | 27 --------------------------- 1 file changed, 27 deletions(-) (limited to 'gnu/packages/games.scm') diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 3e4369f474..76f1e5df86 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -8682,33 +8682,6 @@ the net. There can be 1 to 8 balls in game. Once one ball touches the ground, the set ends and all balls are served again.") (license license:gpl3+))) -(define-public slingshot - (package - (name "slingshot") - (version "0.9") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/ryanakca/slingshot") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "19m8b6nsi786bc6gmkp185mwri3r5y249gjmqd5qsc23nnfhgrs1")))) - (build-system python-build-system) - (arguments - `(#:python ,python-2)) - (inputs - (list python2-pygame)) - (home-page "https://github.com/ryanakca/slingshot") - (synopsis "Simple 2D shooting strategy game set in space") - (description "Slingshot is a two-dimensional strategy game where two -players attempt to shoot one another through a section of space populated by -planets. The main feature of the game is that the shots, once fired, are -affected by the gravity of the planets.") - (license license:gpl2+))) - (define-public 4dtris (package (name "4dtris") -- cgit v1.2.3 From 5e25a69e6e3733ad8845d1b187940877deba7750 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Fri, 13 May 2022 14:03:41 -0400 Subject: gnu: mozjs: Cleanup to only keep the last version. * gnu/packages/gnuzilla.scm (mozjs): Preserve only the metadata and otherwise update fields to use those of mozjs-78. [arguments]: Use gexps. [phases]: Delete trailing #t. [native-inputs]: Use new style. (mozjs-38, mozjs-52, mozjs-60, mozjs-78): Delete variables. * gnu/packages/patches/mozjs17-aarch64-support.patch * gnu/packages/patches/mozjs24-aarch64-support.patch * gnu/packages/patches/mozjs38-pkg-config-version.patch * gnu/packages/patches/mozjs38-shell-version.patch * gnu/packages/patches/mozjs38-tracelogger.patch * gnu/packages/patches/mozjs38-version-detection.patch * gnu/packages/patches/mozjs60-riscv64-support.patch: Delete patches. * gnu/local.mk (dist_patch_DATA): De-register them. * gnu/packages/games.scm (0ad): Adjust accordingly. * gnu/packages/gnome.scm (gjs): Likewise. * gnu/packages/polkit.scm (polkit-mozjs): Likewise. --- gnu/local.mk | 7 - gnu/packages/games.scm | 2 +- gnu/packages/gnome.scm | 2 +- gnu/packages/gnuzilla.scm | 567 ++++--------------- gnu/packages/patches/mozjs17-aarch64-support.patch | 60 -- gnu/packages/patches/mozjs24-aarch64-support.patch | 21 - .../patches/mozjs38-pkg-config-version.patch | 24 - gnu/packages/patches/mozjs38-shell-version.patch | 67 --- gnu/packages/patches/mozjs38-tracelogger.patch | 608 --------------------- .../patches/mozjs38-version-detection.patch | 180 ------ gnu/packages/patches/mozjs60-riscv64-support.patch | 122 ----- gnu/packages/polkit.scm | 2 +- 12 files changed, 114 insertions(+), 1548 deletions(-) delete mode 100644 gnu/packages/patches/mozjs17-aarch64-support.patch delete mode 100644 gnu/packages/patches/mozjs24-aarch64-support.patch delete mode 100644 gnu/packages/patches/mozjs38-pkg-config-version.patch delete mode 100644 gnu/packages/patches/mozjs38-shell-version.patch delete mode 100644 gnu/packages/patches/mozjs38-tracelogger.patch delete mode 100644 gnu/packages/patches/mozjs38-version-detection.patch delete mode 100644 gnu/packages/patches/mozjs60-riscv64-support.patch (limited to 'gnu/packages/games.scm') diff --git a/gnu/local.mk b/gnu/local.mk index 83ee7e2930..947669459e 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1509,13 +1509,6 @@ dist_patch_DATA = \ %D%/packages/patches/monero-use-system-miniupnpc.patch \ %D%/packages/patches/mono-mdoc-timestamping.patch \ %D%/packages/patches/mosaicatcher-unbundle-htslib.patch \ - %D%/packages/patches/mozjs17-aarch64-support.patch \ - %D%/packages/patches/mozjs24-aarch64-support.patch \ - %D%/packages/patches/mozjs38-pkg-config-version.patch \ - %D%/packages/patches/mozjs38-shell-version.patch \ - %D%/packages/patches/mozjs38-tracelogger.patch \ - %D%/packages/patches/mozjs38-version-detection.patch \ - %D%/packages/patches/mozjs60-riscv64-support.patch \ %D%/packages/patches/mrrescue-support-love-11.patch \ %D%/packages/patches/mtools-mformat-uninitialized.patch \ %D%/packages/patches/mumps-build-parallelism.patch \ diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 76f1e5df86..05bcdc9b98 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -6690,7 +6690,7 @@ fight against their plot and save his fellow rabbits from slavery.") libxcursor libxml2 miniupnpc - mozjs-78 + mozjs openal sdl2 wxwidgets diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index f33f3a2632..15d0d5f6a0 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -7203,7 +7203,7 @@ configuration program to choose applications starting on login.") ("xvfb" ,xorg-server-for-tests))) (propagated-inputs ;; These are all in the Requires.private field of gjs-1.0.pc. - (list cairo gobject-introspection mozjs-78)) + (list cairo gobject-introspection mozjs)) (inputs (list gtk+ readline)) (synopsis "Javascript bindings for GNOME") diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index 8f1e8fe647..0c64c44adf 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -96,356 +96,6 @@ (define-public mozjs (package (name "mozjs") - (version "17.0.0") - (source (origin - (method url-fetch) - (uri (string-append - "https://ftp.mozilla.org/pub/mozilla.org/js/" - name version ".tar.gz")) - (sha256 - (base32 - "1fig2wf4f10v43mqx67y68z6h77sy900d1w0pz9qarrqx57rc7ij")) - (patches (search-patches "mozjs17-aarch64-support.patch")) - (modules '((guix build utils))) - (snippet - ;; Fix incompatibility with Perl 5.22+. - '(begin - (substitute* '("js/src/config/milestone.pl") - (("defined\\(@TEMPLATE_FILE)") "@TEMPLATE_FILE")) - #t)))) - (build-system gnu-build-system) - (native-inputs - `(("perl" ,perl) - ("pkg-config" ,pkg-config) - ("python" ,python-2))) - (propagated-inputs - (list nspr)) ; in the Requires.private field of mozjs-17.0.pc - (inputs - (list zlib)) - (arguments - `(;; XXX: parallel build fails, lacking: - ;; mkdir -p "system_wrapper_js/" - #:parallel-build? #f - #:make-flags '("CXXFLAGS=-fpermissive") - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'delete-timedout-test - ;; This test times out on slower hardware. - (lambda _ - (delete-file "js/src/jit-test/tests/basic/bug698584.js") - #t)) - (add-before 'configure 'chdir - (lambda _ - (chdir "js/src") - #t)) - (replace 'configure - ;; configure fails if it is followed by SHELL and CONFIG_SHELL - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (setenv "SHELL" (which "sh")) - (setenv "CONFIG_SHELL" (which "sh")) - (invoke "./configure" (string-append "--prefix=" out) - ,@(if (string=? "aarch64-linux" - (%current-system)) - '("--host=aarch64-unknown-linux-gnu") - '())))))))) - (home-page - "https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey") - (synopsis "Mozilla javascript engine") - (description "SpiderMonkey is Mozilla's JavaScript engine written -in C/C++.") - (license license:mpl2.0))) ; and others for some files - -(define-public mozjs-24 - (package (inherit mozjs) - (name "mozjs") - (version "24.2.0") - (source (origin - (method url-fetch) - (uri (string-append - "https://ftp.mozilla.org/pub/mozilla.org/js/" - name "-" version ".tar.bz2")) - (sha256 - (base32 - "1n1phk8r3l8icqrrap4czplnylawa0ddc2cc4cgdz46x3lrkybz6")) - (modules '((guix build utils))) - (patches (search-patches "mozjs24-aarch64-support.patch")) - (snippet - ;; Fix incompatibility with Perl 5.22+. - '(begin - (substitute* '("js/src/config/milestone.pl") - (("defined\\(@TEMPLATE_FILE)") "@TEMPLATE_FILE")) - #t)))) - (arguments - (substitute-keyword-arguments (package-arguments mozjs) - ((#:phases phases) - `(modify-phases ,phases - (replace 'configure - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - ;; configure fails if it is followed by SHELL and CONFIG_SHELL - (setenv "SHELL" (which "sh")) - (setenv "CONFIG_SHELL" (which "sh")) - (invoke "./configure" - (string-append "--prefix=" out) - "--with-system-nspr" - "--enable-system-ffi" - "--enable-threadsafe" - ,@(if (string=? "aarch64-linux" - (%current-system)) - '("--host=aarch64-unknown-linux-gnu") - '()))))))))) - (inputs - (list libffi zlib)))) - -(define-public mozjs-38 - (package - (inherit mozjs) - (name "mozjs") - (version "38.2.1.rc0") - (source (origin - (method url-fetch) - (uri (string-append - "https://anduin.linuxfromscratch.org/BLFS/mozjs/" - name "-" version ".tar.bz2")) - (sha256 - (base32 - "0p4bmbpgkfsj54xschcny0a118jdrdgg0q29rwxigg3lh5slr681")) - (patches - (search-patches - ;; See https://bugzilla.mozilla.org/show_bug.cgi?id=1269317 for - ;; GCC 6 compatibility. - - "mozjs38-version-detection.patch" ; for 0ad - "mozjs38-tracelogger.patch" - - ;; See https://bugzilla.mozilla.org/show_bug.cgi?id=1339931. - "mozjs38-pkg-config-version.patch" - "mozjs38-shell-version.patch")) - (modules '((guix build utils))) - (snippet - '(begin - ;; Fix incompatibility with sed 4.4. - (substitute* "js/src/configure" - (("\\^\\[:space:\\]") "^[[:space:]]")) - - ;; The headers are symlinks to files that are in /tmp, so they - ;; end up broken. Copy them instead. - (substitute* - "python/mozbuild/mozbuild/backend/recursivemake.py" - (("\\['dist_include'\\].add_symlink") - "['dist_include'].add_copy")) - - ;; Remove bundled libraries. - (for-each delete-file-recursively - '("intl" - "js/src/ctypes/libffi" - "js/src/ctypes/libffi-patches" - "modules/zlib")) - #t)))) - (arguments - `(;; XXX: parallel build fails, lacking: - ;; mkdir -p "system_wrapper_js/" - #:parallel-build? #f - ;; See https://bugzilla.mozilla.org/show_bug.cgi?id=1008470. - #:tests? #f - #:phases - (modify-phases %standard-phases - (replace 'configure - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (chdir "js/src") - (setenv "SHELL" (which "sh")) - (setenv "CONFIG_SHELL" (which "sh")) - (invoke "./configure" - (string-append "--prefix=" out) - "--enable-ctypes" - "--enable-gcgenerational" - "--enable-optimize" - "--enable-pie" - "--enable-readline" - "--enable-shared-js" - "--enable-system-ffi" - "--enable-threadsafe" - "--enable-xterm-updates" - "--with-system-icu" - "--with-system-nspr" - "--with-system-zlib" - - ;; Intl API requires bundled ICU. - "--without-intl-api"))))))) - (native-inputs - `(("perl" ,perl) - ("pkg-config" ,pkg-config) - ("python-2" ,python-2))) - (inputs - (list libffi readline icu4c zlib)))) - -(define-public mozjs-52 - ;; No releases yet at . - ;; While we could take a snapshot of the complete mozilla-esr52 repository at - ;; , - ;; we take the Debian version instead, because it is easier to work with. - (let ((commit "6507e63cc416fd7a3269e390efe712f8b56f374a") - (revision "1")) - (package (inherit mozjs-38) - (version (git-version "52.0" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://salsa.debian.org/gnome-team/mozjs52.git") - (commit commit))) - (file-name (git-file-name "mozjs" version)) - (sha256 - (base32 - "1ny0s53r8wn4byys87h784xrq1xg767akmfm6gqrbvrz57mlm3q2")))) - (arguments - `(#:tests? #f ; depends on repository metadata - #:configure-flags - '("--enable-ctypes" - "--enable-optimize" - "--enable-pie" - "--enable-readline" - "--enable-shared-js" - "--enable-system-ffi" - "--with-system-icu" - "--with-system-nspr" - "--with-system-zlib" - - ;; Intl API requires bundled ICU. - "--without-intl-api" - - ;; Without this gnome-shell will crash at runtime. - "--disable-jemalloc") - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-and-chdir - (lambda* (#:key inputs #:allow-other-keys) - ;; This patch prevents a segfault when executing JS_Init(). - ;; The build does not fail without this patch, but the - ;; configure phase of the gjs package would fail. - ;; See https://bugzilla.mozilla.org/show_bug.cgi?id=1176787 - (make-file-writable "js/src/old-configure.in") - (make-file-writable "js/src/old-configure") - (make-file-writable "mozglue/build/moz.build") - (invoke "patch" "-p1" "--force" - "--input" "debian/patches/disable-mozglue.patch") - (invoke "touch" "js/src/configure") - (chdir "js/src") - #t)) - (replace 'configure - (lambda* (#:key inputs outputs configure-flags #:allow-other-keys) - ;; The configure script does not accept environment variables - ;; as arguments. - (let ((out (assoc-ref outputs "out"))) - (setenv "SHELL" (which "sh")) - (setenv "CONFIG_SHELL" (which "sh")) - (setenv "AUTOCONF" (which "autoconf")) - (apply invoke "./configure" - (cons (string-append "--prefix=" out) - configure-flags)))))))) - (native-inputs - (modify-inputs (package-native-inputs mozjs-38) - (prepend autoconf-2.13 automake)))))) - -(define-public mozjs-60 - ;; No releases yet at . - ;; While we could take a snapshot of the complete mozilla-esr60 repository at - ;; , - ;; we take the Debian version instead, because it is easier to work with. - (package - (inherit mozjs-38) - (version "60.2.3-4") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://salsa.debian.org/gnome-team/mozjs60.git") - (commit (string-append "debian/" version)))) - (file-name (git-file-name "mozjs" version)) - (sha256 - (base32 - "1xl6avsj9gkgma71p56jzs7nasc767k3n1frnmri5pad4rj94bij")) - (patches (search-patches "mozjs60-riscv64-support.patch")))) - (arguments - `(#:tests? #f ; FIXME: all tests pass, but then the check phase fails anyway. - #:test-target "check-jstests" - #:configure-flags - ,#~(quasiquote - ("--enable-ctypes" - "--enable-optimize" - "--enable-pie" - "--enable-readline" - "--enable-shared-js" - "--enable-system-ffi" - "--with-system-nspr" - #$@(if (%current-target-system) - #~(,(string-append "--with-nspr-prefix=" - #$(this-package-input "nspr"))) - #~()) - "--with-system-zlib" - "--with-system-icu" - "--with-intl-api" - ;; This is important because without it gjs will segfault during the - ;; configure phase. With jemalloc only the standalone mozjs console - ;; will work. - "--disable-jemalloc" - ;; Mozilla deviates from Autotools conventions due to historical - ;; reasons. - #$@(if (%current-target-system) - #~(#$(string-append - "--host=" - (nix-system->gnu-triplet (%current-system))) - #$(string-append "--target=" (%current-target-system))) - #~()))) - #:phases - (modify-phases %standard-phases - ;; Make sure pkg-config will be found. - ,@(if (%current-target-system) - `((add-before 'configure 'set-PKG-CONFIG - (lambda _ - (setenv "PKG_CONFIG" ,(pkg-config-for-target))))) - '()) - (replace 'configure - (lambda* (#:key inputs outputs configure-flags #:allow-other-keys) - ;; The configure script does not accept environment variables as - ;; arguments. It also must be run from a different directory, - ;; but not the root directory either. - (let ((out (assoc-ref outputs "out"))) - (mkdir "run-configure-from-here") - (chdir "run-configure-from-here") - (setenv "SHELL" (which "sh")) - (setenv "CONFIG_SHELL" (which "sh")) - (setenv "AUTOCONF" (which "autoconf")) - (apply invoke "../js/src/configure" - (cons (string-append "--prefix=" out) - configure-flags)) - #t))) - (add-after 'unpack 'update-config-scripts - (lambda* (#:key native-inputs inputs #:allow-other-keys) - (for-each (lambda (file) - (install-file - (search-input-file - (or native-inputs inputs) - (string-append "/bin/" file)) "build/autoconf")) - '("config.guess" "config.sub")))) - (add-after 'unpack 'disable-broken-tests - (lambda _ - ;; This test assumes that /bin exists and contains certain - ;; executables. - (delete-file "js/src/tests/shell/os.js") - #t))))) - (native-inputs - `(("autoconf" ,autoconf) - ("automake" ,automake) - ("config" ,config) - ("which" ,which) - ("perl" ,perl) - ("pkg-config" ,pkg-config) - ("python" ,python-2))))) - -(define-public mozjs-78 - (package - (inherit mozjs-60) (version "78.15.0") (source (origin (method url-fetch) @@ -456,13 +106,16 @@ in C/C++.") (sha256 (base32 "0l91cxdc5v9fps79ckb1kid4gw6v5qng1jd9zvaacwaiv628shx4")))) + (build-system gnu-build-system) (arguments - `(#:imported-modules ,%cargo-utils-modules ;for `generate-all-checksums' - #:modules ((guix build cargo-utils) + (list + #:imported-modules %cargo-utils-modules ;for `generate-all-checksums' + #:modules `((guix build cargo-utils) ,@%gnu-build-system-modules) - #:test-target "check-jstests" - #:configure-flags - '(;; Disable debugging symbols to save space. + #:test-target "check-jstests" + #:configure-flags + #~(list + ;; Disable debugging symbols to save space. "--disable-debug" "--disable-debug-symbols" ;; This is important because without it gjs will segfault during the @@ -483,109 +136,111 @@ in C/C++.") "--with-system-nspr" "--with-system-zlib" "--with-intl-api") - #:phases - (modify-phases %standard-phases - (add-after 'patch-source-shebangs 'patch-cargo-checksums - (lambda _ - (let ((null-hash - "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855")) - (for-each (lambda (file) - (format #t "patching checksums in ~a~%" file) - (substitute* file - (("^checksum = \".*\"") - (string-append "checksum = \"" null-hash "\"")))) - (find-files "." "Cargo\\.lock$")) - (for-each generate-all-checksums - '("js" "third_party/rust")) - #t))) - (replace 'configure - (lambda* (#:key inputs outputs configure-flags #:allow-other-keys) - ;; The configure script does not accept environment variables as - ;; arguments. It also must be run from a different directory, - ;; but not the root directory either. - (let ((out (assoc-ref outputs "out"))) - (mkdir "run-configure-from-here") - (chdir "run-configure-from-here") - (setenv "SHELL" (which "sh")) - (setenv "CONFIG_SHELL" (which "sh")) - (setenv "AUTOCONF" (which "autoconf")) - (apply invoke "../js/src/configure" - (cons (string-append "--prefix=" out) - configure-flags)) - #t))) - (add-after 'unpack 'adjust-for-icu-68 - (lambda _ - (with-directory-excursion "js/src/tests" - ;; The test suite expects a lightly patched ICU 67. Since - ;; Guix is about to switch to ICU 68, massage the tests to - ;; work with that instead of patching ICU. Try removing this - ;; phase for newer versions of mozjs. - - ;; These tests look up locale names and expects to get - ;; "GB" instead of "UK". - (substitute* "non262/Intl/DisplayNames/language.js" - (("Traditionell, GB") - "Traditionell, UK")) - (substitute* "non262/Intl/DisplayNames/region.js" - (("\"GB\": \"GB\"") - "\"GB\": \"UK\"")) - - ;; XXX: Some localized time formats have changed, and - ;; substitution fails for accented characters, even though - ;; it works in the REPL(?). Just delete these for now. - (delete-file "non262/Intl/Date/toLocaleString_timeZone.js") - (delete-file "non262/Intl/Date/toLocaleDateString_timeZone.js") - - ;; Similarly, these get an unexpected "A" suffix when looking - ;; up a time in the "ar-MA-u-ca-islamicc" locale, which is - ;; tricky to substitute. - (delete-file "non262/Intl/DateTimeFormat/format_timeZone.js") - (delete-file "non262/Intl/DateTimeFormat/format.js") - - ;; This file compares a generated list of ICU locale names - ;; with actual lookups. Some have changed slightly, i.e. - ;; daf-Latn-ZZ -> daf-Latn-CI, so drop it for simplicity. - (delete-file "non262/Intl/Locale/likely-subtags-generated.js")) - - #t)) - (add-before 'check 'pre-check - (lambda _ - (with-directory-excursion "../js/src/tests" - (substitute* "shell/os.js" - ;; FIXME: Why does the killed process have an exit status? - ((".*killed process should not have exitStatus.*") - "")) - - ;; XXX: Delete all tests that test time zone functionality, - ;; because the test suite uses /etc/localtime to figure out - ;; the offset from the hardware clock, which does not work - ;; in the build container. See . - (delete-file-recursively "non262/Date") - (delete-file "non262/Intl/DateTimeFormat/tz-environment-variable.js") - - (setenv "JSTESTS_EXTRA_ARGS" - (string-join - (list - ;; Do not run tests marked as "random". - "--exclude-random" - ;; Exclude web platform tests. - "--wpt=disabled" - ;; Respect the daemons configured number of jobs. - (string-append "--worker-count=" - (number->string (parallel-job-count))))))) - #t))))) + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-source-shebangs 'patch-cargo-checksums + (lambda _ + (let ((null-hash + "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855")) + (for-each (lambda (file) + (format #t "patching checksums in ~a~%" file) + (substitute* file + (("^checksum = \".*\"") + (string-append "checksum = \"" null-hash "\"")))) + (find-files "." "Cargo\\.lock$")) + (for-each generate-all-checksums + '("js" "third_party/rust"))))) + (replace 'configure + (lambda* (#:key inputs configure-flags #:allow-other-keys) + ;; The configure script does not accept environment variables as + ;; arguments. It also must be run from a different directory, + ;; but not the root directory either. + (mkdir "run-configure-from-here") + (chdir "run-configure-from-here") + (setenv "SHELL" (which "sh")) + (setenv "CONFIG_SHELL" (which "sh")) + (setenv "AUTOCONF" (which "autoconf")) + (apply invoke "../js/src/configure" + (cons (string-append "--prefix=" #$output) + configure-flags)))) + (add-after 'unpack 'adjust-for-icu-68 + (lambda _ + (with-directory-excursion "js/src/tests" + ;; The test suite expects a lightly patched ICU 67. Since + ;; Guix is about to switch to ICU 68, massage the tests to + ;; work with that instead of patching ICU. Try removing this + ;; phase for newer versions of mozjs. + + ;; These tests look up locale names and expects to get + ;; "GB" instead of "UK". + (substitute* "non262/Intl/DisplayNames/language.js" + (("Traditionell, GB") + "Traditionell, UK")) + (substitute* "non262/Intl/DisplayNames/region.js" + (("\"GB\": \"GB\"") + "\"GB\": \"UK\"")) + + ;; XXX: Some localized time formats have changed, and + ;; substitution fails for accented characters, even though + ;; it works in the REPL(?). Just delete these for now. + (delete-file "non262/Intl/Date/toLocaleString_timeZone.js") + (delete-file "non262/Intl/Date/toLocaleDateString_timeZone.js") + + ;; Similarly, these get an unexpected "A" suffix when looking + ;; up a time in the "ar-MA-u-ca-islamicc" locale, which is + ;; tricky to substitute. + (delete-file "non262/Intl/DateTimeFormat/format_timeZone.js") + (delete-file "non262/Intl/DateTimeFormat/format.js") + + ;; This file compares a generated list of ICU locale names + ;; with actual lookups. Some have changed slightly, i.e. + ;; daf-Latn-ZZ -> daf-Latn-CI, so drop it for simplicity. + (delete-file "non262/Intl/Locale/likely-subtags-generated.js")))) + (add-before 'check 'pre-check + (lambda _ + (with-directory-excursion "../js/src/tests" + (substitute* "shell/os.js" + ;; FIXME: Why does the killed process have an exit status? + ((".*killed process should not have exitStatus.*") + "")) + + ;; XXX: Delete all tests that test time zone functionality, + ;; because the test suite uses /etc/localtime to figure out + ;; the offset from the hardware clock, which does not work + ;; in the build container. See . + (delete-file-recursively "non262/Date") + (delete-file "non262/Intl/DateTimeFormat/tz-environment-variable.js") + + (setenv "JSTESTS_EXTRA_ARGS" + (string-join + (list + ;; Do not run tests marked as "random". + "--exclude-random" + ;; Exclude web platform tests. + "--wpt=disabled" + ;; Respect the daemons configured number of jobs. + (string-append "--worker-count=" + (number->string (parallel-job-count)))))))))))) (native-inputs - `(("autoconf" ,autoconf-2.13) - ("automake" ,automake) - ;; TODO(staging): Use the default LLVM in the next rebuild cycle. - ("llvm" ,llvm-9) ;for llvm-objdump - ("perl" ,perl) - ("pkg-config" ,pkg-config) - ("python" ,python-3) - ("rust" ,rust) - ("cargo" ,rust "cargo"))) + (list autoconf-2.13 + automake + ;; TODO(staging): Use the default LLVM in the next rebuild cycle. + llvm-9 ;for llvm-objdump + perl + pkg-config + python-3 + rust + `(,rust "cargo"))) (inputs - (list icu4c readline zlib)))) + (list icu4c readline zlib)) + (propagated-inputs + (list nspr)) ; in the Requires.private field of mozjs-*.pc + (home-page + "https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey") + (synopsis "Mozilla javascript engine") + (description "SpiderMonkey is Mozilla's JavaScript engine written +in C/C++.") + (license license:mpl2.0))) ; and others for some files (define mozilla-compare-locales (origin diff --git a/gnu/packages/patches/mozjs17-aarch64-support.patch b/gnu/packages/patches/mozjs17-aarch64-support.patch deleted file mode 100644 index 51e2e306d5..0000000000 --- a/gnu/packages/patches/mozjs17-aarch64-support.patch +++ /dev/null @@ -1,60 +0,0 @@ -https://build.opensuse.org/package/view_file/openSUSE:Factory/mozjs17/mozjs-aarch64-support.patch - -index c071c33..90764c3 100644 ---- a/js/src/assembler/jit/ExecutableAllocator.h -+++ b/js/src/assembler/jit/ExecutableAllocator.h -@@ -382,6 +382,12 @@ public: - { - reprotectRegion(start, size, Executable); - } -+#elif WTF_CPU_AARCH64 && WTF_PLATFORM_LINUX -+ static void cacheFlush(void* code, size_t size) -+ { -+ intptr_t end = reinterpret_cast(code) + size; -+ __builtin___clear_cache(reinterpret_cast(code), reinterpret_cast(end)); -+ } - #else - static void makeWritable(void*, size_t) {} - static void makeExecutable(void*, size_t) {} -diff --git a/js/src/assembler/wtf/Platform.h b/js/src/assembler/wtf/Platform.h -index 0c84896..e8763a7 100644 ---- a/js/src/assembler/wtf/Platform.h -+++ b/js/src/assembler/wtf/Platform.h -@@ -325,6 +325,10 @@ - #define WTF_THUMB_ARCH_VERSION 0 - #endif - -+/* CPU(AArch64) - 64-bit ARM */ -+#if defined(__aarch64__) -+#define WTF_CPU_AARCH64 1 -+#endif - - /* WTF_CPU_ARMV5_OR_LOWER - ARM instruction set v5 or earlier */ - /* On ARMv5 and below the natural alignment is required. -diff --git a/js/src/configure.in b/js/src/configure.in -index 15605b2..19fd704 100644 ---- a/js/src/configure.in -+++ b/js/src/configure.in -@@ -1121,6 +1121,10 @@ arm*) - CPU_ARCH=arm - ;; - -+aarch64) -+ CPU_ARCH=aarch64 -+ ;; -+ - mips|mipsel) - CPU_ARCH="mips" - ;; -diff --git a/mfbt/double-conversion/utils.h b/mfbt/double-conversion/utils.h -index 0eec2d9..fe26dab 100644 ---- a/mfbt/double-conversion/utils.h -+++ b/mfbt/double-conversion/utils.h -@@ -58,6 +58,7 @@ - defined(__mips__) || defined(__powerpc__) || \ - defined(__sparc__) || defined(__sparc) || defined(__s390__) || \ - defined(__SH4__) || defined(__alpha__) || \ -+ defined(__aarch64__) || \ - defined(_MIPS_ARCH_MIPS32R2) - #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1 - #elif defined(_M_IX86) || defined(__i386__) || defined(__i386) diff --git a/gnu/packages/patches/mozjs24-aarch64-support.patch b/gnu/packages/patches/mozjs24-aarch64-support.patch deleted file mode 100644 index 9dca8e500c..0000000000 --- a/gnu/packages/patches/mozjs24-aarch64-support.patch +++ /dev/null @@ -1,21 +0,0 @@ -This patch is sourced from Debian's mozjs24 patch set. - -Description: Add arm64 support -Author: Andreas Schwab -Origin: vendor, https://build.opensuse.org/package/view_file/openSUSE:Factory/mozjs17/mozjs-aarch64-support.patch -Forwarded: no -Last-Update: 2014-01-03 - -Index: b/mfbt/double-conversion/utils.h -=================================================================== ---- a/mfbt/double-conversion/utils.h -+++ b/mfbt/double-conversion/utils.h -@@ -58,7 +58,7 @@ - defined(__mips__) || defined(__powerpc__) || \ - defined(__sparc__) || defined(__sparc) || defined(__s390__) || \ - defined(__SH4__) || defined(__alpha__) || \ -- defined(_MIPS_ARCH_MIPS32R2) -+ defined(_MIPS_ARCH_MIPS32R2) || defined(__aarch64__) - #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1 - #elif defined(_M_IX86) || defined(__i386__) || defined(__i386) - #if defined(_WIN32) diff --git a/gnu/packages/patches/mozjs38-pkg-config-version.patch b/gnu/packages/patches/mozjs38-pkg-config-version.patch deleted file mode 100644 index 49ff6f6f8d..0000000000 --- a/gnu/packages/patches/mozjs38-pkg-config-version.patch +++ /dev/null @@ -1,24 +0,0 @@ -Taken from https://bug1339931.bmoattachments.org/attachment.cgi?id=8837770. - -Add major version to pkg-config filename. -Author: Rico Tzschichholz -Forwarded: no -Last-Update: 2015-05-04 - -Index: b/js/src/Makefile.in -=================================================================== ---- a/js/src/Makefile.in -+++ b/js/src/Makefile.in -@@ -214,10 +214,10 @@ - $(JS_CONFIG_NAME): js-config - cp $^ $@ - --$(LIBRARY_NAME).pc: js.pc -+$(JS_LIBRARY_NAME).pc: js.pc - cp $^ $@ - --install:: $(LIBRARY_NAME).pc -+install:: $(JS_LIBRARY_NAME).pc - $(SYSINSTALL) $^ $(DESTDIR)$(libdir)/pkgconfig - - install:: js-config.h diff --git a/gnu/packages/patches/mozjs38-shell-version.patch b/gnu/packages/patches/mozjs38-shell-version.patch deleted file mode 100644 index e7d3d19c85..0000000000 --- a/gnu/packages/patches/mozjs38-shell-version.patch +++ /dev/null @@ -1,67 +0,0 @@ -Taken from https://bug1339931.bmoattachments.org/attachment.cgi?id=8837771. - -# HG changeset patch -# Parent 4732a0e5d22bc7e5c1f1ace7a182d537d9cc2c6a -Add major version to shell and js-config filenames. -Author: Rico Tzschichholz -Forwarded: no -Last-Update: 2014-10-29 - ---- -diff --git a/js/src/configure b/js/src/configure ---- a/js/src/configure -+++ b/js/src/configure -@@ -1696,8 +1696,13 @@ - MOZJS_PATCH_VERSION=`echo $MOZILLA_VERSION | sed "s|^[0-9]*\.[0-9]*[^0-9]*||"` - IS_ALPHA=`echo $MOZILLA_VERSION | grep '[ab]'` - -+if test -n "$JS_STANDALONE"; then -+JS_SHELL_NAME=js$MOZJS_MAJOR_VERSION -+JS_CONFIG_NAME=js$MOZJS_MAJOR_VERSION-config -+else - JS_SHELL_NAME=js - JS_CONFIG_NAME=js-config -+fi - - - if test -n "$IS_ALPHA"; then - -diff --git a/js/src/configure.in b/js/src/configure.in ---- a/js/src/configure.in -+++ b/js/src/configure.in -@@ -234,16 +234,13 @@ MOZJS_MINOR_VERSION=`echo $MOZILLA_VERSI - MOZJS_PATCH_VERSION=`echo $MOZILLA_VERSION | sed "s|^[0-9]*\.[0-9]*[^0-9]*||"` - IS_ALPHA=`echo $MOZILLA_VERSION | grep '[ab]'` - --dnl XXX in a temporary bid to avoid developer anger at renaming files --dnl XXX before "js" symlinks exist, don't change names. --dnl --dnl if test -n "$JS_STANDALONE"; then --dnl JS_SHELL_NAME=js$MOZJS_MAJOR_VERSION --dnl JS_CONFIG_NAME=js$MOZJS_MAJOR_VERSION-config --dnl else -+if test -n "$JS_STANDALONE"; then -+JS_SHELL_NAME=js$MOZJS_MAJOR_VERSION -+JS_CONFIG_NAME=js$MOZJS_MAJOR_VERSION-config -+else - JS_SHELL_NAME=js - JS_CONFIG_NAME=js-config --dnl fi -+fi - - changequote([,]) - if test -n "$IS_ALPHA"; then - -diff -r 80a9e64d75f5 js/src/Makefile.in ---- a/js/src/Makefile.in Wed Jun 25 15:11:42 2014 +0200 -+++ b/js/src/Makefile.in Sat Jul 05 14:08:38 2014 +0200 -@@ -273,6 +273,9 @@ - SCRIPTS = $(JS_CONFIG_NAME) - SDK_BINARY = $(JS_CONFIG_NAME) - -+$(JS_CONFIG_NAME): js-config -+ cp $^ $@ -+ - $(JS_LIBRARY_NAME).pc: js.pc - cp $^ $@ - diff --git a/gnu/packages/patches/mozjs38-tracelogger.patch b/gnu/packages/patches/mozjs38-tracelogger.patch deleted file mode 100644 index 0375ec36cc..0000000000 --- a/gnu/packages/patches/mozjs38-tracelogger.patch +++ /dev/null @@ -1,608 +0,0 @@ -Squashed version of several commits to fix the tracelogger. - -Taken from -https://github.com/GNOME/jhbuild/blob/master/patches/mozjs38-fix-tracelogger.patch. - -# === Fix the SM38 tracelogger === -# This patch is a squashed version of several patches that were adapted -# to fix failing hunks. -# -# Applied in the following order, they are: -# * https://bugzilla.mozilla.org/show_bug.cgi?id=1223767 -# Assertion failure: i < size_, at js/src/vm/TraceLoggingTypes.h:210 -# Also fix stop-information to make reduce.py work correctly. -# * https://bugzilla.mozilla.org/show_bug.cgi?id=1227914 -# Limit the memory tracelogger can take. -# This causes tracelogger to flush data to the disk regularly and prevents out of -# memory issues if a lot of data gets logged. -# * https://bugzilla.mozilla.org/show_bug.cgi?id=1155618 -# Fix tracelogger destructor that touches possibly uninitialised hash table. -# * https://bugzilla.mozilla.org/show_bug.cgi?id=1223636 -# Don't treat extraTextId as containing only extra ids. -# This fixes an assertion failure: id == nextTextId at js/src/vm/TraceLoggingGraph.cpp -# * https://bugzilla.mozilla.org/show_bug.cgi?id=1227028 -# Fix when to keep the payload of a TraceLogger event. -# This fixes an assertion failure: textId < uint32_t(1 << 31) at js/src/vm/TraceLoggingGraph.h -# * https://bugzilla.mozilla.org/show_bug.cgi?id=1266649 -# Handle failing to add to pointermap gracefully. -# * https://bugzilla.mozilla.org/show_bug.cgi?id=1280648 -# Don't cache based on pointers to movable GC things. -# * https://bugzilla.mozilla.org/show_bug.cgi?id=1224123 -# Fix the use of LastEntryId in tracelogger.h. -# * https://bugzilla.mozilla.org/show_bug.cgi?id=1231170 -# Use size in debugger instead of the current id to track last logged item. -# * https://bugzilla.mozilla.org/show_bug.cgi?id=1221844 -# Move TraceLogger_Invalidation to LOG_ITEM. -# Add some debug checks to logTimestamp. -# * https://bugzilla.mozilla.org/show_bug.cgi?id=1255766 -# Also mark resizing of memory. -# * https://bugzilla.mozilla.org/show_bug.cgi?id=1259403 -# Only increase capacity by multiples of 2. -# Always make sure there are 3 free slots for events. -# === - -diff --git a/js/src/jit-test/tests/tracelogger/bug1231170.js b/js/src/jit-test/tests/tracelogger/bug1231170.js -new file mode 100644 -index 0000000..023e93e ---- /dev/null -+++ b/js/src/jit-test/tests/tracelogger/bug1231170.js -@@ -0,0 +1,3 @@ -+var du = new Debugger(); -+if (typeof du.drainTraceLogger === "function") -+ du.drainTraceLogger(); -diff --git a/js/src/jit-test/tests/tracelogger/bug1266649.js b/js/src/jit-test/tests/tracelogger/bug1266649.js -new file mode 100644 -index 0000000..81ae7ad ---- /dev/null -+++ b/js/src/jit-test/tests/tracelogger/bug1266649.js -@@ -0,0 +1,10 @@ -+ -+var du = new Debugger(); -+if (typeof du.setupTraceLogger === "function" && -+ typeof oomTest === 'function') -+{ -+ du.setupTraceLogger({ -+ Scripts: true -+ }) -+ oomTest(() => function(){}); -+} -diff --git a/js/src/jit/Ion.cpp b/js/src/jit/Ion.cpp -index 93e2fda..09049d6 100644 ---- a/js/src/jit/Ion.cpp -+++ b/js/src/jit/Ion.cpp -@@ -1055,6 +1055,8 @@ IonScript::Destroy(FreeOp* fop, IonScript* script) - - script->destroyCaches(); - script->unlinkFromRuntime(fop); -+ // Frees the potential event we have set. -+ script->traceLoggerScriptEvent_ = TraceLoggerEvent(); - fop->free_(script); - } - -diff --git a/js/src/vm/Debugger.cpp b/js/src/vm/Debugger.cpp -index 26262fd..af7f313 100644 ---- a/js/src/vm/Debugger.cpp -+++ b/js/src/vm/Debugger.cpp -@@ -369,10 +369,10 @@ Debugger::Debugger(JSContext* cx, NativeObject* dbg) - objects(cx), - environments(cx), - #ifdef NIGHTLY_BUILD -- traceLoggerLastDrainedId(0), -+ traceLoggerLastDrainedSize(0), - traceLoggerLastDrainedIteration(0), - #endif -- traceLoggerScriptedCallsLastDrainedId(0), -+ traceLoggerScriptedCallsLastDrainedSize(0), - traceLoggerScriptedCallsLastDrainedIteration(0) - { - assertSameCompartment(cx, dbg); -@@ -3907,9 +3907,9 @@ Debugger::drainTraceLogger(JSContext* cx, unsigned argc, Value* vp) - size_t num; - TraceLoggerThread* logger = TraceLoggerForMainThread(cx->runtime()); - bool lostEvents = logger->lostEvents(dbg->traceLoggerLastDrainedIteration, -- dbg->traceLoggerLastDrainedId); -+ dbg->traceLoggerLastDrainedSize); - EventEntry* events = logger->getEventsStartingAt(&dbg->traceLoggerLastDrainedIteration, -- &dbg->traceLoggerLastDrainedId, -+ &dbg->traceLoggerLastDrainedSize, - &num); - - RootedObject array(cx, NewDenseEmptyArray(cx)); -@@ -4002,10 +4002,10 @@ Debugger::drainTraceLoggerScriptCalls(JSContext* cx, unsigned argc, Value* vp) - size_t num; - TraceLoggerThread* logger = TraceLoggerForMainThread(cx->runtime()); - bool lostEvents = logger->lostEvents(dbg->traceLoggerScriptedCallsLastDrainedIteration, -- dbg->traceLoggerScriptedCallsLastDrainedId); -+ dbg->traceLoggerScriptedCallsLastDrainedSize); - EventEntry* events = logger->getEventsStartingAt( - &dbg->traceLoggerScriptedCallsLastDrainedIteration, -- &dbg->traceLoggerScriptedCallsLastDrainedId, -+ &dbg->traceLoggerScriptedCallsLastDrainedSize, - &num); - - RootedObject array(cx, NewDenseEmptyArray(cx)); -diff --git a/js/src/vm/Debugger.h b/js/src/vm/Debugger.h -index 8cac36a..c92d685 100644 ---- a/js/src/vm/Debugger.h -+++ b/js/src/vm/Debugger.h -@@ -314,10 +314,10 @@ class Debugger : private mozilla::LinkedListElement - * lost events. - */ - #ifdef NIGHTLY_BUILD -- uint32_t traceLoggerLastDrainedId; -+ uint32_t traceLoggerLastDrainedSize; - uint32_t traceLoggerLastDrainedIteration; - #endif -- uint32_t traceLoggerScriptedCallsLastDrainedId; -+ uint32_t traceLoggerScriptedCallsLastDrainedSize; - uint32_t traceLoggerScriptedCallsLastDrainedIteration; - - class FrameRange; -diff --git a/js/src/vm/TraceLogging.cpp b/js/src/vm/TraceLogging.cpp -index 6715b36..9766a6f 100644 ---- a/js/src/vm/TraceLogging.cpp -+++ b/js/src/vm/TraceLogging.cpp -@@ -131,7 +131,7 @@ TraceLoggerThread::init() - { - if (!pointerMap.init()) - return false; -- if (!extraTextId.init()) -+ if (!textIdPayloads.init()) - return false; - if (!events.init()) - return false; -@@ -185,10 +185,10 @@ TraceLoggerThread::~TraceLoggerThread() - graph = nullptr; - } - -- for (TextIdHashMap::Range r = extraTextId.all(); !r.empty(); r.popFront()) -- js_delete(r.front().value()); -- extraTextId.finish(); -- pointerMap.finish(); -+ if (textIdPayloads.initialized()) { -+ for (TextIdHashMap::Range r = textIdPayloads.all(); !r.empty(); r.popFront()) -+ js_delete(r.front().value()); -+ } - } - - bool -@@ -287,7 +287,7 @@ TraceLoggerThread::eventText(uint32_t id) - if (id < TraceLogger_Last) - return TLTextIdString(static_cast(id)); - -- TextIdHashMap::Ptr p = extraTextId.lookup(id); -+ TextIdHashMap::Ptr p = textIdPayloads.lookup(id); - MOZ_ASSERT(p); - - return p->value()->string(); -@@ -341,13 +341,15 @@ TraceLoggerThread::extractScriptDetails(uint32_t textId, const char** filename, - TraceLoggerEventPayload* - TraceLoggerThread::getOrCreateEventPayload(TraceLoggerTextId textId) - { -- TextIdHashMap::AddPtr p = extraTextId.lookupForAdd(textId); -- if (p) -+ TextIdHashMap::AddPtr p = textIdPayloads.lookupForAdd(textId); -+ if (p) { -+ MOZ_ASSERT(p->value()->textId() == textId); // Sanity check. - return p->value(); -+ } - - TraceLoggerEventPayload* payload = js_new(textId, (char*)nullptr); - -- if (!extraTextId.add(p, textId, payload)) -+ if (!textIdPayloads.add(p, textId, payload)) - return nullptr; - - return payload; -@@ -357,8 +359,10 @@ TraceLoggerEventPayload* - TraceLoggerThread::getOrCreateEventPayload(const char* text) - { - PointerHashMap::AddPtr p = pointerMap.lookupForAdd((const void*)text); -- if (p) -+ if (p) { -+ MOZ_ASSERT(p->value()->textId() < nextTextId); // Sanity check. - return p->value(); -+ } - - size_t len = strlen(text); - char* str = js_pod_malloc(len + 1); -@@ -369,7 +373,7 @@ TraceLoggerThread::getOrCreateEventPayload(const char* text) - MOZ_ASSERT(ret == len); - MOZ_ASSERT(strlen(str) == len); - -- uint32_t textId = extraTextId.count() + TraceLogger_Last; -+ uint32_t textId = nextTextId; - - TraceLoggerEventPayload* payload = js_new(textId, str); - if (!payload) { -@@ -377,17 +381,19 @@ TraceLoggerThread::getOrCreateEventPayload(const char* text) - return nullptr; - } - -- if (!extraTextId.putNew(textId, payload)) { -+ if (!textIdPayloads.putNew(textId, payload)) { - js_delete(payload); - return nullptr; - } - -- if (!pointerMap.add(p, text, payload)) -- return nullptr; -- - if (graph.get()) - graph->addTextId(textId, str); - -+ nextTextId++; -+ -+ if (!pointerMap.add(p, text, payload)) -+ return nullptr; -+ - return payload; - } - -@@ -407,9 +413,14 @@ TraceLoggerThread::getOrCreateEventPayload(TraceLoggerTextId type, const char* f - if (!traceLoggerState->isTextIdEnabled(type)) - return getOrCreateEventPayload(type); - -- PointerHashMap::AddPtr p = pointerMap.lookupForAdd(ptr); -- if (p) -- return p->value(); -+ PointerHashMap::AddPtr p; -+ if (ptr) { -+ p = pointerMap.lookupForAdd(ptr); -+ if (p) { -+ MOZ_ASSERT(p->value()->textId() < nextTextId); // Sanity check. -+ return p->value(); -+ } -+ } - - // Compute the length of the string to create. - size_t lenFilename = strlen(filename); -@@ -428,24 +439,28 @@ TraceLoggerThread::getOrCreateEventPayload(TraceLoggerTextId type, const char* f - MOZ_ASSERT(ret == len); - MOZ_ASSERT(strlen(str) == len); - -- uint32_t textId = extraTextId.count() + TraceLogger_Last; -+ uint32_t textId = nextTextId; - TraceLoggerEventPayload* payload = js_new(textId, str); - if (!payload) { - js_free(str); - return nullptr; - } - -- if (!extraTextId.putNew(textId, payload)) { -+ if (!textIdPayloads.putNew(textId, payload)) { - js_delete(payload); - return nullptr; - } - -- if (!pointerMap.add(p, ptr, payload)) -- return nullptr; -- - if (graph.get()) - graph->addTextId(textId, str); - -+ nextTextId++; -+ -+ if (ptr) { -+ if (!pointerMap.add(p, ptr, payload)) -+ return nullptr; -+ } -+ - return payload; - } - -@@ -453,14 +468,14 @@ TraceLoggerEventPayload* - TraceLoggerThread::getOrCreateEventPayload(TraceLoggerTextId type, JSScript* script) - { - return getOrCreateEventPayload(type, script->filename(), script->lineno(), script->column(), -- script); -+ nullptr); - } - - TraceLoggerEventPayload* - TraceLoggerThread::getOrCreateEventPayload(TraceLoggerTextId type, - const JS::ReadOnlyCompileOptions& script) - { -- return getOrCreateEventPayload(type, script.filename(), script.lineno, script.column, &script); -+ return getOrCreateEventPayload(type, script.filename(), script.lineno, script.column, nullptr); - } - - void -@@ -485,7 +500,7 @@ TraceLoggerThread::startEvent(uint32_t id) - if (!traceLoggerState->isTextIdEnabled(id)) - return; - -- logTimestamp(id); -+ log(id); - } - - void -@@ -510,7 +525,7 @@ TraceLoggerThread::stopEvent(uint32_t id) - if (!traceLoggerState->isTextIdEnabled(id)) - return; - -- logTimestamp(TraceLogger_Stop); -+ log(TraceLogger_Stop); - } - - void -@@ -522,23 +537,57 @@ TraceLoggerThread::logTimestamp(TraceLoggerTextId id) - void - TraceLoggerThread::logTimestamp(uint32_t id) - { -+ MOZ_ASSERT(id > TraceLogger_LastTreeItem && id < TraceLogger_Last); -+ log(id); -+} -+ -+void -+TraceLoggerThread::log(uint32_t id) -+{ - if (enabled == 0) - return; - - MOZ_ASSERT(traceLoggerState); -- if (!events.ensureSpaceBeforeAdd()) { -+ -+ // We request for 3 items to add, since if we don't have enough room -+ // we record the time it took to make more place. To log this information -+ // we need 2 extra free entries. -+ if (!events.hasSpaceForAdd(3)) { - uint64_t start = rdtsc() - traceLoggerState->startupTime; - -- if (graph.get()) -- graph->log(events); -+ if (!events.ensureSpaceBeforeAdd(3)) { -+ if (graph.get()) -+ graph->log(events); -+ -+ iteration_++; -+ events.clear(); -+ -+ // Remove the item in the pointerMap for which the payloads -+ // have no uses anymore -+ for (PointerHashMap::Enum e(pointerMap); !e.empty(); e.popFront()) { -+ if (e.front().value()->uses() != 0) -+ continue; -+ -+ TextIdHashMap::Ptr p = textIdPayloads.lookup(e.front().value()->textId()); -+ MOZ_ASSERT(p); -+ textIdPayloads.remove(p); -+ -+ e.removeFront(); -+ } - -- iteration_++; -- events.clear(); -+ // Free all payloads that have no uses anymore. -+ for (TextIdHashMap::Enum e(textIdPayloads); !e.empty(); e.popFront()) { -+ if (e.front().value()->uses() == 0) { -+ js_delete(e.front().value()); -+ e.removeFront(); -+ } -+ } -+ } - - // Log the time it took to flush the events as being from the - // Tracelogger. - if (graph.get()) { -- MOZ_ASSERT(events.capacity() > 2); -+ MOZ_ASSERT(events.hasSpaceForAdd(2)); - EventEntry& entryStart = events.pushUninitialized(); - entryStart.time = start; - entryStart.textId = TraceLogger_Internal; -@@ -548,13 +597,6 @@ TraceLoggerThread::logTimestamp(uint32_t id) - entryStop.textId = TraceLogger_Stop; - } - -- // Free all TextEvents that have no uses anymore. -- for (TextIdHashMap::Enum e(extraTextId); !e.empty(); e.popFront()) { -- if (e.front().value()->uses() == 0) { -- js_delete(e.front().value()); -- e.removeFront(); -- } -- } - } - - uint64_t time = rdtsc() - traceLoggerState->startupTime; -@@ -956,3 +998,16 @@ TraceLoggerEvent::~TraceLoggerEvent() - if (payload_) - payload_->release(); - } -+ -+TraceLoggerEvent& -+TraceLoggerEvent::operator=(const TraceLoggerEvent& other) -+{ -+ if (hasPayload()) -+ payload()->release(); -+ if (other.hasPayload()) -+ other.payload()->use(); -+ -+ payload_ = other.payload_; -+ -+ return *this; -+} -diff --git a/js/src/vm/TraceLogging.h b/js/src/vm/TraceLogging.h -index a124dcb..91a1eb0 100644 ---- a/js/src/vm/TraceLogging.h -+++ b/js/src/vm/TraceLogging.h -@@ -110,6 +110,9 @@ class TraceLoggerEvent { - bool hasPayload() const { - return !!payload_; - } -+ -+ TraceLoggerEvent& operator=(const TraceLoggerEvent& other); -+ TraceLoggerEvent(const TraceLoggerEvent& event) = delete; - }; - - /** -@@ -130,6 +133,10 @@ class TraceLoggerEventPayload { - uses_(0) - { } - -+ ~TraceLoggerEventPayload() { -+ MOZ_ASSERT(uses_ == 0); -+ } -+ - uint32_t textId() { - return textId_; - } -@@ -166,7 +173,8 @@ class TraceLoggerThread - mozilla::UniquePtr graph; - - PointerHashMap pointerMap; -- TextIdHashMap extraTextId; -+ TextIdHashMap textIdPayloads; -+ uint32_t nextTextId; - - ContinuousSpace events; - -@@ -181,6 +189,7 @@ class TraceLoggerThread - : enabled(0), - failed(false), - graph(), -+ nextTextId(TraceLogger_Last), - iteration_(0), - top(nullptr) - { } -@@ -195,22 +204,22 @@ class TraceLoggerThread - bool enable(JSContext* cx); - bool disable(); - -- // Given the previous iteration and lastEntryId, return an array of events -+ // Given the previous iteration and size, return an array of events - // (there could be lost events). At the same time update the iteration and -- // lastEntry and gives back how many events there are. -- EventEntry* getEventsStartingAt(uint32_t* lastIteration, uint32_t* lastEntryId, size_t* num) { -+ // size and gives back how many events there are. -+ EventEntry* getEventsStartingAt(uint32_t* lastIteration, uint32_t* lastSize, size_t* num) { - EventEntry* start; - if (iteration_ == *lastIteration) { -- MOZ_ASSERT(events.lastEntryId() >= *lastEntryId); -- *num = events.lastEntryId() - *lastEntryId; -- start = events.data() + *lastEntryId + 1; -+ MOZ_ASSERT(*lastSize <= events.size()); -+ *num = events.size() - *lastSize; -+ start = events.data() + *lastSize; - } else { -- *num = events.lastEntryId() + 1; -+ *num = events.size(); - start = events.data(); - } - - *lastIteration = iteration_; -- *lastEntryId = events.lastEntryId(); -+ *lastSize = events.size(); - return start; - } - -@@ -220,16 +229,16 @@ class TraceLoggerThread - const char** lineno, size_t* lineno_len, const char** colno, - size_t* colno_len); - -- bool lostEvents(uint32_t lastIteration, uint32_t lastEntryId) { -+ bool lostEvents(uint32_t lastIteration, uint32_t lastSize) { - // If still logging in the same iteration, there are no lost events. - if (lastIteration == iteration_) { -- MOZ_ASSERT(lastEntryId <= events.lastEntryId()); -+ MOZ_ASSERT(lastSize <= events.size()); - return false; - } - -- // When proceeded to the next iteration and lastEntryId points to -- // the maximum capacity there are no logs that are lost. -- if (lastIteration + 1 == iteration_ && lastEntryId == events.capacity()) -+ // If we are in a consecutive iteration we are only sure we didn't lose any events, -+ // when the lastSize equals the maximum size 'events' can get. -+ if (lastIteration == iteration_ - 1 && lastSize == events.maxSize()) - return false; - - return true; -@@ -268,6 +277,7 @@ class TraceLoggerThread - void stopEvent(uint32_t id); - private: - void stopEvent(); -+ void log(uint32_t id); - - public: - static unsigned offsetOfEnabled() { -diff --git a/js/src/vm/TraceLoggingGraph.cpp b/js/src/vm/TraceLoggingGraph.cpp -index d1b7f2e..a4eb273 100644 ---- a/js/src/vm/TraceLoggingGraph.cpp -+++ b/js/src/vm/TraceLoggingGraph.cpp -@@ -276,7 +276,7 @@ TraceLoggerGraph::flush() - if (bytesWritten < tree.size()) - return false; - -- treeOffset += tree.lastEntryId(); -+ treeOffset += tree.size(); - tree.clear(); - } - -@@ -359,7 +359,7 @@ TraceLoggerGraph::startEventInternal(uint32_t id, uint64_t timestamp) - - if (parent.lastChildId() == 0) { - MOZ_ASSERT(!entry.hasChildren()); -- MOZ_ASSERT(parent.treeId() == tree.lastEntryId() + treeOffset); -+ MOZ_ASSERT(parent.treeId() == treeOffset + tree.size() - 1); - - if (!updateHasChildren(parent.treeId())) - return false; -diff --git a/js/src/vm/TraceLoggingTypes.h b/js/src/vm/TraceLoggingTypes.h -index f1c9d0c..10b76d6 100644 ---- a/js/src/vm/TraceLoggingTypes.h -+++ b/js/src/vm/TraceLoggingTypes.h -@@ -21,7 +21,6 @@ - _(Internal) \ - _(Interpreter) \ - _(InlinedScripts) \ -- _(Invalidation) \ - _(IonCompilation) \ - _(IonCompilationPaused) \ - _(IonLinking) \ -@@ -60,6 +59,7 @@ - - #define TRACELOGGER_LOG_ITEMS(_) \ - _(Bailout) \ -+ _(Invalidation) \ - _(Disable) \ - _(Enable) \ - _(Stop) -@@ -130,6 +130,9 @@ class ContinuousSpace { - uint32_t size_; - uint32_t capacity_; - -+ // The maximum amount of ram memory a continuous space structure can take (in bytes). -+ static const uint32_t LIMIT = 200 * 1024 * 1024; -+ - public: - ContinuousSpace () - : data_(nullptr) -@@ -151,6 +154,10 @@ class ContinuousSpace { - data_ = nullptr; - } - -+ static uint32_t maxSize() { -+ return LIMIT / sizeof(T); -+ } -+ - T* data() { - return data_; - } -@@ -187,11 +194,14 @@ class ContinuousSpace { - if (hasSpaceForAdd(count)) - return true; - -+ // Limit the size of a continuous buffer. -+ if (size_ + count > maxSize()) -+ return false; -+ - uint32_t nCapacity = capacity_ * 2; -- if (size_ + count > nCapacity) -- nCapacity = size_ + count; -- T* entries = (T*) js_realloc(data_, nCapacity * sizeof(T)); -+ nCapacity = (nCapacity < maxSize()) ? nCapacity : maxSize(); - -+ T* entries = (T*) js_realloc(data_, nCapacity * sizeof(T)); - if (!entries) - return false; - diff --git a/gnu/packages/patches/mozjs38-version-detection.patch b/gnu/packages/patches/mozjs38-version-detection.patch deleted file mode 100644 index ec2d264ccc..0000000000 --- a/gnu/packages/patches/mozjs38-version-detection.patch +++ /dev/null @@ -1,180 +0,0 @@ -Taken from -https://trac.wildfiregames.com/export/18656/ps/trunk/libraries/source/spidermonkey/FixVersionDetectionConfigure.diff. - -Fixes a version detection issue in 0ad. See -https://lists.gnu.org/archive/html/guix-devel/2017-01/msg00625.html. - -diff --git a/js/src/configure b/js/src/configure ---- a/js/src/configure -+++ b/js/src/configure -@@ -1662,70 +1662,6 @@ esac - - fi - --MOZILLA_VERSION=`$PYTHON $srcdir/python/mozbuild/mozbuild/milestone.py --topsrcdir $srcdir` --MOZILLA_UAVERSION=`$PYTHON $srcdir/python/mozbuild/mozbuild/milestone.py --topsrcdir $srcdir --uaversion` --MOZILLA_SYMBOLVERSION=`$PYTHON $srcdir/python/mozbuild/mozbuild/milestone.py --topsrcdir $srcdir --symbolversion` -- --cat >> confdefs.pytmp <> confdefs.h <> confdefs.pytmp <> confdefs.h <> confdefs.pytmp <> confdefs.h <> confdefs.pytmp <> confdefs.h <> confdefs.pytmp <> confdefs.h <> confdefs.pytmp <> confdefs.h <> confdefs.pytmp <> confdefs.h <> confdefs.pytmp <> confdefs.h <> confdefs.pytmp <> confdefs.h <> confdefs.pytmp <> confdefs.h <> $CONFIG_STATUS <> $CONFIG_STATUS < Date: Sun, 29 May 2022 02:00:01 +0200 Subject: gnu: angband: Update to 4.2.4. * gnu/packages/games.scm (angband): Update to 4.2.4. [arguments]: Don't explicitly return #t from phases. --- gnu/packages/games.scm | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) (limited to 'gnu/packages/games.scm') diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 05bcdc9b98..58ccf080a7 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -3080,7 +3080,7 @@ that beneath its ruins lay buried an ancient evil.") (define-public angband (package (name "angband") - (version "4.2.3") + (version "4.2.4") (source (origin (method git-fetch) @@ -3089,7 +3089,7 @@ that beneath its ruins lay buried an ancient evil.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1psrdbf90mb6dhq0b9z18pz1csnshz1kvwg82dvwa99apqdw0la8")) + (base32 "1x0qqsv7xa3figcl4v35sin64ffgz32652vk541d8qaq4qcc378n")) (modules '((guix build utils))) (snippet ;; So, some of the sounds/graphics/tilesets are under different @@ -3105,14 +3105,12 @@ that beneath its ruins lay buried an ancient evil.") (substitute* "lib/Makefile" ;; And don't try to invoke makefiles in the directories we removed. (("gamedata customize help screens fonts tiles sounds icons user") - "gamedata customize help screens user")) - #t)))) + "gamedata customize help screens user")))))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no check target #:configure-flags (list (string-append "--bindir=" %output "/bin")))) - (native-inputs - (list autoconf automake)) + (native-inputs (list autoconf automake)) (inputs (list ncurses)) (home-page "https://rephial.org/") (synopsis "Dungeon exploration roguelike") -- cgit v1.2.3 From f696bbb70719bec21510bcf7cef18f141ce74f29 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 29 May 2022 02:00:00 +0200 Subject: gnu: fortune-mod: Fix fortune directory. It now matches the one given in the fortune(6) man page. * gnu/packages/games.scm (fortune-mode)[arguments]: Install to /share rather than /local/share/games. Shorten the 'fix-install-directory phase. --- gnu/packages/games.scm | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) (limited to 'gnu/packages/games.scm') diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 58ccf080a7..7c0ac575a1 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -24,7 +24,7 @@ ;;; Copyright © 2016 Steve Webber ;;; Copyright © 2017 Adonay "adfeno" Felipe Nogueira ;;; Copyright © 2017, 2018, 2020 Arun Isaac -;;; Copyright © 2017–2021 Tobias Geerinckx-Rice +;;; Copyright © 2017–2022 Tobias Geerinckx-Rice ;;; Copyright © 2017, 2019 nee ;;; Copyright © 2017 Clément Lassieur ;;; Copyright © 2017, 2019, 2020 Marius Bakke @@ -7658,7 +7658,13 @@ original.") (base32 "1f2zif3s6vddbhph4jr1cymdsn7gagg59grrxs0yap6myqmy8shg")))) (build-system cmake-build-system) (arguments - (list #:test-target "check" + (list #:configure-flags + #~(let ((fortunes (string-append #$output "/share/fortunes"))) + (list (string-append "-DLOCALDIR=" fortunes) + (string-append "-DLOCALODIR=" fortunes "/off") + (string-append "-DCOOKIEDIR=" fortunes) + (string-append "-DOCOOKIEDIR=" fortunes "/off"))) + #:test-target "check" #:phases #~(modify-phases %standard-phases (add-after 'unpack 'enter-build-directory @@ -7683,16 +7689,13 @@ original.") (with-output-to-file "tests/scripts/split-valgrind.pl" (const #t)))) (add-after 'install 'fix-install-directory - (lambda* (#:key outputs #:allow-other-keys) - ;; Move binary from "games/" to "bin/" and remove the - ;; latter. This is easier than patching CMakeLists.txt - ;; since the tests hard-code the location as well. - (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin")) - (games (string-append out "/games"))) - (rename-file (string-append games "/fortune") - (string-append bin "/fortune")) - (rmdir games))))))) + ;; Move fortune from "games/" to "bin/" and remove the + ;; former. This is easier than patching CMakeLists.txt + ;; since the tests hard-code the location as well. + (lambda _ + (with-directory-excursion #$output + (rename-file "games/fortune" "bin/fortune") + (rmdir "games"))))))) (inputs (list recode)) (native-inputs (list perl -- cgit v1.2.3 From d045780c6a58e2e709d96c2c7e19cb1025d89b36 Mon Sep 17 00:00:00 2001 From: Gabriel Arazas Date: Fri, 20 May 2022 12:03:50 +0800 Subject: gnu: Add freerct. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/games.scm (freerct): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/games.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) (limited to 'gnu/packages/games.scm') diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 7c0ac575a1..844004e47d 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -71,6 +71,7 @@ ;;; Copyright © 2022 Yovan Naumovski ;;; Copyright © 2022 Roman Riabenko ;;; Copyright © 2022 zamfofex +;;; Copyright © 2022 Gabriel Arazas ;;; ;;; This file is part of GNU Guix. ;;; @@ -12693,3 +12694,35 @@ liquid and you have to try and eat your opponents. Rules are very simple yet original, they have been invented by Thomas Colcombet.") (home-page "https://www.gnu.org/software/liquidwar6/") (license license:gpl3+))) + +(define-public freerct + (package + (name "freerct") + (version "0.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/FreeRCT/FreeRCT") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1szwy2cq4ffp4yxm9pp9vdyia0i5nz0wnppdd1xb9w7v3wa4mywi")))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f)) + (native-inputs (list flex bison)) + (inputs (list libpng sdl2 sdl2-ttf)) + (home-page "https://freerct.net/") + (synopsis "Theme park management simulation game") + (description + "FreeRCT is a game that captures the look and feel of the popular games +RollerCoaster Tycoon 1 and 2, graphics- and gameplay-wise. + +In this game, you play as a manager of a theme park, allowing you to make a +park of your dreams. The list of responsiblities includes managing staff, +finances, landscaping, and most importantly: rides. Good managers follow the +principle of prioritizing the guests' happiness with a well-maintained park. +Should they go unwise, a theme park plunge into chaos with vandalizing guests +and unsafe rides. Which path will you take?") + (license license:gpl2))) -- cgit v1.2.3 From 5c6808748d02a33eb495029eb5e6bfe6480b2852 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 29 May 2022 02:00:01 +0200 Subject: gnu: 7kaa: Update to 2.15.5. * gnu/packages/games.scm (7kaa): Update to 2.15.5. --- gnu/packages/games.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu/packages/games.scm') diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 844004e47d..a1bc6a9233 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -12063,7 +12063,7 @@ protect you.") (define-public 7kaa (package (name "7kaa") - (version "2.15.4p1") + (version "2.15.5") (source (origin (method url-fetch) @@ -12071,7 +12071,7 @@ protect you.") "releases/download/v" version "/" "7kaa-" version ".tar.xz")) (sha256 - (base32 "1y7v0jhp3apb619p7asikqr1dnwb2yxbh40wbx1ppmr5f03mq9ph")))) + (base32 "0axbv14fh87hwjabrb3zv7ivj88rs6kd2xq6s9qlpsszk20jc2im")))) (build-system gnu-build-system) (native-inputs (list gettext-minimal pkg-config)) -- cgit v1.2.3 From 5729e45160ffffcacc41e0e70fd9a5985657c8b7 Mon Sep 17 00:00:00 2001 From: Vivien Kraus Date: Sun, 29 May 2022 13:37:27 +0200 Subject: gnu: Add irrlicht-for-minetest. * gnu/packages/games.scm (irrlichtmt-for-minetest): New variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/games.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'gnu/packages/games.scm') diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index a1bc6a9233..5b48369cec 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -3601,6 +3601,25 @@ for common mesh file formats, and collision detection.") (home-page "https://irrlicht.sourceforge.io/") (license license:zlib))) +(define-public irrlicht-for-minetest + (package + (inherit irrlicht) + (name "irrlicht-for-minetest") + (version "1.9.0mt5") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/minetest/irrlicht") + (commit version))) + (sha256 + (base32 + "1jxk1x0f60n8lrz8a6x62aj2pqg0qnbajsld3lqncvwsfbi0xjx1")))) + (build-system cmake-build-system) + (arguments + ;; No check target. + (list #:tests? #f)))) + (define-public mars ;; The latest release on SourceForge relies on an unreleased version of SFML ;; with a different API, so we take the latest version from the official -- cgit v1.2.3 From 64e78659f44b2275ae92de5d1adf12dc161a6ef2 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 29 May 2022 02:00:03 +0200 Subject: gnu: irrlicht: Update to 1.8.5. * gnu/packages/games.scm (irrlicht): Update to 1.8.5. [source]: Use unmodified Debian patches rather than manually maintain a custom mash-up. [arguments]: Add a new 'delete-broken-install-rule phase instead. Don't explicitly return #t from phases. * gnu/packages/patches/irrlicht-link-against-needed-libs.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. --- gnu/local.mk | 1 + gnu/packages/games.scm | 20 +++-- .../irrlicht-link-against-needed-libs.patch | 24 ++++++ .../patches/irrlicht-use-system-libs.patch | 95 ++++++---------------- 4 files changed, 60 insertions(+), 80 deletions(-) create mode 100644 gnu/packages/patches/irrlicht-link-against-needed-libs.patch (limited to 'gnu/packages/games.scm') diff --git a/gnu/local.mk b/gnu/local.mk index d51c1be0d3..708bbdd35d 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1299,6 +1299,7 @@ dist_patch_DATA = \ %D%/packages/patches/iputils-libcap-compat.patch \ %D%/packages/patches/ipxe-reproducible-geniso.patch \ %D%/packages/patches/irrlicht-use-system-libs.patch \ + %D%/packages/patches/irrlicht-link-against-needed-libs.patch \ %D%/packages/patches/isl-0.11.1-aarch64-support.patch \ %D%/packages/patches/itk-snap-alt-glibc-compat.patch \ %D%/packages/patches/json-c-0.13-CVE-2020-12762.patch \ diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 5b48369cec..c5c3e8af18 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -3532,7 +3532,7 @@ are primarily in English, however some in other languages are provided.") (define-public irrlicht (package (name "irrlicht") - (version "1.8.4") + (version "1.8.5") (source (origin (method url-fetch) (uri (string-append @@ -3541,8 +3541,9 @@ are primarily in English, however some in other languages are provided.") "/" version "/irrlicht-" version ".zip")) (sha256 (base32 - "0cz4z4dwrv5ypl19ll67wl6jjpy5k6ly4vr042w4br88qq5jhazl")) - (patches (search-patches "irrlicht-use-system-libs.patch")) + "0gagjh2l3a3m8hsixxhhhan3m5xl7735ka8m4g79jl4qsgp7pyzg")) + (patches (search-patches "irrlicht-use-system-libs.patch" + "irrlicht-link-against-needed-libs.patch")) (modules '((guix build utils))) (snippet '(begin @@ -3556,8 +3557,7 @@ are primarily in English, however some in other languages are provided.") "source/Irrlicht/zlib")) (delete-file "source/Irrlicht/glext.h") (delete-file "source/Irrlicht/glxext.h") - (delete-file "source/Irrlicht/wglext.h") - #t)))) + (delete-file "source/Irrlicht/wglext.h"))))) (build-system gnu-build-system) (arguments `(#:phases @@ -3565,19 +3565,23 @@ are primarily in English, however some in other languages are provided.") (add-after 'unpack 'chdir-to-source (lambda _ ;; The actual source is buried a few directories deep. - (chdir "source/Irrlicht/") - #t)) + (chdir "source/Irrlicht/"))) (add-after 'chdir-to-source 'remove- (lambda _ (substitute* "COSOperator.cpp" (("#include ") "")))) + (add-after 'chdir-to-source 'delete-broken-install-rule + (lambda _ + (substitute* "Makefile" + ;; We neither build nor want a static library. Skip it. + ((".*\\bcp .*\\$\\(STATIC_LIB\\).*") "")))) (add-after 'chdir-to-source 'fix-build-env (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) (substitute* "Makefile" (("INSTALL_DIR = /usr/local/lib") (string-append "INSTALL_DIR = " out "/lib")) - ;; Add '-fpermissive' to the CXXFLAGS + ;; Add '-fpermissive' to the CXXFLAGS. (("-Wall") "-Wall -fpermissive")) ; CImageLoaderJPG.cpp ;; The Makefile assumes these directories exist. (mkdir-p (string-append out "/lib")) diff --git a/gnu/packages/patches/irrlicht-link-against-needed-libs.patch b/gnu/packages/patches/irrlicht-link-against-needed-libs.patch new file mode 100644 index 0000000000..2e9f5c78d5 --- /dev/null +++ b/gnu/packages/patches/irrlicht-link-against-needed-libs.patch @@ -0,0 +1,24 @@ +From: Christoph Egger +Subject: [PATCH] debian/link-against-needed-libs + +There are quite some libraries irrlicht needs but does not link +against. This patch makes irrlicht link correctly against all the +needed libraries. + +Signed-off-by: Christoph Egger + +--- + source/Irrlicht/Makefile | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +--- irrlicht.orig/source/Irrlicht/Makefile ++++ irrlicht/source/Irrlicht/Makefile +@@ -90,7 +90,7 @@ + LIB_PATH = ../../lib/$(SYSTEM) + INSTALL_DIR = /usr/local/lib + sharedlib install: SHARED_LIB = libIrrlicht.so +-sharedlib: LDFLAGS += -L/usr/X11R6/lib$(LIBSELECT) -lGL -lXxf86vm ++staticlib sharedlib: LDFLAGS += -L/usr/X11R6/lib$(LIBSELECT) -lGL -lXxf86vm -lX11 -lz -lpng -ljpeg -lbz2 + staticlib sharedlib: CXXINCS += -I/usr/X11R6/include + + #OSX specific options diff --git a/gnu/packages/patches/irrlicht-use-system-libs.patch b/gnu/packages/patches/irrlicht-use-system-libs.patch index e764f411d3..06cb6db062 100644 --- a/gnu/packages/patches/irrlicht-use-system-libs.patch +++ b/gnu/packages/patches/irrlicht-use-system-libs.patch @@ -1,40 +1,13 @@ -This patch is a combination of the two following patches with minor -changes to the install code -https://sources.debian.org/src/irrlicht/1.8.4+dfsg1-1/debian/patches/debian/link-against-needed-libs.diff/ -https://sources.debian.org/src/irrlicht/1.8.4+dfsg1-1/debian/patches/debian/use-system-libs.diff/ +Subject: [PATCH] debian/use-system-libs +Path to build irrlicht using the system libraries for png,zlib and +jpeg as well as the glext family of header files. ---- - include/IrrCompileConfig.h | 26 +++++++++------------ - source/Irrlicht/CIrrDeviceLinux.h | 2 +- - source/Irrlicht/COpenGLExtensionHandler.h | 8 +++---- - source/Irrlicht/COpenGLSLMaterialRenderer.h | 2 +- - source/Irrlicht/Makefile | 15 ++++++------ - 5 files changed, 25 insertions(+), 28 deletions(-) +Signed-off-by: Christoph Egger @@ -99,10 +70,8 @@ index 4d2a2c6..8cf24ba 100644 #endif #endif -diff --git a/source/Irrlicht/COpenGLExtensionHandler.h b/source/Irrlicht/COpenGLExtensionHandler.h -index 1b77bad..3886a0e 100644 ---- a/source/Irrlicht/COpenGLExtensionHandler.h -+++ b/source/Irrlicht/COpenGLExtensionHandler.h +--- irrlicht.orig/source/Irrlicht/COpenGLExtensionHandler.h ++++ irrlicht/source/Irrlicht/COpenGLExtensionHandler.h @@ -35,7 +35,7 @@ #endif #include @@ -133,10 +102,8 @@ index 1b77bad..3886a0e 100644 #endif #endif -diff --git a/source/Irrlicht/COpenGLSLMaterialRenderer.h b/source/Irrlicht/COpenGLSLMaterialRenderer.h -index ff71150..f8a6007 100644 ---- a/source/Irrlicht/COpenGLSLMaterialRenderer.h -+++ b/source/Irrlicht/COpenGLSLMaterialRenderer.h +--- irrlicht.orig/source/Irrlicht/COpenGLSLMaterialRenderer.h ++++ irrlicht/source/Irrlicht/COpenGLSLMaterialRenderer.h @@ -25,7 +25,7 @@ #include #endif @@ -146,11 +113,9 @@ index ff71150..f8a6007 100644 #endif #endif -diff --git a/source/Irrlicht/Makefile b/source/Irrlicht/Makefile -index 67a3899..d9ea7f3 100644 ---- a/source/Irrlicht/Makefile -+++ b/source/Irrlicht/Makefile -@@ -43,7 +43,7 @@ IRRIMAGEOBJ = CColorConverter.o CImage.o CImageLoaderBMP.o CImageLoaderDDS.o CIm +--- irrlicht.orig/source/Irrlicht/Makefile ++++ irrlicht/source/Irrlicht/Makefile +@@ -45,7 +45,7 @@ CImageWriterBMP.o CImageWriterJPG.o CImageWriterPCX.o CImageWriterPNG.o CImageWriterPPM.o CImageWriterPSD.o CImageWriterTGA.o IRRVIDEOOBJ = CVideoModeList.o CFPSCounter.o $(IRRDRVROBJ) $(IRRIMAGEOBJ) IRRSWRENDEROBJ = CSoftwareDriver.o CSoftwareTexture.o CTRFlat.o CTRFlatWire.o CTRGouraud.o CTRGouraudWire.o CTRNormalMap.o CTRStencilShadow.o CTRTextureFlat.o CTRTextureFlatWire.o CTRTextureGouraud.o CTRTextureGouraudAdd.o CTRTextureGouraudNoZ.o CTRTextureGouraudWire.o CZBuffer.o CTRTextureGouraudVertexAlpha2.o CTRTextureGouraudNoZ2.o CTRTextureLightMap2_M2.o CTRTextureLightMap2_M4.o CTRTextureLightMap2_M1.o CSoftwareDriver2.o CSoftwareTexture2.o CTRTextureGouraud2.o CTRGouraud2.o CTRGouraudAlpha2.o CTRGouraudAlphaNoZ2.o CTRTextureDetailMap2.o CTRTextureGouraudAdd2.o CTRTextureGouraudAddNoZ2.o CTRTextureWire2.o CTRTextureLightMap2_Add.o CTRTextureLightMapGouraud2_M4.o IBurningShader.o CTRTextureBlend.o CTRTextureGouraudAlpha.o CTRTextureGouraudAlphaNoZ.o CDepthBuffer.o CBurningShader_Raster_Reference.o @@ -159,7 +124,7 @@ index 67a3899..d9ea7f3 100644 IRROTHEROBJ = CIrrDeviceSDL.o CIrrDeviceLinux.o CIrrDeviceConsole.o CIrrDeviceStub.o CIrrDeviceWin32.o CIrrDeviceFB.o CLogger.o COSOperator.o Irrlicht.o os.o IRRGUIOBJ = CGUIButton.o CGUICheckBox.o CGUIComboBox.o CGUIContextMenu.o CGUIEditBox.o CGUIEnvironment.o CGUIFileOpenDialog.o CGUIFont.o CGUIImage.o CGUIInOutFader.o CGUIListBox.o CGUIMenu.o CGUIMeshViewer.o CGUIMessageBox.o CGUIModalScreen.o CGUIScrollBar.o CGUISpinBox.o CGUISkin.o CGUIStaticText.o CGUITabControl.o CGUITable.o CGUIToolBar.o CGUIWindow.o CGUIColorSelectDialog.o CDefaultGUIElementFactory.o CGUISpriteBank.o CGUIImageList.o CGUITreeView.o ZLIBOBJ = zlib/adler32.o zlib/compress.o zlib/crc32.o zlib/deflate.o zlib/inffast.o zlib/inflate.o zlib/inftrees.o zlib/trees.o zlib/uncompr.o zlib/zutil.o -@@ -56,14 +56,14 @@ BZIP2OBJ = bzip2/blocksort.o bzip2/huffman.o bzip2/crctable.o bzip2/randtable.o +@@ -58,14 +58,14 @@ EXTRAOBJ = LINKOBJ = $(IRRMESHOBJ) $(IRROBJ) $(IRRPARTICLEOBJ) $(IRRANIMOBJ) \ $(IRRVIDEOOBJ) $(IRRSWRENDEROBJ) $(IRRIOOBJ) $(IRROTHEROBJ) \ @@ -178,25 +143,11 @@ index 67a3899..d9ea7f3 100644 ifndef NDEBUG CXXFLAGS += -g -D_DEBUG else -@@ -88,7 +88,7 @@ STATIC_LIB = libIrrlicht.a - LIB_PATH = ../../lib/$(SYSTEM) - INSTALL_DIR = /usr/local/lib - sharedlib install: SHARED_LIB = libIrrlicht.so --sharedlib: LDFLAGS += -L/usr/X11R6/lib$(LIBSELECT) -lGL -lXxf86vm -+staticlib sharedlib: LDFLAGS += -L/usr/X11R6/lib$(LIBSELECT) -lGL -lXxf86vm -lX11 -lz -lpng -ljpeg -lbz2 - staticlib sharedlib: CXXINCS += -I/usr/X11R6/include - - #OSX specific options -@@ -153,7 +153,8 @@ install install_osx: - $(RM) -r $(INSTALL_DIR)/../include/irrlicht +@@ -156,6 +156,7 @@ mkdir -p $(INSTALL_DIR)/../include/irrlicht cp ../../include/*.h $(INSTALL_DIR)/../include/irrlicht/ -- cp $(LIB_PATH)/$(SHARED_FULLNAME) $(INSTALL_DIR) -+ cp $(LIB_PATH)/$(SHARED_FULLNAME) $(INSTALL_DIR) || true -+ cp $(LIB_PATH)/$(STATIC_LIB) $(INSTALL_DIR) || true + cp $(LIB_PATH)/$(SHARED_FULLNAME) $(INSTALL_DIR) ++ cp $(LIB_PATH)/$(STATIC_LIB) $(INSTALL_DIR) cd $(INSTALL_DIR) && ln -s -f $(SHARED_FULLNAME) $(SONAME) cd $(INSTALL_DIR) && ln -s -f $(SONAME) $(SHARED_LIB) # ldconfig -n $(INSTALL_DIR) --- -2.18.0 - -- cgit v1.2.3 From 4e735cccc7ca1c9ba8278df84b9351f1fa731e84 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 29 May 2022 02:00:01 +0200 Subject: gnu: irrlicht: Use CC-FOR-TARGET. * gnu/packages/games.scm (irrlicht)[arguments]: Use CC-FOR-TARGET. --- gnu/packages/games.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'gnu/packages/games.scm') diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index c5c3e8af18..ed9f93b1a0 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -3588,7 +3588,9 @@ are primarily in English, however some in other languages are provided.") (mkdir-p (string-append out "/include"))))) (delete 'configure)) ; no configure script #:tests? #f ; no check target - #:make-flags '("CC=gcc" "sharedlib"))) + #:make-flags + (list (string-append "CC=" ,(cc-for-target)) + "sharedlib"))) (inputs `(("bzip2" ,bzip2) ("libjpeg" ,libjpeg-turbo) -- cgit v1.2.3 From e3fa68ec70ee8c86427268e23b51ba6338ae62d7 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 29 May 2022 02:00:00 +0200 Subject: gnu: irrlicht: Remove input labels. * gnu/packages/games.scm (irrlicht)[inputs]: Remove input labels. --- gnu/packages/games.scm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'gnu/packages/games.scm') diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index ed9f93b1a0..578340113f 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -3592,12 +3592,12 @@ are primarily in English, however some in other languages are provided.") (list (string-append "CC=" ,(cc-for-target)) "sharedlib"))) (inputs - `(("bzip2" ,bzip2) - ("libjpeg" ,libjpeg-turbo) - ("libpng" ,libpng) - ("libx11" ,libx11) - ("libxxf86vm" ,libxxf86vm) - ("mesa" ,mesa))) + (list bzip2 + libjpeg-turbo + libpng + libx11 + libxxf86vm + mesa)) (synopsis "3D game engine written in C++") (description "The Irrlicht Engine is a high performance realtime 3D engine written in -- cgit v1.2.3 From 2dae3cbeccb85d62525ff4fffd387393959edbb8 Mon Sep 17 00:00:00 2001 From: Foo Chuan Wei Date: Fri, 20 May 2022 04:15:36 +0000 Subject: gnu: Add apricots. * gnu/packages/games.scm (apricots): New variable. Signed-off-by: Mathieu Othacehe --- gnu/packages/games.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'gnu/packages/games.scm') diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 578340113f..c011622f8e 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -12679,6 +12679,31 @@ Magic II (aka HOMM2) game engine. It requires assets and game resources to play; it will look for them at @file{~/.local/share/fheroes2} folder.") (license license:gpl2))) +(define-public apricots + (package + (name "apricots") + (version "0.2.7") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/moggers87/apricots") + (commit (string-append "v" version)))) + (sha256 + (base32 "0vis217hhnb9fbs9sf8mmcm71qp44kr3xqmffc1gdiixvi90c781")) + (file-name (git-file-name name version)))) + (build-system gnu-build-system) + (native-inputs (list autoconf ; autom4te used in ./bootstrap + automake ; aclocal used in ./bootstrap + cppcheck)) + (inputs (list freealut openal sdl2)) + (home-page "https://github.com/moggers87/apricots") + (synopsis "Arcade airplane game") + (description "@code{apricots} is a game where you fly a little plane +around the screen and shoot things and drop bombs on enemy targets. It's +meant to be quick and fun.") + (license license:gpl2+))) + (define-public liquidwar6 (package (name "liquidwar6") -- cgit v1.2.3