From b3b92de25c3fc5f6bddc5e513027140591a0b2a5 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Thu, 23 May 2024 00:06:40 +0100 Subject: gentoo auto-resync : 23:05:2024 - 00:06:39 --- games-engines/Manifest.gz | Bin 3716 -> 3719 bytes games-engines/frotz/Manifest | 6 +- games-engines/frotz/files/frotz-2.53-uint32.patch | 475 --------------------- games-engines/frotz/files/frotz-stray-dollar.patch | 26 ++ games-engines/frotz/frotz-2.54.ebuild | 79 ---- games-engines/frotz/frotz-2.55_pre20240518.ebuild | 80 ++++ 6 files changed, 109 insertions(+), 557 deletions(-) delete mode 100644 games-engines/frotz/files/frotz-2.53-uint32.patch create mode 100644 games-engines/frotz/files/frotz-stray-dollar.patch delete mode 100644 games-engines/frotz/frotz-2.54.ebuild create mode 100644 games-engines/frotz/frotz-2.55_pre20240518.ebuild (limited to 'games-engines') diff --git a/games-engines/Manifest.gz b/games-engines/Manifest.gz index 503dede18391..597b33a0f6eb 100644 Binary files a/games-engines/Manifest.gz and b/games-engines/Manifest.gz differ diff --git a/games-engines/frotz/Manifest b/games-engines/frotz/Manifest index cedbd07eb68e..474e3cd5e4d0 100644 --- a/games-engines/frotz/Manifest +++ b/games-engines/frotz/Manifest @@ -1,4 +1,4 @@ -AUX frotz-2.53-uint32.patch 11097 BLAKE2B f5690216f66c07864b0b21a8def45e202df12f7437dd29fa7576d6782cd2c08d6405130d6c48aa71865a156f7101c80a8b5abbb9dd398154811074834adf3a41 SHA512 89cbbcc7782367ecfad571652990738adda0030c2b332fb6f137c56c893f41380c97301f4a614f1aad2d7c01537a478332bfe0df5fe69019eabcc4f1260dc330 -DIST frotz-2.54.tar.bz2 354087 BLAKE2B e3a77038605333ead060ac8b9c1a7fbcbd71ae4d91eae6c7f5dda482fba6113ff32c6e4b7aef701931ed260278522bc5a2b98f61cf939b68166d6ed32e9eba16 SHA512 f608007e4eb979b928128d22d960621100c6f7042e9d8fe1bdf44137da94c1c2aa4778be0309056763185eaab2662e3604bd7396c9f5cbf98ce52db626225295 -EBUILD frotz-2.54.ebuild 1763 BLAKE2B a4e4aee2f3455cb9ee5654d8af0950c9259f6e31a2ee0624e064b830f324b9a22e05e201bc571a397c9c2ec31f3452c9d95f7f74b5e05de3357225796591635a SHA512 8ce0617d7365e91962a48adef5b303228316ab367278c027a460d6dd19af68874959a04cc5dec97551f131c6a52751efbff40f5973679f3753e13990a58ceefa +AUX frotz-stray-dollar.patch 857 BLAKE2B b2d4681f2fddc4ef836b263a5592e34255d44a8f280f3b1d93fcb0e3aa18c222545ab81364ee673ec22e23d68d93e7fbc50b8dd296dd13ebc7b3fe81e81cb5ca SHA512 7640b2e70ad5200867fba5dcac6ca3f6a338cbd4778ec933901276d3f1b5de48e3d1385ab399081924caa4e571ea58cff23fb8a67391b126edaeb0278c83e46e +DIST frotz-2.55_pre20240518.tar.bz2 361873 BLAKE2B feffedec989adfda7e949ab4997dff6496e1d9fef4b55902cd8430556587e54996872107c70a1ecc6db4bc6e29357ec101df9f8f411043cddfbf03bc46d4fe4d SHA512 b18670d6360fff48c20e8d26cb5173784ea900128a8e08d39625297aeae6eb5ea5be7fe361785b3863f25667649d935f2b9edb9d92751388bfaaa00edf678ec2 +EBUILD frotz-2.55_pre20240518.ebuild 1877 BLAKE2B 60704545990e2c027c94a37bb9212fa60ccef9e79a665373175e5f050e19cead953aefaf01e6b4d3856379ca3dd8b105e091a765e8737cc48a891e456a5c4d7c SHA512 e389a38e992c895a74fef585eb979065fbd53e4587ce95975b881dab540e0bd06da77bf59079ac5dab091d8f1092bcbb004a36d4645017dc91a623479417ccdf MISC metadata.xml 338 BLAKE2B 811899ad96ae5e5b023d3cfdf11dc19de37b336dd7903bb63ec14c83ea0c96955ec1803a9954cff560c89bfb083a8f614e61bbe199e66d053125d4642c8be2aa SHA512 b72ccc452bb2d200f0c3b5cd3e361dadc4d80b248e0c8bef50fb264c85b0e0dd04639014c3b4d3f590ebcbcdd9bfe41c61c540514a272ee7ebb406bfbb337546 diff --git a/games-engines/frotz/files/frotz-2.53-uint32.patch b/games-engines/frotz/files/frotz-2.53-uint32.patch deleted file mode 100644 index 18e7d244c272..000000000000 --- a/games-engines/frotz/files/frotz-2.53-uint32.patch +++ /dev/null @@ -1,475 +0,0 @@ -Description: Use uint32_t instead of ulong -Author: Stephen Kitt - -When built with hardening enabled, there’s a ulong/uint32_t definition -conflict; since the type is supposed to be uint32_t, use that -directly. - ---- a/src/sdl/sf_frotz.h -+++ b/src/sdl/sf_frotz.h -@@ -12,13 +12,13 @@ - #include "../blorb/blorb.h" - - #include -+#include - typedef uint8_t byte; - typedef uint16_t word; --#define ulong uint32_t - - typedef struct { - bb_result_t bbres; -- ulong type; -+ uint32_t type; - FILE *file; - } myresource; - -@@ -54,7 +54,7 @@ - #endif - - /* this assumes RGBA with lsb = R */ --static inline ulong RGB5ToTrue(word w) -+static inline uint32_t RGB5ToTrue(word w) - { - int _r = w & 0x001F; - int _g = (w & 0x03E0) >> 5; -@@ -62,10 +62,10 @@ - _r = (_r << 3) | (_r >> 2); - _g = (_g << 3) | (_g >> 2); - _b = (_b << 3) | (_b >> 2); -- return (ulong) (_r | (_g << 8) | (_b << 16)); -+ return (uint32_t) (_r | (_g << 8) | (_b << 16)); - } - --static inline word TrueToRGB5(ulong u) -+static inline word TrueToRGB5(uint32_t u) - { - return (word) (((u >> 3) & 0x001f) | ((u >> 6) & 0x03e0) | - ((u >> 9) & 0x7c00)); -@@ -81,10 +81,10 @@ - extern int m_v6scale; - extern double m_gfxScale_w; - extern double m_gfxScale_h; --extern ulong m_defaultFore; --extern ulong m_defaultBack; --extern ulong m_colours[11]; --extern ulong m_nonStdColours[NON_STD_COLS]; -+extern uint32_t m_defaultFore; -+extern uint32_t m_defaultBack; -+extern uint32_t m_colours[11]; -+extern uint32_t m_nonStdColours[NON_STD_COLS]; - extern int m_nonStdIndex; - extern bool m_exitPause; - extern bool m_lineInput; -@@ -118,7 +118,7 @@ - int number; /* 0 means unallocated */ - int width, height; - byte *pixels; -- ulong palette[16]; -+ uint32_t palette[16]; - int palette_entries; - int transparentcolor; - bool adaptive; -@@ -190,9 +190,9 @@ - - void sf_readsettings(); - --ulong sf_GetColour(int colour); --ulong sf_GetDefaultColour(bool fore); --int sf_GetColourIndex(ulong colour); -+uint32_t sf_GetColour(int colour); -+uint32_t sf_GetDefaultColour(bool fore); -+int sf_GetColourIndex(uint32_t colour); - - void sf_initvideo(int w, int h, int full); - -@@ -221,7 +221,7 @@ - - bool sf_IsInfocomV6(void); - --ulong sf_blend(int a, ulong s, ulong d); -+uint32_t sf_blend(int a, uint32_t s, uint32_t d); - - void sf_sleep(int millisecs); - -@@ -234,8 +234,8 @@ - - int sf_pkread(FILE * f, int foffs, void **out, int *size); - --ulong *sf_savearea(int x, int y, int w, int h); --void sf_restoreareaandfree(ulong * s); -+uint32_t *sf_savearea(int x, int y, int w, int h); -+void sf_restoreareaandfree(uint32_t * s); - #define SF_NOTIMP (-9999) - - zword sf_read_key(int timeout, bool cursor, bool allowed, bool text); -@@ -243,7 +243,7 @@ - int sf_user_fdialog(bool exist, const char *def, const char *filt, - const char *title, char **res); - extern int (*sf_osdialog)(bool ex, const char *def, const char *filt, -- const char *tit, char **res, ulong * sbuf, int sbp, -+ const char *tit, char **res, uint32_t * sbuf, int sbp, - int ew, int eh, int isfull); - - void sf_checksound(void); -@@ -255,13 +255,13 @@ - - char *sf_searchfile(char *, int, char *, char *); - --void sf_chline(int x, int y, ulong c, int n); --void sf_cvline(int x, int y, ulong c, int n); -+void sf_chline(int x, int y, uint32_t c, int n); -+void sf_cvline(int x, int y, uint32_t c, int n); - bool sf_flushdisplay(void); - void sf_getclip(int *x, int *y, int *w, int *h); - void sf_rect(unsigned long color, int x, int y, int w, int h); - void sf_setclip(int x, int y, int w, int h); --void sf_wpixel(int x, int y, ulong c); -+void sf_wpixel(int x, int y, uint32_t c); - - void sf_InitProfile(const char *fn); - void sf_FinishProfile(void); ---- a/src/sdl/sf_resource.c -+++ b/src/sdl/sf_resource.c -@@ -51,10 +51,10 @@ - int m_v6scale_y; - double m_gfxScale_w = 1.0; - double m_gfxScale_h = 1.0; --ulong m_defaultFore; --ulong m_defaultBack; --ulong m_colours[11]; --ulong m_nonStdColours[NON_STD_COLS]; -+uint32_t m_defaultFore; -+uint32_t m_defaultBack; -+uint32_t m_colours[11]; -+uint32_t m_nonStdColours[NON_STD_COLS]; - int m_nonStdIndex; - bool m_exitPause = 0; - bool m_lineInput = 0; -@@ -478,7 +478,7 @@ - - - /* Get a colour */ --ulong sf_GetColour(int colour) -+uint32_t sf_GetColour(int colour) - { - /* Standard colours */ - if ((colour >= BLACK_COLOUR) && (colour <= DARKGREY_COLOUR)) -@@ -500,7 +500,7 @@ - - - /* Get a default colour */ --ulong sf_GetDefaultColour(bool fore) -+uint32_t sf_GetDefaultColour(bool fore) - { - if (m_IsInfocomV6) - return sf_GetColour(fore ? WHITE_COLOUR : BLACK_COLOUR); -@@ -509,7 +509,7 @@ - - - /* Get an index for a non-standard colour */ --int sf_GetColourIndex(ulong colour) -+int sf_GetColourIndex(uint32_t colour) - { - int i, index = -1; - /* Is this a standard colour? */ -@@ -950,7 +950,7 @@ - int sf_getresource(int num, int ispic, int method, myresource * res) - { - int st; -- ulong usage; -+ uint32_t usage; - - res->bbres.data.ptr = NULL; - res->file = NULL; -@@ -981,7 +981,7 @@ - typedef struct { - void *next; - int num, ispic; -- ulong type; -+ uint32_t type; - char *name; - } LLENTRY; - -@@ -989,7 +989,7 @@ - - static int numlocal = 0, numlocalpic = 0, numlocalsnd = 0; - static int p_ispic, p_num; --static ulong p_type; -+static uint32_t p_type; - static char *p_name; - - ---- a/src/sdl/sf_video.c -+++ b/src/sdl/sf_video.c -@@ -31,7 +31,7 @@ - - static char banner[256]; - static int isfullscreen; --static ulong *sbuffer = NULL; -+static uint32_t *sbuffer = NULL; - static int sbpitch; /* in longs */ - static int dirty = 0; - static int ewidth, eheight; -@@ -45,7 +45,7 @@ - static void sf_quitconf(); - - static bool ApplyPalette(sf_picture *); --static ulong screen_palette[16]; -+static uint32_t screen_palette[16]; - - extern z_header_t z_header; - -@@ -99,7 +99,7 @@ - } - - --void sf_wpixel(int x, int y, ulong c) -+void sf_wpixel(int x, int y, uint32_t c) - { - if (x < xmin || x >= xmax || y < ymin || y >= ymax) - return; -@@ -108,7 +108,7 @@ - } - - --ulong sf_rpixel(int x, int y) -+uint32_t sf_rpixel(int x, int y) - { - if (x < 0 || x >= ewidth || y < 0 || y >= eheight) - return 0; -@@ -116,7 +116,7 @@ - } - - #define MAXCUR 64 --static ulong savedcur[MAXCUR]; -+static uint32_t savedcur[MAXCUR]; - - static void drawthecursor(int x, int y, int onoff) - { -@@ -156,9 +156,9 @@ - } - - --void sf_chline(int x, int y, ulong c, int n) -+void sf_chline(int x, int y, uint32_t c, int n) - { -- ulong *s; -+ uint32_t *s; - if (y < ymin || y >= ymax) - return; - if (x < xmin) { -@@ -176,9 +176,9 @@ - } - - --void sf_cvline(int x, int y, ulong c, int n) -+void sf_cvline(int x, int y, uint32_t c, int n) - { -- ulong *s; -+ uint32_t *s; - if (x < xmin || x >= xmax) - return; - if (y < xmin) { -@@ -198,9 +198,9 @@ - } - - --ulong sf_blendlinear(int a, ulong s, ulong d) -+uint32_t sf_blendlinear(int a, uint32_t s, uint32_t d) - { -- ulong r; -+ uint32_t r; - r = ((s & 0xff) * a + (d & 0xff) * (256 - a)) >> 8; - s >>= 8; - d >>= 8; -@@ -234,7 +234,7 @@ - int height = ts->font->height(ts->font); - int width; - -- ulong color, bc; -+ uint32_t color, bc; - - if ((ts->style & REVERSE_STYLE) != 0) { - bc = ts->fore; -@@ -262,7 +262,7 @@ - int t = *bmp++; - if (xx < byw) { - if (t) { -- ulong sval = color; -+ uint32_t sval = color; - if (t < 255) - sval = sf_blend((int) (t + (t >> 7)), sval, sf_rpixel(x + xx, y)); - sf_wpixel(x + xx, y, sval); -@@ -292,7 +292,7 @@ - - void sf_fillrect(unsigned long color, int x, int y, int w, int h) - { -- ulong *dst; -+ uint32_t *dst; - int i; - if (x < xmin) { - w += x - xmin; -@@ -380,7 +380,7 @@ - - static void scroll(int x, int y, int w, int h, int n) - { -- ulong *src, *dst; -+ uint32_t *src, *dst; - int nmove, step; - if (n > 0) { - dst = sbuffer + x + sbpitch * y; -@@ -397,7 +397,7 @@ - return; - if (nmove > 0) { - while (nmove--) { -- memmove(dst, src, w * sizeof(ulong)); -+ memmove(dst, src, w * sizeof(uint32_t)); - dst += step; - src += step; - } -@@ -414,7 +414,7 @@ - { - if (dirty) { - SDL_UpdateTexture(texture, NULL, sbuffer, -- sbpitch * sizeof(ulong)); -+ sbpitch * sizeof(uint32_t)); - myGrefresh(); - dirty = 0; - return true; -@@ -537,7 +537,7 @@ - SDL_TEXTUREACCESS_STREAMING, W, H))) - os_fatal("Failed to create texture: %s", SDL_GetError()); - -- sbuffer = calloc(W * H, sizeof(ulong)); -+ sbuffer = calloc(W * H, sizeof(uint32_t)); - if (!sbuffer) - os_fatal("Could not create gc"); - -@@ -564,7 +564,7 @@ - int ox, oy, ow, oh; - Zwindow *winpars; - sf_picture *pic = sf_getpic(picture); -- ulong *src, *dst, sval, dval, alpha; -+ uint32_t *src, *dst, sval, dval, alpha; - - sf_flushtext(); - -@@ -572,7 +572,7 @@ - return; - if (!pic->pixels) - return; -- src = (ulong *) pic->pixels; -+ src = (uint32_t *) pic->pixels; - - x--; - y--; -@@ -673,7 +673,7 @@ - } - - --static ulong mytimeout; -+static uint32_t mytimeout; - int mouse_button; - static int numAltQ = 0; - -@@ -1238,9 +1238,9 @@ - } - - --ulong *sf_savearea(int x, int y, int w, int h) -+uint32_t *sf_savearea(int x, int y, int w, int h) - { -- ulong *r, *p, *s; -+ uint32_t *r, *p, *s; - int i; - - if (x < 0) { -@@ -1261,7 +1261,7 @@ - if (h <= 0) - return NULL; - -- r = p = malloc((w * h + 4) * sizeof(ulong)); -+ r = p = malloc((w * h + 4) * sizeof(uint32_t)); - if (!r) - return NULL; - -@@ -1272,7 +1272,7 @@ - - s = sbuffer + x + y * sbpitch; - for (i = 0; i < h; i++) { -- memmove(p, s, w * sizeof(ulong)); -+ memmove(p, s, w * sizeof(uint32_t)); - p += w; - s += sbpitch; - } -@@ -1280,9 +1280,9 @@ - } - - --void sf_restoreareaandfree(ulong * s) -+void sf_restoreareaandfree(uint32_t * s) - { -- ulong *p, *d; -+ uint32_t *p, *d; - int i, x, y, w, h; - if (!s) - return; -@@ -1295,7 +1295,7 @@ - - d = sbuffer + x + y * sbpitch; - for (i = 0; i < h; i++) { -- memmove(d, p, w * sizeof(ulong)); -+ memmove(d, p, w * sizeof(uint32_t)); - p += w; - d += sbpitch; - } -@@ -1307,7 +1307,7 @@ - - - int (*sf_osdialog)(bool ex, const char *def, const char *filt, const char *tit, -- char **res, ulong * sbuf, int sbp, int ew, int eh, -+ char **res, uint32_t * sbuf, int sbp, int ew, int eh, - int isfull) = NULL; - - -@@ -1322,7 +1322,7 @@ - } - - --void sf_videodata(ulong ** sb, int *sp, int *ew, int *eh) -+void sf_videodata(uint32_t ** sb, int *sp, int *ew, int *eh) - { - *sb = sbuffer; - *sp = sbpitch; -@@ -1367,7 +1367,7 @@ - bool changed = FALSE; - int i, colors; - -- memset(&screen_palette, 0, sizeof(ulong)); -+ memset(&screen_palette, 0, sizeof(uint32_t)); - - if (graphic->usespalette) { - colors = graphic->palette_entries; ---- a/src/sdl/sf_images.c -+++ b/src/sdl/sf_images.c -@@ -38,9 +38,9 @@ - static byte fromLinear[256]; - extern bool m_adaptiveMode; - --ulong sf_blend(int a, ulong s, ulong d) -+uint32_t sf_blend(int a, uint32_t s, uint32_t d) - { -- ulong r; -+ uint32_t r; - r = fromLinear[(toLinear[s & 0xff] * a + - toLinear[d & 0xff] * (256 - a)) >> 8]; - s >>= 8; -@@ -186,7 +186,7 @@ - if (png_get_PLTE(png_ptr, info_ptr, &palette, &num_palette)) { - graphic->palette_entries = num_palette; - for (int i = 0; i < num_palette; i++) { -- ulong color = -+ uint32_t color = - palette[i].red | (palette[i]. - green << 8) | (palette[i]. - blue << diff --git a/games-engines/frotz/files/frotz-stray-dollar.patch b/games-engines/frotz/files/frotz-stray-dollar.patch new file mode 100644 index 000000000000..9cc2a4212741 --- /dev/null +++ b/games-engines/frotz/files/frotz-stray-dollar.patch @@ -0,0 +1,26 @@ +From 7c14d1bd6c129670869db0dc6c025c68f28944a4 Mon Sep 17 00:00:00 2001 +From: James Le Cuirot +Date: Tue, 21 May 2024 22:53:33 +0100 +Subject: [PATCH] Fix stray $ that breaks the frotz filename when specifying + LDFLAGS + +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 8860297..35d8246 100644 +--- a/Makefile ++++ b/Makefile +@@ -394,7 +394,7 @@ DOSVER = $(shell echo $(VERSION) | sed s/\\.//g) + curses: $(FROTZ_BIN) + ncurses: $(FROTZ_BIN) + $(FROTZ_BIN): $(FROTZ_LIBS) +- $(CC) $+ -o $@$ $(LDFLAGS) $(CURSES_LDFLAGS) $(CURSES_SOUND_LDFLAGS) ++ $(CC) $+ -o $@ $(LDFLAGS) $(CURSES_LDFLAGS) $(CURSES_SOUND_LDFLAGS) + @echo "** Done building Frotz with curses interface" + @echo "** Audio support $(CURSES_SOUND) (type $(SOUND_TYPE))" + @echo "** Blorb support $(BLORB_SUPPORT)" +-- +2.45.1 + diff --git a/games-engines/frotz/frotz-2.54.ebuild b/games-engines/frotz/frotz-2.54.ebuild deleted file mode 100644 index a3ebae18235c..000000000000 --- a/games-engines/frotz/frotz-2.54.ebuild +++ /dev/null @@ -1,79 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit toolchain-funcs - -DESCRIPTION="Interpreter for Z-code based text games" -HOMEPAGE="https://661.org/proj/if/frotz/" -SRC_URI="https://gitlab.com/DavidGriffith/${PN}/-/archive/${PV}/${P}.tar.bz2" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~arm ~riscv ~x86" -IUSE="ncurses sdl sound unicode" -REQUIRED_USE="sound? ( || ( ncurses sdl ) )" - -DEPEND=" - ncurses? ( - sys-libs/ncurses:=[unicode(+)?] - sound? ( - media-libs/libao - media-libs/libmodplug - media-libs/libsamplerate - media-libs/libsndfile[-minimal] - media-libs/libvorbis - ) - ) - sdl? ( - media-libs/freetype:2 - media-libs/libjpeg-turbo:= - media-libs/libpng:0= - media-libs/libsdl2[sound,threads(+),video] - media-libs/sdl2-mixer[mod,vorbis,wav] - sys-libs/zlib - ) -" -RDEPEND="${DEPEND}" -BDEPEND="virtual/pkgconfig" - -PATCHES=( - "${FILESDIR}"/${PN}-2.53-uint32.patch -) - -src_compile() { - emake \ - dumb \ - $(use ncurses && echo ncurses) \ - $(use sdl && echo sdl) \ - AR="$(tc-getAR)" \ - CC="$(tc-getCC)" \ - PKG_CONFIG="$(tc-getPKG_CONFIG)" \ - RANLIB="$(tc-getRANLIB)" \ - CURSES=$(usex unicode ncursesw ncurses) \ - USE_UTF8=$(usex unicode yes "") \ - SOUND_TYPE=$(usex sound ao none) \ - PREFIX="${EPREFIX}/usr" \ - SYSCONFDIR="${EPREFIX}/etc" -} - -src_install() { - emake \ - install_dumb \ - $(use ncurses && echo install) \ - $(use sdl && echo install_sdl) \ - PREFIX="${EPREFIX}/usr" \ - DESTDIR="${D}" - - dodoc \ - AUTHORS ChangeLog CONTRIBUTORS DUMB HOW_TO_PLAY README TODO \ - doc/frotz.conf-{big,small} -} - -pkg_postinst() { - echo - elog "Global config file can be installed in ${EPREFIX}/etc/frotz.conf" - elog "Sample config files are in ${EPREFIX}/usr/share/doc/${PF}" - echo -} diff --git a/games-engines/frotz/frotz-2.55_pre20240518.ebuild b/games-engines/frotz/frotz-2.55_pre20240518.ebuild new file mode 100644 index 000000000000..23013101c44c --- /dev/null +++ b/games-engines/frotz/frotz-2.55_pre20240518.ebuild @@ -0,0 +1,80 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs + +COMMIT="f96e6b33d8b13f80258af49b4bb567428870291c" +DESCRIPTION="Interpreter for Z-code based text games" +HOMEPAGE="https://661.org/proj/if/frotz/" +SRC_URI="https://gitlab.com/DavidGriffith/frotz/-/archive/${COMMIT}/frotz-master.tar.bz2 -> ${P}.tar.bz2" +S="${WORKDIR}/${PN}-${COMMIT}" +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm ~riscv ~x86" +IUSE="ncurses sdl sound unicode" +REQUIRED_USE="sound? ( || ( ncurses sdl ) )" + +DEPEND=" + ncurses? ( + sys-libs/ncurses:=[unicode(+)?] + sound? ( + media-libs/libao + media-libs/libmodplug + media-libs/libsamplerate + media-libs/libsndfile[-minimal] + media-libs/libvorbis + ) + ) + sdl? ( + media-libs/freetype:2 + media-libs/libjpeg-turbo:= + media-libs/libpng:0= + media-libs/libsdl2[sound,threads(+),video] + media-libs/sdl2-mixer[mod,vorbis,wav] + sys-libs/zlib + ) +" +RDEPEND="${DEPEND}" +BDEPEND="virtual/pkgconfig" + +PATCHES=( + "${FILESDIR}"/${PN}-stray-dollar.patch +) + +src_compile() { + emake \ + dumb \ + $(use ncurses && echo ncurses) \ + $(use sdl && echo sdl) \ + AR="$(tc-getAR)" \ + CC="$(tc-getCC)" \ + PKG_CONFIG="$(tc-getPKG_CONFIG)" \ + RANLIB="$(tc-getRANLIB)" \ + CURSES=$(usex unicode ncursesw ncurses) \ + USE_UTF8=$(usex unicode yes "") \ + SOUND_TYPE=$(usex sound ao none) \ + PREFIX="${EPREFIX}/usr" \ + SYSCONFDIR="${EPREFIX}/etc" +} + +src_install() { + emake \ + install_dumb \ + $(use ncurses && echo install) \ + $(use sdl && echo install_sdl) \ + PREFIX="${EPREFIX}/usr" \ + DESTDIR="${D}" + + dodoc \ + AUTHORS ChangeLog CONTRIBUTORS DUMB HOW_TO_PLAY README README.md \ + doc/frotz.conf-{big,small} +} + +pkg_postinst() { + echo + elog "Global config file can be installed in ${EPREFIX}/etc/frotz.conf" + elog "Sample config files are in ${EPREFIX}/usr/share/doc/${PF}" + echo +} -- cgit v1.2.3