aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/packages/games.scm61
1 files changed, 28 insertions, 33 deletions
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index ac53979af4..9976216aaa 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -5225,54 +5225,49 @@ Github or Gitlab.")
(define-public colobot
(package
(name "colobot")
- (version "0.1.11.1-alpha")
+ (version "0.1.12-alpha")
(source
(origin
- (method url-fetch)
- (uri (string-append "https://github.com/colobot/colobot/archive/"
- "colobot-gold-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/colobot/colobot.git")
+ (commit (string-append "colobot-gold-" version))
+ (recursive? #t))) ;for "data/" subdir
+ (file-name (git-file-name name version))
(sha256
(base32
- "0h6f4icarramhjkxxbzz6siv3v11z5r8ghqisgr1rscw217vhmwf"))))
+ "1c181cclkrnspgs07lvndg2c81cjq3smkv7qim8c470cj88rcrp2"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ;no test
#:phases
(modify-phases %standard-phases
- (add-after 'unpack 'unpack-data
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((data (assoc-ref inputs "colobot-data")))
- (invoke "tar" "-xvf" data "-Cdata" "--strip-components=1")
- #t)))
- (add-after 'unpack-data 'install-music
+ (add-after 'unpack 'make-git-checkout-writable
+ (lambda _
+ (for-each make-file-writable (find-files "."))
+ #t))
+ (add-after 'unpack 'fix-directories
+ (lambda _
+ (substitute* "CMakeLists.txt"
+ (("(\\$\\{CMAKE_INSTALL_PREFIX\\})/games" _ prefix)
+ (string-append prefix "/bin"))
+ (("(\\$\\{CMAKE_INSTALL_PREFIX\\}/share)/games/colobot" _ prefix)
+ (string-append prefix "/colobot")))
+ #t))
+ (add-after 'fix-directories 'install-music
+ ;; Retrieve and install music files.
(lambda* (#:key inputs #:allow-other-keys)
;; Installation process tries to download music files using
- ;; "wget" if not already present. Since we are going to install
- ;; them, skip "wget" command check.
+ ;; "wget" if not already present. Since we are going another
+ ;; route, skip "wget" command check.
(substitute* "data/music/CMakeLists.txt"
(("find_program\\(WGET wget\\)") ""))
- ;; Effectively install music.
+ ;; Populate "music/" directory.
(let ((data (assoc-ref inputs "colobot-music")))
- (invoke "tar" "-xvf" data "-Cdata/music")
- #t)))
- (add-after 'install 'fix-install-directory
- ;; Move binary from "games/" to "bin/".
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- (rename-file (string-append out "/games")
- (string-append out "/bin"))
- #t))))))
+ (invoke "tar" "-xvf" data "-Cdata/music"))
+ #t)))))
(native-inputs
- `(("colobot-data"
- ,(origin
- (method url-fetch)
- (uri (string-append
- "https://github.com/colobot/colobot-data/archive/"
- "colobot-gold-" version ".tar.gz"))
- (sha256
- (base32
- "0riznycx2jbxmg4m9nn3mcpqws2c0s7cn2m9skz9zj1w39r5qpjy"))))
- ("colobot-music"
+ `(("colobot-music"
,(origin
(method url-fetch)
(uri (string-append "https://colobot.info/files/music/"