summary refs log tree commit diff
diff options
context:
space:
mode:
authorDanny Milosavljevic <dannym@scratchpost.org>2021-07-12 00:59:03 +0200
committerDanny Milosavljevic <dannym@scratchpost.org>2021-07-12 01:48:12 +0200
commitdacda11541ba5c801bfdee39926d5652a040fb07 (patch)
treece07d0415d406eb8cbcf234cfab61e611ba2ce9e
parent7760d28920a920791645c4485f1345af45ee7787 (diff)
downloadguix-dacda11541ba5c801bfdee39926d5652a040fb07.tar.gz
gnu: Add exomizer.
* gnu/packages/emulators.scm (exomizer): New variable.
-rw-r--r--gnu/packages/emulators.scm51
1 files changed, 51 insertions, 0 deletions
diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm
index 0c6a2d17f4..ac6bdf87a4 100644
--- a/gnu/packages/emulators.scm
+++ b/gnu/packages/emulators.scm
@@ -2485,3 +2485,54 @@ elseif(FALSE)"))
        "PPSSPP is a ``high-level'' emulator simulating the PSP operating
 system.")
       (license license:gpl2+))))
+
+(define-public exomizer
+  (package
+    (name "exomizer")
+    (version "3.1.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                     (url "https://bitbucket.org/magli143/exomizer.git")
+                     (commit "6a152b5605648f7a41eadd4b011a93ec92f74dd8")))
+              (file-name (string-append name "-" version "-checkout"))
+              (sha256
+               (base32
+                "1ynhkb5p2dypkikipc3krzif264l9rmx1wnjzzgw8n88i4zkymzg"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f  ; No target exists
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'chdir
+           (lambda _
+             (delete-file-recursively "exodecrs")
+             (delete-file-recursively "rawdecrs")
+             (chdir "src")
+             ;; Those will be regenerated.
+             (delete-file "asm.tab.h")
+             (delete-file "asm.tab.c")
+             (delete-file "lex.yy.c")
+             #t))
+         (replace 'configure
+           (lambda _
+             (setenv "CC" ,(cc-for-target))
+             #t))
+         (replace 'install
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out-bin (string-append (assoc-ref outputs "out") "/bin")))
+               (install-file "exomizer" out-bin)
+               (install-file "exobasic" out-bin))
+             #t)))))
+    (native-inputs
+     `(("flex" ,flex)
+       ("bison" ,bison)))
+    (synopsis "Compressor for use on Commodore home computers")
+    (description "This program compresses files in a way that tries to be as
+efficient as possible but still allows them to be decompressed in environments
+where CPU speed and RAM are limited.  It also generate a self-extractor for use
+on a Commodore C64, C128 etc.")
+    (home-page "https://bitbucket.org/magli143/exomizer/wiki/Home")
+    ;; Some files are LGPL 2.1--but we aren't building from or installing those.
+    ;; zlib license with an (non-)advertising clause.
+    (license license:zlib)))