guix-packages/ambrevar/games: Add eduke32
parent
0f847a9e73
commit
09e43e9428
|
@ -0,0 +1,79 @@
|
|||
(define-module (ambrevar games)
|
||||
#:use-module ((guix packages) #:select (package origin base32))
|
||||
#:use-module ((guix download) #:select (url-fetch))
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module ((guix build-system gnu) #:select (gnu-build-system))
|
||||
#:use-module ((guix build-system trivial) #:select (trivial-build-system))
|
||||
;; Inputs
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module ((gnu packages sdl) #:select (sdl-union sdl2 sdl2-mixer))
|
||||
#:use-module ((gnu packages gl) #:select (glu))
|
||||
#:use-module ((gnu packages pkg-config) #:select (pkg-config))
|
||||
#:use-module ((gnu packages xiph) #:select (libvorbis flac))
|
||||
#:use-module ((gnu packages video) #:select (libvpx))
|
||||
#:use-module ((gnu packages gtk) #:select (gtk+-2)))
|
||||
|
||||
(define-public eduke32
|
||||
(package
|
||||
(name "eduke32")
|
||||
(version "20181027-7136")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://dukeworld.duke4.net/eduke32/synthesis/"
|
||||
version
|
||||
"/eduke32_src_"
|
||||
version
|
||||
".tar.xz"))
|
||||
(sha256
|
||||
(base32 "121k2k7ylw8dvs71mrdy7hwb1a2xd5di7jdqc20a1ml5k0n9akpn"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(add-after 'set-paths 'set-sdl-paths
|
||||
;; The makefile adds the output of `sdl2-config --cflags` to the
|
||||
;; compiler flags, but sdl2-config gives us the wrong directory to
|
||||
;; include. We have to add the SDL2 header directory ourselves.
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(setenv "CPLUS_INCLUDE_PATH"
|
||||
(string-append (assoc-ref inputs "sdl-union")
|
||||
"/include/SDL2"
|
||||
":"
|
||||
(getenv "CPLUS_INCLUDE_PATH")))
|
||||
#t))
|
||||
(replace 'install
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out"))
|
||||
(glu (assoc-ref inputs "glu")))
|
||||
;; TODO: Install custom .desktop file? Need icon.
|
||||
;; See https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=eduke32.
|
||||
(install-file "eduke32" (string-append out "/bin"))
|
||||
(install-file "mapster32" (string-append out "/bin"))
|
||||
(install-file "package/common/buildlic.txt" (string-append out "/share/licenses"))
|
||||
(wrap-program (string-append out "/bin/eduke32")
|
||||
`("LD_LIBRARY_PATH" ":" prefix
|
||||
(,(string-append glu "/lib"))))))))))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
`(("sdl-union" ,(sdl-union (list sdl2 sdl2-mixer)))
|
||||
("glu" ,glu)
|
||||
("libvorbis" ,libvorbis)
|
||||
("libvpx" ,libvpx)
|
||||
("flac" ,flac)
|
||||
("gtk+" ,gtk+-2)))
|
||||
(synopsis "Source port of the classic PC first person shooter Duke Nukem 3D")
|
||||
(description "EDuke32 is an awesome, free homebrew game engine and source port of the
|
||||
classic PC first person shooter Duke Nukem 3D—Duke3D for short—to Windows,
|
||||
Linux, Mac OS X, FreeBSD, several handhelds, your family toaster, and to your
|
||||
girlfriend's vibrator. We've added thousands of cool and useful features and
|
||||
upgrades for regular players and additional editing capabilities and scripting
|
||||
extensions for homebrew developers and mod creators. EDuke32 is open source
|
||||
software that is completely free to use for all non-commercial purposes.")
|
||||
(home-page "https://eduke32.com/")
|
||||
(license ((@@ (guix licenses) license) "BUILD license"
|
||||
"https://eduke32.com/buildlic.txt"
|
||||
""))))
|
Loading…
Reference in New Issue