summaryrefslogtreecommitdiff
path: root/gba.scm
diff options
context:
space:
mode:
authorEkaitz Zarraga <ekaitz@elenq.tech>2022-08-10 13:33:09 +0200
committerEkaitz Zarraga <ekaitz@elenq.tech>2022-08-10 13:33:09 +0200
commit712e2ed0b398e92fb91dd4a7a02fe82894db9b73 (patch)
tree22b366073f797db914261e459235a196fb631f59 /gba.scm
parent190dd126682591f087d1162c49a911e01893cf46 (diff)
Add libseven to gba development
Diffstat (limited to 'gba.scm')
-rw-r--r--gba.scm66
1 files changed, 66 insertions, 0 deletions
diff --git a/gba.scm b/gba.scm
new file mode 100644
index 0000000..fb0af6e
--- /dev/null
+++ b/gba.scm
@@ -0,0 +1,66 @@
+(define-module (gba)
+ #:use-module (guix packages)
+ #:use-module (gnu packages autotools)
+ #:use-module (gnu packages embedded)
+ #:use-module (guix git-download)
+ #:use-module (guix build-system gnu)
+ #:use-module (guix build-system trivial)
+ #:use-module ((guix licenses) #:prefix license:))
+
+(define-public gba-tools
+ (package
+ (name "gba-tools")
+ (version "1.2.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/devkitPro/gba-tools")
+ (commit (string-append "v" version))))
+ (sha256
+ (base32
+ "1rlhyc9dsdxcmaih3x9qjb3ihr2xxz1rw42ijbz2ylymn9p133gh"))))
+ (build-system gnu-build-system)
+ (inputs (list automake autoconf))
+ (synopsis "Collection of tools for Game Boy Advance development")
+ (description "Collection of tools for Game Boy Advance development.")
+ (home-page "https://github.com/devkitPro/gba-tools")
+ (license license:gpl3+)))
+
+(define-public libseven
+; this one fits the best in our process
+; https://github.com/LunarLambda/libseven
+ (package
+ (name "libseven")
+ (version "0.3.5")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/LunarLambda/libseven")
+ (commit (string-append "v" version))
+ (recursive? #t)))
+ (sha256
+ (base32
+ "13zrjhxcz8d1y46b6c14x50kidsrglfc1lfgikbbc8dmy1z1z0lc"))))
+ (arguments
+ (list
+ #:phases
+ `(modify-phases %standard-phases
+ (delete 'configure)
+ (add-before 'build 'setenv
+ (lambda* _
+ (setenv "DESTDIR" "output")))
+ (add-after 'install 'correct-output-dir
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (copy-recursively "output/libseven" (assoc-ref outputs "out")))))
+ #:tests? #f))
+ (build-system gnu-build-system)
+ (inputs (list arm-none-eabi-nano-toolchain-7-2018-q2-update))
+ (synopsis "A fully from-scratch library for GBA development, meant to
+replace existing libraries like libgba or libtonc.")
+ (description "Goals:
+ - Intuitive, consistent, and well organized API
+ - Optimized code with minimal RAM and ROM size
+ - Correctness without compromises
+ - High-quality, understandable documentation")
+ (home-page "https://github.com/LunarLambda/libseven")
+ (license license:mpl2.0)))