parent
a44f5ec73d
commit
03af9d56fb
|
@ -59,6 +59,7 @@
|
||||||
#:use-module (guix build-system python)
|
#:use-module (guix build-system python)
|
||||||
#:use-module (guix build-system scons)
|
#:use-module (guix build-system scons)
|
||||||
#:use-module (gnu packages)
|
#:use-module (gnu packages)
|
||||||
|
#:use-module (gnu packages assembly)
|
||||||
#:use-module (gnu packages audio)
|
#:use-module (gnu packages audio)
|
||||||
#:use-module (gnu packages autotools)
|
#:use-module (gnu packages autotools)
|
||||||
#:use-module (gnu packages base)
|
#:use-module (gnu packages base)
|
||||||
|
@ -2892,3 +2893,74 @@ progresses the level, or you may regenerate tiles as the world changes.")
|
||||||
writing your game.")
|
writing your game.")
|
||||||
(home-page "https://www.raylib.com/")
|
(home-page "https://www.raylib.com/")
|
||||||
(license license:zlib)))
|
(license license:zlib)))
|
||||||
|
|
||||||
|
(define-public bbcsdl
|
||||||
|
(package
|
||||||
|
(name "bbcsdl")
|
||||||
|
(version "1.35a")
|
||||||
|
(source (origin
|
||||||
|
(method git-fetch)
|
||||||
|
(uri (git-reference
|
||||||
|
(url "https://github.com/rtrussell/BBCSDL/")
|
||||||
|
(commit "b9b2a3eb438cb799edb2766055b3c38e9518e3e3")))
|
||||||
|
(file-name (git-file-name name version))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"1d03xmhrl6ba6w0vwfk46mpyc9d0w3bixxj2d4irx7wl7bh3bfic"))))
|
||||||
|
(build-system gnu-build-system)
|
||||||
|
(arguments
|
||||||
|
(list
|
||||||
|
#:tests? #f ; XXX: tests not automated
|
||||||
|
#:phases
|
||||||
|
#~(modify-phases %standard-phases
|
||||||
|
(delete 'configure) ; no configure script
|
||||||
|
(replace 'build
|
||||||
|
(lambda* (#:key outputs #:allow-other-keys)
|
||||||
|
;; 'makefile' expects the source directory to be named 'BBCSDL'.
|
||||||
|
(symlink "source" "../BBCSDL")
|
||||||
|
;; 'bbcsdl' finds 'libstb.so' in its RPATH.
|
||||||
|
(substitute* "bin/linux/makefile"
|
||||||
|
(("-Wl,-R,'\\$\\$ORIGIN'")
|
||||||
|
(string-append "-Wl,-rpath="
|
||||||
|
(assoc-ref outputs "out") "/opt/bbcsdl")))
|
||||||
|
;; Build 'bbcbasic' and 'bbcsdl'.
|
||||||
|
(invoke "make" "-C" "console/linux")
|
||||||
|
(invoke "make" "-C" "bin/linux")))
|
||||||
|
(replace 'install
|
||||||
|
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||||
|
(let* ((out (assoc-ref outputs "out"))
|
||||||
|
(opt (string-append out "/opt/bbcsdl"))
|
||||||
|
(bin (string-append out "/bin")))
|
||||||
|
(for-each
|
||||||
|
(lambda (f)
|
||||||
|
(copy-recursively f (string-append opt "/" f)))
|
||||||
|
;; Those files need to be installed into the same difertory.
|
||||||
|
'("lib" "examples" "bbcsdl.bbc"
|
||||||
|
"libstb.so" "bbcsdl" "bbcbasic"))
|
||||||
|
;; Replace bundled fonts.
|
||||||
|
(for-each
|
||||||
|
(lambda (font)
|
||||||
|
(delete-file (string-append opt "/lib/" font))
|
||||||
|
(symlink
|
||||||
|
(search-input-file
|
||||||
|
inputs (string-append "share/fonts/truetype/" font))
|
||||||
|
(string-append opt "/lib/" font)))
|
||||||
|
'("DejaVuSans.ttf" "DejaVuSansMono.ttf"
|
||||||
|
"FreeSans.ttf" "FreeMono.ttf" "FreeSerif.ttf"))
|
||||||
|
(mkdir bin)
|
||||||
|
(symlink (string-append opt "/bbcsdl")
|
||||||
|
(string-append bin "/bbcsdl"))
|
||||||
|
(symlink (string-append opt "/bbcbasic")
|
||||||
|
(string-append bin "/bbcbasic"))))))))
|
||||||
|
(native-inputs (list nasm))
|
||||||
|
(inputs (list sdl2 sdl2-ttf sdl2-net font-dejavu font-gnu-freefont))
|
||||||
|
(synopsis "BBC BASIC for SDL 2.0")
|
||||||
|
(home-page "https://www.bbcbasic.co.uk/bbcsdl/")
|
||||||
|
(description
|
||||||
|
"BBC BASIC is the programming language originally specified and adopted
|
||||||
|
by the British Broadcasting Corporation for its groundbreaking Computer
|
||||||
|
Literacy Project of the early 1980s. BBC BASIC for SDL 2.0 combines the
|
||||||
|
simplicity of BASIC with the sophistication of a modern structured language,
|
||||||
|
allowing you to write utilities and games, use sound and graphics, perform
|
||||||
|
calculations and create complete applications.")
|
||||||
|
(license license:zlib)))
|
||||||
|
|
Reference in New Issue