(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: - gbafix: Pads and patches GBA ROMs. - gbalzss: Compresses and uncompresses ROMs. - gbfs: Creates a GBFS archive. - insgbfs: Inserts a GBFS file (or any other file) into a GBFS_SPACE (identified by symbol name) in a ROM. - lsgbfs: Lists objects in a GBFS file. - ungbfs: Dumps the objects in a GBFS file to separate files.") (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)))