me
/
guix
Archived
1
0
Fork 0

gnu: Add wrapper for Freedink.

* gnu/packages/games.scm (freedink-engine, freedink-data): Make
  private.
  (freedink): New variable.
master
Ludovic Courtès 2014-11-11 00:05:20 +01:00
parent bb3b71ce87
commit a6b55314b1
1 changed files with 33 additions and 3 deletions

View File

@ -4,6 +4,7 @@
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2014 Cyrill Schenkel <cyrill.schenkel@gmail.com> ;;; Copyright © 2014 Cyrill Schenkel <cyrill.schenkel@gmail.com>
;;; Copyright © 2014 Sylvain Beucler <beuc@beuc.net> ;;; Copyright © 2014 Sylvain Beucler <beuc@beuc.net>
;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -45,7 +46,9 @@
#:use-module (gnu packages texinfo) #:use-module (gnu packages texinfo)
#:use-module (gnu packages check) #:use-module (gnu packages check)
#:use-module (gnu packages fontutils) #:use-module (gnu packages fontutils)
#:use-module (guix build-system gnu)) #:use-module (gnu packages bash)
#:use-module (guix build-system gnu)
#:use-module (guix build-system trivial))
(define-public gnubg (define-public gnubg
(package (package
@ -289,7 +292,7 @@ against the computer in a game of chess, either through the default terminal
interface or via an external visual interface such as GNU XBoard.") interface or via an external visual interface such as GNU XBoard.")
(license gpl3+))) (license gpl3+)))
(define-public freedink-engine (define freedink-engine
(package (package
(name "freedink-engine") (name "freedink-engine")
(version "108.4") (version "108.4")
@ -320,7 +323,7 @@ game data files but it also supports user-produced game mods or \"D-Mods\".
To that extent, it also includes a front-end for managing all of your D-Mods.") To that extent, it also includes a front-end for managing all of your D-Mods.")
(license gpl3+))) (license gpl3+)))
(define-public freedink-data (define freedink-data
(package (package
(name "freedink-data") (name "freedink-data")
(version "1.08.20140901") (version "1.08.20140901")
@ -343,6 +346,33 @@ To that extent, it also includes a front-end for managing all of your D-Mods.")
;; TODO: Add freedink-dfarc when there's a wxWidgets package. ;; TODO: Add freedink-dfarc when there's a wxWidgets package.
(define-public freedink
;; This is a wrapper that tells the engine where to find the data.
(package (inherit freedink-engine)
(name "freedink")
(build-system trivial-build-system)
(arguments
'(#:builder (begin
(use-modules (guix build utils))
(let* ((output (assoc-ref %outputs "out"))
(bin (string-append output "/bin"))
(executable (string-append bin "/freedink")))
(mkdir-p bin)
(call-with-output-file executable
(lambda (port)
(format port "#!~a/bin/sh
exec ~a/bin/freedink -refdir ~a/share/dink\n"
(assoc-ref %build-inputs "bash")
(assoc-ref %build-inputs "engine")
(assoc-ref %build-inputs "data"))
(chmod port #o777)))))
#:modules ((guix build utils))))
(inputs `(("engine" ,freedink-engine)
("data" ,freedink-data)
("bash" ,bash)))
(native-inputs '())))
(define-public xboard (define-public xboard
(package (package
(name "xboard") (name "xboard")