summaryrefslogtreecommitdiff
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
parent190dd126682591f087d1162c49a911e01893cf46 (diff)
Add libseven to gba development
-rw-r--r--gba-tools.scm25
-rw-r--r--gba.scm66
2 files changed, 66 insertions, 25 deletions
diff --git a/gba-tools.scm b/gba-tools.scm
deleted file mode 100644
index fae54ac..0000000
--- a/gba-tools.scm
+++ /dev/null
@@ -1,25 +0,0 @@
-(define-module (gba-tools)
- #:use-module (guix packages)
- #:use-module (gnu packages autotools)
- #:use-module (guix git-download)
- #:use-module (guix build-system gnu)
- #: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+)))
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)))