From 47f4d5d32f6519ef133fa6188c12d872b346734a Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Mon, 20 May 2019 16:55:06 +0200 Subject: gnu: mygui: Don't use unstable tarball. * gnu/packages/game-development.scm (mygui)[source]: Use GIT-FETCH and GIT-FILE-NAME. [arguments]: Disable Windows-specific demos and tools. --- gnu/packages/game-development.scm | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) (limited to 'gnu/packages/game-development.scm') diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index 5dd22215b8..a3585630f0 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -1037,13 +1037,14 @@ robust and compatible with many systems and operating systems.") (version "3.2.2") (source (origin - (method url-fetch) - (uri - (string-append "https://github.com/MyGUI/" name - "/archive/MyGUI" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/MyGUI/mygui") + (commit (string-append "MyGUI" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "13x7cydmj7gjmsg702sqjbfi53z265iv6j7binv3r6a7ibndfa0a")))) + "1wk7jmwm55rhlqqcyvqsxdmwvl70bysl9azh4kd9n57qlmgk3zmw")))) (build-system cmake-build-system) (arguments '(#:tests? #f ; No test target @@ -1051,7 +1052,11 @@ robust and compatible with many systems and operating systems.") (list "-DMYGUI_INSTALL_DOCS=TRUE" (string-append "-DOGRE_INCLUDE_DIR=" (assoc-ref %build-inputs "ogre") - "/include/OGRE")))) + "/include/OGRE") + ;; Demos and tools are Windows-specific: + ;; https://github.com/MyGUI/mygui/issues/24. + "-DMYGUI_BUILD_DEMOS=FALSE" + "-DMYGUI_BUILD_TOOLS=FALSE"))) (native-inputs `(("boost" ,boost) ("doxygen" ,doxygen) -- cgit v1.2.3 From 9fd50db3ae9d3582751087974566a926f8db9680 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Mon, 20 May 2019 17:00:45 +0200 Subject: gnu: Add mygui-gl. * gnu/packages/game-development.scm (mygui-gl): New variable. --- gnu/packages/game-development.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'gnu/packages/game-development.scm') diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index a3585630f0..93e2405ed3 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -32,6 +32,7 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu packages game-development) + #:use-module (srfi srfi-1) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) @@ -1076,6 +1077,29 @@ of use.") (home-page "http://mygui.info/") (license license:expat))) +(define-public mygui-gl + ;; Closure size is reduced by some 800 MiB. + (package + (inherit mygui) + (name "mygui-gl") + (version "3.2.2") + (arguments + (substitute-keyword-arguments (package-arguments mygui) + ((#:configure-flags _) + `(cons* "-DMYGUI_RENDERSYSTEM=4" ; 3 is Ogre, 4 is OpenGL. + ;; We can't reuse the flags because of the mention to Ogre. + (list "-DMYGUI_INSTALL_DOCS=TRUE" + ;; Demos and tools are Windows-specific: + ;; https://github.com/MyGUI/mygui/issues/24. + "-DMYGUI_BUILD_DEMOS=FALSE" + "-DMYGUI_BUILD_TOOLS=FALSE"))))) + (inputs + `(("mesa" ,mesa) + ("glu" ,glu) + ,@(fold alist-delete (package-inputs mygui) + '("ogre")))) + (synopsis "Fast, flexible and simple GUI (OpenGL backend)"))) + (define-public openmw (package (name "openmw") -- cgit v1.2.3 From 0655c16e7561cffe2fe26bd9b24af1a0efc2c859 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Mon, 20 May 2019 17:00:56 +0200 Subject: gnu: openmw: Use mygui-gl to reduce closure size. * gnu/packages/game-development.scm (openmw)[inputs]: Replace mygui with mygui-gl. --- gnu/packages/game-development.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gnu/packages/game-development.scm') diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index 93e2405ed3..7c47132cce 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -1126,7 +1126,7 @@ of use.") `(("bullet" ,bullet) ("ffmpeg" ,ffmpeg) ("libxt" ,libxt) - ("mygui" ,mygui) + ("mygui" ,mygui-gl) ; OpenMW does not need Ogre. ("openal" ,openal) ("openscenegraph" ,openscenegraph) ("qtbase" ,qtbase) -- cgit v1.2.3 From e4ff9dffe7cc0902dba87f2ce1d5cb884cf33785 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Thu, 23 May 2019 18:54:27 +0200 Subject: gnu: Add ioquake3. * gnu/packages/game-development.scm (ioquake3): New variable. --- gnu/packages/game-development.scm | 60 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) (limited to 'gnu/packages/game-development.scm') diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index 7c47132cce..62f6051e98 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -46,6 +46,7 @@ #:use-module (gnu packages) #:use-module (gnu packages audio) #:use-module (gnu packages autotools) + #:use-module (gnu packages base) #:use-module (gnu packages boost) #:use-module (gnu packages compression) #:use-module (gnu packages curl) @@ -1463,3 +1464,62 @@ collection of handy utility functions. All are 100% portable across nearly all modern computing platforms. Each library component is fairly independent of the others") (license license:lgpl2.0+))) + +(define-public ioquake3 + ;; We follow master since it seems that there won't be releases after 1.3.6. + (let ((commit "95b9cab4d644fa3bf757cfff821cc4f7d76e38b0")) + (package + (name "ioquake3") + (version (git-version "1.3.6" "1" commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ioquake/ioq3.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1vflk028z9gccg5yfi5451y1k5wxjdh3qbhjf4x6r7w2pzlxh16z")))) + (build-system gnu-build-system) + (inputs + `(("sdl2" ,sdl2) + ("libjpeg" ,libjpeg) + ("openal" ,openal) + ("curl" ,curl) + ("opusfile" ,opusfile) + ("opus" ,opus) + ("libvorbis" ,libvorbis) + ("freetype" ,freetype) + ("libogg" ,libogg))) + (native-inputs + `(("which" ,which) ; Else SDL_version.h won't be found. + ("pkg-config" ,pkg-config))) + (arguments + '(#:tests? #f ; No tests. + #:make-flags '("CC=gcc" + "USE_INTERNAL_LIBS=0" + "USE_FREETYPE=1" + "USE_RENDERER_DLOPEN=0" + "USE_OPENAL_DLOPEN=0" + "USE_CURL_DLOPEN=0") + #:phases + (modify-phases %standard-phases + (delete 'configure) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (invoke "make" "copyfiles" "CC=gcc" + "USE_INTERNAL_LIBS=0" + (string-append "COPYDIR=" + (assoc-ref outputs "out") + "/bin"))))))) + (home-page "https://ioquake3.org/") + (synopsis "FPS game engine based on Quake 3") + (description "ioquake3 is a free software first person shooter engine +based on the Quake 3: Arena and Quake 3: Team Arena source code. Compared to +the original, ioquake3 has been cleaned up, bugs have been fixed and features +added. The permanent goal is to create the open source Quake 3 distribution +upon which people base their games, ports to new platforms, and other +projects.") + (supported-systems '("x86_64-linux" "i686-linux")) + (license license:gpl2)))) -- cgit v1.2.3