gnu: Add seahorse-adventures.
* gnu/packages/games.scm (seahorse-adventures): New variable.
This commit is contained in:
parent
3f3c61b8d5
commit
6d7ed7c050
1 changed files with 112 additions and 0 deletions
|
@ -1774,6 +1774,118 @@ can be explored and changed freely.")
|
||||||
license:gpl3+
|
license:gpl3+
|
||||||
license:silofl1.1))))
|
license:silofl1.1))))
|
||||||
|
|
||||||
|
(define-public seahorse-adventures
|
||||||
|
(package
|
||||||
|
(name "seahorse-adventures")
|
||||||
|
(version "1.2")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method git-fetch)
|
||||||
|
(uri (git-reference
|
||||||
|
(url "https://github.com/dulsi/seahorse-adventures.git")
|
||||||
|
(commit (string-append "release-" version))))
|
||||||
|
(file-name (git-file-name name version))
|
||||||
|
(sha256
|
||||||
|
(base32 "1rnvk06npaqcpjz5z6xcmssz61i32s422lydp49vrnf3j2g4yimd"))
|
||||||
|
(modules '((guix build utils)
|
||||||
|
(ice-9 ftw)
|
||||||
|
(srfi srfi-1)))
|
||||||
|
;; Remove non-free (non-commercial) font.
|
||||||
|
(snippet
|
||||||
|
`(begin
|
||||||
|
(for-each delete-file (find-files "data/fonts" "."))
|
||||||
|
#t))))
|
||||||
|
(build-system python-build-system)
|
||||||
|
(arguments
|
||||||
|
`(#:tests? #f ;no test
|
||||||
|
#:phases
|
||||||
|
(modify-phases %standard-phases
|
||||||
|
(delete 'build) ;pure Python
|
||||||
|
(replace 'install ;no install script
|
||||||
|
(lambda* (#:key outputs #:allow-other-keys)
|
||||||
|
(let* ((out (assoc-ref outputs "out"))
|
||||||
|
(bin (string-append out "/bin"))
|
||||||
|
(share (string-append out "/share"))
|
||||||
|
(applications (string-append share "/applications"))
|
||||||
|
(data (string-append share "/seahorse-adventures")))
|
||||||
|
;; Install data.
|
||||||
|
(for-each (lambda (f)
|
||||||
|
(chmod f #o555)
|
||||||
|
(install-file f data))
|
||||||
|
'("leveledit.py" "run_game.py" "tileedit.py"))
|
||||||
|
(for-each (lambda (dir)
|
||||||
|
(let ((target (string-append data "/" dir)))
|
||||||
|
(mkdir-p target)
|
||||||
|
(copy-recursively dir target)))
|
||||||
|
'("data" "lib"))
|
||||||
|
;; Create executable.
|
||||||
|
(mkdir-p bin)
|
||||||
|
(let ((executable (string-append bin "/seahorse-adventures")))
|
||||||
|
(call-with-output-file executable
|
||||||
|
(lambda (p)
|
||||||
|
(format p
|
||||||
|
"#!~a~@
|
||||||
|
export PYTHONPATH=~a:~a~@
|
||||||
|
exec -a \"~a\" ~a \"$@\"~%"
|
||||||
|
(which "bash") data (getenv "PYTHONPATH")
|
||||||
|
(which "python3")
|
||||||
|
(string-append data "/run_game.py"))))
|
||||||
|
(chmod executable #o555))
|
||||||
|
;; Add desktop file.
|
||||||
|
(mkdir-p applications)
|
||||||
|
(make-desktop-entry-file
|
||||||
|
(string-append applications "/seahorse-adventures.desktop")
|
||||||
|
#:name "Seahorse Adventures"
|
||||||
|
#:comment
|
||||||
|
'((#f "Help Barbie the seahorse float on bubbles to the moon"))
|
||||||
|
#:exec ,name
|
||||||
|
#:icon ,name
|
||||||
|
#:categories '("Game" "ActionGame")
|
||||||
|
#:keywords '("game" "retro" "platform"))
|
||||||
|
;; Add icons.
|
||||||
|
(for-each
|
||||||
|
(lambda (size)
|
||||||
|
(let ((dir (string-append share "/icons/hicolor/"
|
||||||
|
size "x" size "/apps")))
|
||||||
|
(mkdir-p dir)
|
||||||
|
(copy-file
|
||||||
|
(string-append "icon" size ".png")
|
||||||
|
(string-append dir "/searhorse-adventures.png"))))
|
||||||
|
'("32" "64" "128")))
|
||||||
|
#t))
|
||||||
|
(add-after 'install 'unbundle-fonts
|
||||||
|
;; Unbundle Bitstream Vera font and replace deleted one.
|
||||||
|
(lambda* (#:key outputs inputs #:allow-other-keys)
|
||||||
|
(let* ((out (assoc-ref outputs "out"))
|
||||||
|
(data (string-append out "/share/seahorse-adventures"))
|
||||||
|
(vera (string-append (assoc-ref inputs "font-bitstream-vera")
|
||||||
|
"/share/fonts/truetype/Vera.ttf")))
|
||||||
|
(let ((themes-dir (string-append data "/data/themes/")))
|
||||||
|
(for-each
|
||||||
|
(lambda (theme)
|
||||||
|
(let ((target (string-append themes-dir theme "/Vera.ttf")))
|
||||||
|
(delete-file target)
|
||||||
|
(symlink vera target)))
|
||||||
|
'("default" "gray")))
|
||||||
|
(symlink vera (string-append data "/data/fonts/04B_20__.TTF"))
|
||||||
|
(substitute* (string-append data "/lib/main.py")
|
||||||
|
(("f_scale = 0.35") "f_scale = 0.47")))
|
||||||
|
#t)))))
|
||||||
|
(inputs
|
||||||
|
`(("font-bitstream-vera" ,font-bitstream-vera)
|
||||||
|
("python-pygame" ,python-pygame)))
|
||||||
|
(home-page "http://www.imitationpickles.org/barbie/")
|
||||||
|
(synopsis "Help Barbie the seahorse float on bubbles to the moon")
|
||||||
|
(description
|
||||||
|
"Barbie Seahorse Adventures is a retro style platform arcade game.
|
||||||
|
You are Barbie the seahorse who travels through the jungle, up to the
|
||||||
|
volcano until you float on bubbles to the moon. On the way to your
|
||||||
|
final destination you will encounter various enemies, servants of the
|
||||||
|
evil overlord who has stolen the galaxy crystal. Avoid getting hit
|
||||||
|
and defeat them with your bubbles!")
|
||||||
|
;; GPL2+ is for code, CC0 is for art.
|
||||||
|
(license (list license:gpl2+ license:cc0))))
|
||||||
|
|
||||||
(define-public superstarfighter
|
(define-public superstarfighter
|
||||||
(package
|
(package
|
||||||
(name "superstarfighter")
|
(name "superstarfighter")
|
||||||
|
|
Reference in a new issue