git: 9e0e0d7b0444 - main - devel/exomizer: Add new port
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 09 Jan 2023 08:23:49 UTC
The branch main has been updated by zirias:
URL: https://cgit.FreeBSD.org/ports/commit/?id=9e0e0d7b0444ef463764be0375fcd538af5379af
commit 9e0e0d7b0444ef463764be0375fcd538af5379af
Author: Felix Palmen <zirias@FreeBSD.org>
AuthorDate: 2023-01-06 16:02:58 +0000
Commit: Felix Palmen <zirias@FreeBSD.org>
CommitDate: 2023-01-09 08:22:27 +0000
devel/exomizer: Add new port
Exomizer is a cruncher for old 8-bit computers, with focus on the MOS
6502 CPU. It can create self-decrunching executables for a variety of
these systems, as well as plain crunched data. Some decrunching code
for the target systems is bundled.
Approved by: tcberner (mentor)
Differential Revision: https://reviews.freebsd.org/D37965
---
devel/Makefile | 1 +
devel/exomizer/Makefile | 43 +++++++++++++++++++++++++++++
devel/exomizer/distinfo | 3 +++
devel/exomizer/pkg-descr | 24 +++++++++++++++++
devel/exomizer/pkg-plist | 70 ++++++++++++++++++++++++++++++++++++++++++++++++
5 files changed, 141 insertions(+)
diff --git a/devel/Makefile b/devel/Makefile
index b357bbb72c13..5facac1f71f1 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -623,6 +623,7 @@
SUBDIR += evemu
SUBDIR += eventxx
SUBDIR += exercisix
+ SUBDIR += exomizer
SUBDIR += f18
SUBDIR += f77flow
SUBDIR += fam
diff --git a/devel/exomizer/Makefile b/devel/exomizer/Makefile
new file mode 100644
index 000000000000..a02af825ea1b
--- /dev/null
+++ b/devel/exomizer/Makefile
@@ -0,0 +1,43 @@
+PORTNAME= exomizer
+DISTVERSION= 3.1.1
+CATEGORIES= devel
+MASTER_SITES= https://bitbucket.org/magli143/exomizer/wiki/downloads/
+
+MAINTAINER= zirias@FreeBSD.org
+COMMENT= Cruncher for 6502-based systems
+WWW= https://bitbucket.org/magli143/exomizer/wiki/Home
+
+LICENSE= ZLIB EXO
+LICENSE_COMB= multi
+LICENSE_NAME_EXO= exomizer
+LICENSE_TEXT_EXO= The names of this software and/or it's copyright\
+ holders may not be used to endorse or promote products\
+ derived from this software without specific prior\
+ written permission.
+LICENSE_PERMS_EXO= dist-mirror pkg-mirror auto-accept
+
+USES= gmake zip
+
+MAKE_ARGS= LDFLAGS="${LDFLAGS} -s" \
+ SHELL="${SH} -x" \
+ WFLAGS="${CFLAGS}"
+ALL_TARGET= build
+
+NO_WRKSUBDIR= yes
+BUILD_WRKSRC= ${WRKSRC}/src
+
+OPTIONS_DEFINE= DOCS
+
+do-install:
+ ${INSTALL_PROGRAM} ${BUILD_WRKSRC}/exomizer \
+ ${STAGEDIR}${PREFIX}/bin/exomizer
+ ${INSTALL_PROGRAM} ${BUILD_WRKSRC}/exobasic \
+ ${STAGEDIR}${PREFIX}/bin/exobasic
+ (cd ${WRKSRC} && ${COPYTREE_SHARE} "exodecrs rawdecrs" \
+ ${STAGEDIR}${DATADIR})
+
+do-install-DOCS-on:
+ ${MKDIR} ${STAGEDIR}${DOCSDIR}
+ ${INSTALL_MAN} ${WRKSRC}/*.txt ${STAGEDIR}${DOCSDIR}
+
+.include <bsd.port.mk>
diff --git a/devel/exomizer/distinfo b/devel/exomizer/distinfo
new file mode 100644
index 000000000000..464fd37e5c30
--- /dev/null
+++ b/devel/exomizer/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1673014159
+SHA256 (exomizer-3.1.1.zip) = 2dfc821220d90185e31b5fe0958682e498e1bd8aaca7fe1b122febb863e9fe2d
+SIZE (exomizer-3.1.1.zip) = 713134
diff --git a/devel/exomizer/pkg-descr b/devel/exomizer/pkg-descr
new file mode 100644
index 000000000000..3bc725d33b37
--- /dev/null
+++ b/devel/exomizer/pkg-descr
@@ -0,0 +1,24 @@
+Exomizer is a program that 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. For some popular 8-bit computers using
+6502 compatible CPUs it can also generate executable files that decompress
+themselves in memory when run.
+
+Exomizer operates in two major modes. It has a raw mode that compresses plain
+files and produces plain files. This mode is used by the raw subcommand. All
+other subcommands use the second mode. It requires all source files to be
+targeted to be decrunched at specific addresses in the 16-bit address space of
+the target computer. In this mode, no file can be larger than 64kB since all
+data must be addressable using 16-bits. The targeted mode has the following
+features:
+* It reads plain or .prg files to any given address.
+* It can produce stand-alone self-decrunching files for the following targets:
+ - Commodore VIC20, C64, C65, C16/plus4, C128 and PET 4032
+ - Atari 400/800 XL/XE
+ - Apple ][+ and //e
+ - Oric-1 and Oric Atmos
+ - BBC Micro B
+* It can produce files for both "in memory" and "from disk" decrunching.
+* It handles RLE-sequences well, no packer is necessary.
+* It is able to link/combine more than one source file into the same crunched
+ target file.
diff --git a/devel/exomizer/pkg-plist b/devel/exomizer/pkg-plist
new file mode 100644
index 000000000000..e917d1b37df4
--- /dev/null
+++ b/devel/exomizer/pkg-plist
@@ -0,0 +1,70 @@
+bin/exobasic
+bin/exomizer
+%%PORTDOCS%%%%DOCSDIR%%/changelog.txt
+%%PORTDOCS%%%%DOCSDIR%%/exo20info.txt
+%%PORTDOCS%%%%DOCSDIR%%/exo31info.txt
+%%PORTDOCS%%%%DOCSDIR%%/exobasic10b2.txt
+%%DATADIR%%/exodecrs/Makefile
+%%DATADIR%%/exodecrs/README_exo3.txt
+%%DATADIR%%/exodecrs/acme/Makefile
+%%DATADIR%%/exodecrs/acme/exodecrunch.asm
+%%DATADIR%%/exodecrs/acme/main.asm
+%%DATADIR%%/exodecrs/acme/split/Makefile
+%%DATADIR%%/exodecrs/acme/split/data.asm.template
+%%DATADIR%%/exodecrs/acme/split/main.asm
+%%DATADIR%%/exodecrs/c64.cfg
+%%DATADIR%%/exodecrs/dasm/Makefile
+%%DATADIR%%/exodecrs/dasm/exodecrunch.s
+%%DATADIR%%/exodecrs/dasm/main.s
+%%DATADIR%%/exodecrs/dasm/split/Makefile
+%%DATADIR%%/exodecrs/dasm/split/data.s.template
+%%DATADIR%%/exodecrs/dasm/split/main.s
+%%DATADIR%%/exodecrs/data.bin
+%%DATADIR%%/exodecrs/exodecrunch.s
+%%DATADIR%%/exodecrs/exostreamdecr1.s
+%%DATADIR%%/exodecrs/exostreamdecr2.s
+%%DATADIR%%/exodecrs/main.s
+%%DATADIR%%/exodecrs/main1.s
+%%DATADIR%%/exodecrs/main2.s
+%%DATADIR%%/exodecrs/perf/Makefile
+%%DATADIR%%/exodecrs/perf/data.raw
+%%DATADIR%%/exodecrs/split/Makefile
+%%DATADIR%%/exodecrs/split/data.s.template
+%%DATADIR%%/exodecrs/split/main.s
+%%DATADIR%%/exodecrs/testrun.c
+%%DATADIR%%/rawdecrs/6809/README_exo3.txt
+%%DATADIR%%/rawdecrs/6809/exo2_final.asm
+%%DATADIR%%/rawdecrs/6809/exo2_puls.txt
+%%DATADIR%%/rawdecrs/8080/P43/deexo.asm
+%%DATADIR%%/rawdecrs/8080/P43E/deexo.asm
+%%DATADIR%%/rawdecrs/8080/P47T4/deexo.asm
+%%DATADIR%%/rawdecrs/8080/README.txt
+%%DATADIR%%/rawdecrs/8086/P47/deexo.asm
+%%DATADIR%%/rawdecrs/8086/README.txt
+%%DATADIR%%/rawdecrs/Makefile
+%%DATADIR%%/rawdecrs/exodecr.c
+%%DATADIR%%/rawdecrs/exodecr.h
+%%DATADIR%%/rawdecrs/exodecrunch.c
+%%DATADIR%%/rawdecrs/exodecrunch.h
+%%DATADIR%%/rawdecrs/main.c
+%%DATADIR%%/rawdecrs/main2.c
+%%DATADIR%%/rawdecrs/test1.bin
+%%DATADIR%%/rawdecrs/test2.bin
+%%DATADIR%%/rawdecrs/test3.bin
+%%DATADIR%%/rawdecrs/test4.bin
+%%DATADIR%%/rawdecrs/thumb2/README.txt
+%%DATADIR%%/rawdecrs/thumb2/speed.S
+%%DATADIR%%/rawdecrs/thumb2/universal.S
+%%DATADIR%%/rawdecrs/z80/deexoopt.asm
+%%DATADIR%%/rawdecrs/z80/deexoopt_b0.asm
+%%DATADIR%%/rawdecrs/z80/deexoopt_b1.asm
+%%DATADIR%%/rawdecrs/z80/deexoopt_b2.asm
+%%DATADIR%%/rawdecrs/z80/deexoopt_b3.asm
+%%DATADIR%%/rawdecrs/z80/deexoopt_b4.asm
+%%DATADIR%%/rawdecrs/z80/deexoopt_f0.asm
+%%DATADIR%%/rawdecrs/z80/deexoopt_f1.asm
+%%DATADIR%%/rawdecrs/z80/deexoopt_f2.asm
+%%DATADIR%%/rawdecrs/z80/deexoopt_f3.asm
+%%DATADIR%%/rawdecrs/z80/deexoopt_f4.asm
+%%DATADIR%%/rawdecrs/z80/lgpl-2.1.txt
+%%DATADIR%%/rawdecrs/z80/readme.txt