summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArun Isaac <arunisaac@systemreboot.net>2021-04-24 22:09:26 +0530
committerGuix Patches Tester <>2021-04-24 17:55:24 +0100
commitfd1f60a572576ad7dad2ba3a303af16d85e9fcd7 (patch)
tree6c5dbd592e0d4e47075bd1b7399790e55d7870c3
parent082de4f161aa7f9b63e6d6d8712c295aba3cfe67 (diff)
downloadguix-patches-fd1f60a572576ad7dad2ba3a303af16d85e9fcd7.tar
guix-patches-fd1f60a572576ad7dad2ba3a303af16d85e9fcd7.tar.gz
gnu: Add openage.series-7720
* gnu/packages/games.scm (openage): New variable.
-rw-r--r--gnu/packages/games.scm73
1 files changed, 73 insertions, 0 deletions
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 4d565395ee..9f4ac40507 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -12450,3 +12450,76 @@ available.")
objects with key-value pairs in a database with the key idea that changes in a
parent affect all children. The main focus is readability and moddability.")
(license license:lgpl3+)))
+
+(define-public openage
+ (package
+ (name "openage")
+ (version "0.4.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/SFTtech/openage")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "051hy0s0crdavaghwzv9airq5yrhmk2a6b3ckc7dhr1851yanynp"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:configure-flags
+ (list (string-append "-DCMAKE_PY_INSTALL_PREFIX="
+ %output "/lib/python"
+ ,(version-major+minor (package-version python))
+ "/site-packages")
+ (string-append "-DGLOBAL_CONFIG_DIR=" %output "/etc/openage"))
+ #:modules ((guix build cmake-build-system)
+ ((guix build python-build-system) #:prefix python:)
+ (guix build utils))
+ #:imported-modules (,@%cmake-build-system-modules
+ (guix build python-build-system))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'wrap-python
+ (assoc-ref python:%standard-phases 'wrap))
+ (add-after 'wrap-python 'wrap-qt
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (wrap-program (string-append (assoc-ref outputs "out") "/bin/openage")
+ `("QML2_IMPORT_PATH" ":" prefix
+ ,(map (lambda (name)
+ (string-append (assoc-ref inputs name)
+ "/lib/qt5/qml"))
+ (list "qtdeclarative" "qtquickcontrols")))))))))
+ (inputs
+ `(("eigen" ,eigen)
+ ("fontconfig" ,fontconfig)
+ ("freetype" ,freetype)
+ ("harfbuzz" ,harfbuzz)
+ ("libepoxy" ,libepoxy)
+ ("nyan" ,nyan)
+ ("opusfile" ,opusfile)
+ ("python" ,python)
+ ("python-jinja2" ,python-jinja2)
+ ("python-numpy" ,python-numpy)
+ ("python-pillow" ,python-pillow)
+ ("qtbase" ,qtbase)
+ ("qtdeclarative" ,qtdeclarative)
+ ("qtquickcontrols" ,qtquickcontrols)
+ ("sdl" ,(sdl-union (list sdl2 sdl2-image)))))
+ (native-inputs
+ `(("python-cython" ,python-cython)
+ ("python-pygments" ,python-pygments)))
+ (home-page "https://openage.sft.mx/")
+ (synopsis "Clone of the Age of Empires II engine")
+ (description "openage is a cross-platform real-time strategy game engine
+that provides the mechanics of Age of Empires. It aims to be a platform for
+the original Age of Empires games providing the same look and feel, but with
+more features for modding and multiplayer.")
+ (license (list license:gpl3+
+ ;; buildsystem/modules/FindSDL2.cmake,
+ ;; buildsystem/modules/FindGPerfTools.cmake,
+ ;; buildsystem/modules/FindOpusfile.cmake
+ license:bsd-3
+ ;; libopenage/util/compress/lzxd.cpp,
+ ;; doc/code/lzx_compression_info
+ license:lgpl2.0))))