gnu: roguebox-adventures: Update to 2.2.1.

* gnu/packages/games.scm (roguebox-adventures): Update to 2.2.1.
[source]: Use url-fetch instead of git-fetch.
[arguments]: Rewrite install phase for update.
master
Kei Kebreau 2018-04-30 11:20:15 -04:00
parent 05c62b1e1d
commit 1697048ff2
No known key found for this signature in database
GPG Key ID: E6A5EE3C19467A0D
1 changed files with 97 additions and 77 deletions

View File

@ -773,90 +773,110 @@ utilizing the art assets from the @code{SuperTux} project.")
license:gpl3+))))
(define-public roguebox-adventures
(let ((commit "19a2c340b34d5b4e7cc89118c7aedc058babbd93")
(revision "1"))
(package
(name "roguebox-adventures")
(version (git-version "2.1.2" revision commit))
(source
(origin
(method git-fetch)
(uri
(git-reference
(url "https://git.postactiv.com/themightyglider/RogueBoxAdventures.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0afmg8fjdcs3sqdp5rc7irgr7riil8jwysfjn1imfxslf1wcx5ah"))))
(build-system python-build-system)
(arguments
'(#:tests? #f ; no check target
#:phases
(modify-phases %standard-phases
;; no setup.py script
(replace 'build
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(data (string-append
out "/share/games/roguebox-adventures")))
;; Use the correct data directory.
(substitute* '("main.py" "LIB/getch.py" "LIB/getch_gcwz.py")
(("basic_path + os\\.sep + 'DATA'")
(string-append "'" data "'"))
(("^basic_path.*$")
(string-append "basic_path ='" data "'\n")))
(substitute* "LIB/gra_files.py"
(("basic_path = b_path\\.replace\\('/LIB',''\\)")
(string-append "basic_path ='" data "'\n")))
(package
(name "roguebox-adventures")
(version "2.2.1")
(source
(origin
(method url-fetch)
(uri (string-append
"http://download.tuxfamily.org/rba/RogueBoxAdventures_v"
(string-join (string-split version #\.) "_") "_Source.zip"))
(file-name (string-append name "-" version ".zip"))
(sha256
(base32
"0kmzdgnik8fsf3bg55546l77p3mfxn2awkzfzzdn20n82rd2babw"))))
(build-system python-build-system)
(arguments
`(#:tests? #f ; no check target
#:phases
(modify-phases %standard-phases
(replace 'unpack
(lambda* (#:key source #:allow-other-keys)
(and (invoke "unzip" source)
;; The actual source is buried a few directories deep.
(chdir (string-append "RogueBoxAdventures_v"
(string-join
(string-split ,version #\.) "_")
"_Source")))))
;; no setup.py script
(replace 'build
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(data (string-append
out "/share/games/roguebox-adventures")))
;; Use the correct data directory.
(substitute* '("main.py" "LIB/getch.py" "LIB/getch_gcwz.py")
(("basic_path + os\\.sep + 'DATA'")
(string-append "'" data "'"))
(("^basic_path.*$")
(string-append "basic_path ='" data "'\n")))
(substitute* "LIB/gra_files.py"
(("basic_path = b_path\\.replace\\('/LIB',''\\)")
(string-append "basic_path ='" data "'\n")))
;; The game must save in the user's home directory because
;; the store is read-only.
(substitute* "main.py"
(("home_save = False") "home_save = True")
(("'icon_small.png'")
(string-append "'" data "/icon_small.png'"))))
#t))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(data (string-append
out "/share/games/roguebox-adventures"))
(doc (string-append
out "/share/doc/roguebox-adventures")))
(mkdir-p bin)
(mkdir-p doc)
(copy-file "main.py"
(string-append bin "/roguebox-adventures"))
(chmod (string-append bin "/roguebox-adventures") #o555)
;; The game must save in the user's home directory because
;; the store is read-only.
(substitute* "main.py"
(("home_save = False") "home_save = True")
(("'icon_small.png'")
(string-append "'" data "/icon_small.png'"))))
#t))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(roguebox-adventures
(string-append bin "/roguebox-adventures"))
(data (string-append
out "/share/games/roguebox-adventures"))
(lib (string-append data "/LIB"))
(doc (string-append
out "/share/doc/roguebox-adventures")))
(mkdir-p bin)
(mkdir-p doc)
(for-each (lambda (file)
(copy-recursively file
(string-append data "/" file)))
'("AUDIO" "FONT" "GRAPHIC" "LIB" "LICENSE"
"icon_big.png" "icon_small.png"))
(for-each (lambda (file)
(copy-recursively file
(string-append data "/" file)))
'("AUDIO" "FONT" "GRAPHIC" "LIB" "LICENSE"
"icon_big.png" "icon_small.png"))
(for-each (lambda (file)
(chmod file #o555)
(install-file file lib))
'("main.py" "run.py"))
(copy-recursively "DOC" doc)
(copy-recursively "DOC" doc)
(wrap-program (string-append bin "/roguebox-adventures")
`("PYTHONPATH" ":" prefix (,(string-append data "/LIB")))))
#t)))))
(inputs
`(("python-pygame" ,python-pygame)
("python-tmx" ,python-tmx)))
(home-page "https://rogueboxadventures.tuxfamily.org")
(synopsis "A classical roguelike/sandbox game")
(description
"RogueBox Adventures is a graphical roguelike with strong influences
(call-with-output-file
roguebox-adventures
(lambda (p)
(format p "\
#!~a
export PYTHONPATH=~a/LIB:~a
exec -a \"~a\" ~a \"$@\"\n"
(which "bash") data (getenv "PYTHONPATH")
(which "python3")
(string-append lib "/main.py"))))
(chmod roguebox-adventures #o555))
#t)))))
(native-inputs
`(("unzip" ,unzip)))
(inputs
`(("python-pygame" ,python-pygame)
("python-tmx" ,python-tmx)))
(home-page "https://rogueboxadventures.tuxfamily.org")
(synopsis "A classical roguelike/sandbox game")
(description
"RogueBox Adventures is a graphical roguelike with strong influences
from sandbox games like Minecraft or Terraria. The main idea of RogueBox
Adventures is to offer the player a kind of roguelike toy-world. This world
can be explored and changed freely.")
;; The GPL3+ is for code, the rest are for art.
(license (list license:cc0
license:cc-by3.0
license:gpl3+
license:silofl1.1)))))
;; The GPL3+ is for code, the rest are for art.
(license (list license:cc0
license:cc-by3.0
license:gpl3+
license:silofl1.1))))
(define-public xshogi
(package