diff options
author | 2024-03-17 18:35:38 -0400 | |
---|---|---|
committer | 2024-03-18 05:29:50 +0000 | |
commit | 527554a6785227f9bd6a22644daabf1c000ec517 (patch) | |
tree | dc86e3bcb8c260b00ffc5f39792b033fc882ab29 /games-util | |
parent | games-util/wit: update EAPI 7 -> 8 (diff) | |
download | gentoo-527554a6785227f9bd6a22644daabf1c000ec517.tar.gz gentoo-527554a6785227f9bd6a22644daabf1c000ec517.tar.bz2 gentoo-527554a6785227f9bd6a22644daabf1c000ec517.zip |
games-util/wit: add 3.05a
Signed-off-by: Eli Schwartz <eschwartz93@gmail.com>
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'games-util')
-rw-r--r-- | games-util/wit/Manifest | 1 | ||||
-rw-r--r-- | games-util/wit/files/wit-3.05a-makefile.patch | 266 | ||||
-rw-r--r-- | games-util/wit/files/wit-3.05a-no-exec-stack.patch | 9 | ||||
-rw-r--r-- | games-util/wit/wit-3.05a.ebuild | 56 |
4 files changed, 332 insertions, 0 deletions
diff --git a/games-util/wit/Manifest b/games-util/wit/Manifest index 65290640ef30..1594530ad618 100644 --- a/games-util/wit/Manifest +++ b/games-util/wit/Manifest @@ -1 +1,2 @@ DIST wiimms-iso-tools.source-3.02a.tar.bz2 1645416 BLAKE2B 3ce99b779069d7b845bcf799ee481d63764ba36576adf4c28759e8eb9db9239c158457f84c8e34169b493de94d3c5e3324dc3c2cbd9a9a171ed1b57d2863eb78 SHA512 9bc8c8e078b2932d74a785732ec786ed5b6af86fa951f606a23052c31445e0b1637065858148fb050137f6252ae4ef77676877263513ef3bda33edb42bfed632 +DIST wiimms-iso-tools.source-3.05a.txz 1279228 BLAKE2B af8c0fb938ad9a7f1aa784861bd155c0e2a43e5e94010130dc0e152a0cec0b67745734ab70d54307c7e6135a80bcdfe0f933878e5211c18bd13207576afa5f00 SHA512 7f964a76522e87149a44ff4c0571dafe5702d1d6fa0abb0ae08a9665cb5a3aa489ae608d098835e3da77541b58943747aba997db15f5756eb1e2909c27b12fe2 diff --git a/games-util/wit/files/wit-3.05a-makefile.patch b/games-util/wit/files/wit-3.05a-makefile.patch new file mode 100644 index 000000000000..62b4930b1d89 --- /dev/null +++ b/games-util/wit/files/wit-3.05a-makefile.patch @@ -0,0 +1,266 @@ +From ecf6121592e9ffa0b2cd220a0de675b64b163000 Mon Sep 17 00:00:00 2001 +From: Eli Schwartz <eschwartz93@gmail.com> +Date: Sun, 17 Mar 2024 18:12:43 -0400 +Subject: [PATCH] reroll patch to Makefile for system integration + +Don't link libdl into wfuse as it's unnecessary, use system bzip2, respect user +CFLAGS, use pkgconfig to determine ncurses libs, and use verbose build output. +--- + Makefile | 82 ++++++++++++++++--------------------------- + test-libwbfs/Makefile | 13 ++----- + 2 files changed, 32 insertions(+), 63 deletions(-) + +diff --git a/Makefile b/Makefile +index adaa48a..433578a 100644 +--- a/Makefile ++++ b/Makefile +@@ -111,11 +111,6 @@ VERSION := $(VERSION_NUM)$(BETA_SUFFIX) + #------------------------------------------------------------------------------- + # compiler settings + +-PRE ?= +-CC = $(PRE)gcc +-CPP = $(PRE)g++ +-STRIP = $(PRE)strip +- + #------------------------------------------------------------------------------- + # files + +@@ -171,7 +166,7 @@ endif + TOPT_wit := $(OPT_STATIC) + TOPT_wwt := $(OPT_STATIC) + TOPT_wdf := $(OPT_STATIC) +-TOPT_wfuse := -lfuse -lpthread -ldl ++TOPT_wfuse := -lfuse -lpthread + + #TOPT_ALL := $(TOPT_wit) $(TOPT_wwt) $(TOPT_wdf) $(TOPT_wfuse) + +@@ -206,8 +201,8 @@ else + endif + + # lib summary +-LIB_LIST += libbz2 lzma +-LIB_OBJECTS += $(LIBBZ2_OBJ) $(LZMA_OBJ) ++LIB_LIST += lzma ++LIB_OBJECTS += $(LZMA_OBJ) + RM_FILES += $(foreach l,$(LIB_LIST),src/$(l)/*.{d,o}) + + +@@ -297,10 +292,10 @@ DEFINES1 += -D_7ZIP_ST=1 # disable 7zip multi threading + DEFINES1 += -D_LZMA_PROB32=1 # LZMA option + DEFINES = $(strip $(DEFINES1) $(MODE) $(XDEF)) + +-CFLAGS += -std=gnu99 -fomit-frame-pointer -fno-strict-aliasing -funroll-loops ++CFLAGS += -std=gnu99 -fno-strict-aliasing + CFLAGS += -Wall -Wno-parentheses -Wno-unused-function + #CFLAGS += -O3 -Isrc/libwbfs -Isrc/lzma -Isrc -I$(UI) -I. -Iwork +-CFLAGS += -O3 -Isrc/libwbfs -Isrc -I$(UI) -I. -Iwork ++CFLAGS += -Isrc/libwbfs -Isrc -I$(UI) -I. -Iwork + + ifeq ($(SYSTEM_LINUX),1) + LIBS += -ltinfo +@@ -313,8 +308,6 @@ endif + + ifeq ($(SYSTEM),mac) + CFLAGS += -I/usr/local/include +-else +- LDFLAGS += -static-libgcc + endif + + ifeq ($(shell expr $(GCC_VERSION) '>=' 7.0 ),1) +@@ -334,7 +327,7 @@ LDFLAGS := $(strip $(LDFLAGS)) + ifeq ($(HAVE_ZLIB),1) + LIBS += -lz + endif +-LIBS += -lm -lncurses $(XLIBS) ++LIBS += -lm $(shell $(PKG_CONFIG) --libs ncurses) -lbz2 $(XLIBS) + + ifeq ($(HAVE_SHA),1) + ifeq ($(SYSTEM_LINUX),1) +@@ -402,60 +395,51 @@ default_rule: all + # general rules + + $(ALL_TOOLS_X): %: %.o $(ALL_OBJECTS) $(TOBJ_ALL) Makefile | $(HELPER_TOOLS) +- @printf "$(LOGFORMAT_TOOL)" tool "$@" "$(MODE) $(TOPT_$@) $(TOBJ_$@)" +- @$(CC) $(CFLAGS) $(DEFINES) $(LDFLAGS) $@.o \ ++ $(CC) $(CFLAGS) $(DEFINES) $(LDFLAGS) $@.o \ + $(ALL_OBJECTS) $(TOBJ_$@) $(LIBS) $(TOPT_$@) -o $@ +- @if test -f $@.exe; then $(STRIP) $@.exe; else $(STRIP) $@; fi + +- @mkdir -p bin/$(SYSTEM2) bin/$(SYSTEM2)/debug +- @if test -s $(MODE_FILE) && grep -Fq -e -DDEBUG $(MODE_FILE); \ ++ mkdir -p bin/$(SYSTEM2) bin/$(SYSTEM2)/debug ++ if test -s $(MODE_FILE) && grep -Fq -e -DDEBUG $(MODE_FILE); \ + then cp -p $@ bin/$(SYSTEM2)/debug/; \ + else cp -p $@ bin/; cp -p $@ bin/$(SYSTEM2)/; fi + + #-------------------------- + + $(HELPER_TOOLS): %: %.o $(ALL_OBJECTS) $(UI_TABS) Makefile +- @printf "$(LOGFORMAT_TOOL)" helper "$@ $(TOBJ_$@)" "$(MODE)" +- @$(CC) $(CFLAGS) $(DEFINES) $(LDFLAGS) $@.o \ ++ $(CC) $(CFLAGS) $(DEFINES) $(LDFLAGS) $@.o \ + $(ALL_OBJECTS) $(TOBJ_$@) $(LIBS) -o $@ + + #-------------------------- + + $(WDF_LINKS): wdf +- @printf "$(LOGFORMAT_INST)" "link" "wdf -> $@" "" +- @ln -f wdf "$@" ++ ln -f wdf "$@" + + #-------------------------- + + $(UI_OBJECTS): %.o: %.c ui-%.c ui-%.h version.h Makefile +- @printf "$(LOGFORMAT_CC)" +object "$@" "$(MODE)" +- @$(CC) $(CFLAGS) $(DEPFLAGS) $(DEFINES) -c $< -o $@ ++ $(CC) $(CFLAGS) $(DEPFLAGS) $(DEFINES) -c $< -o $@ + + #-------------------------- + + $(C_OBJECTS): %.o: %.c version.h Makefile $(TEXT_FILES) +- @printf "$(LOGFORMAT_CC)" object "$@" "$(MODE)" +- @$(CC) $(CFLAGS) $(DEPFLAGS) $(DEFINES) -c $< -o $@ ++ $(CC) $(CFLAGS) $(DEPFLAGS) $(DEFINES) -c $< -o $@ + + #-------------------------- + + $(ASM_OBJECTS): %.o: %.S Makefile +- @printf "$(LOGFORMAT_CC)" asm "$@" "$(MODE)" +- @$(CC) $(CFLAGS) $(DEPFLAGS) $(DEFINES) -c $< -o $@ ++ $(CC) $(CFLAGS) $(DEPFLAGS) $(DEFINES) -c $< -o $@ + + #-------------------------- + + $(SETUP_FILES): templates.sed $(SETUP_DIR)/$@ +- @printf "$(LOGFORMAT)" create "$@" "" +- @chmod 775 $(GEN_TEMPLATE) +- @$(GEN_TEMPLATE) $@ ++ chmod 775 $(GEN_TEMPLATE) ++ $(GEN_TEMPLATE) $@ + + #-------------------------- + + $(TEXT_FILES): $(GEN_TEXT_FILE) $(TEXT_DIR)/$@ +- @printf "$(LOGFORMAT)" text "$@" "" +- @chmod 775 $(GEN_TEXT_FILE) +- @$(GEN_TEXT_FILE) $(TEXT_DIR) $@ ++ chmod 775 $(GEN_TEXT_FILE) ++ $(GEN_TEXT_FILE) $(TEXT_DIR) $@ + + #-------------------------- + +@@ -465,20 +449,17 @@ $(UI_FILES): gen-ui.c ui.h $(UI_TABS) | gen-ui + + .PHONY : ui + ui : gen-ui +- @printf "$(LOGFORMAT)" run gen-ui "" +- @./gen-ui ++ ./gen-ui + + # + ############################################################################### + # lib specific rules + + $(LIBBZ2_OBJ): %.o: %.c Makefile +- @printf "$(LOGFORMAT_CC)" object "$(subst src/libbz2/,,$@)" "$(MODE) [libbz2]" +- @$(CC) $(CFLAGS) $(DEPFLAGS) $(BZIP2_FLAGS) $(DEFINES) -c $< -o $@ ++ $(CC) $(CFLAGS) $(DEPFLAGS) $(BZIP2_FLAGS) $(DEFINES) -c $< -o $@ + + $(LZMA_OBJ): %.o: %.c Makefile +- @printf "$(LOGFORMAT_CC)" object "$(subst src/lzma/,,$@)" "$(MODE) [lzma]" +- @$(CC) $(CFLAGS) $(DEPFLAGS) $(LZMA_FLAGS) $(DEFINES) -c $< -o $@ ++ $(CC) $(CFLAGS) $(DEPFLAGS) $(LZMA_FLAGS) $(DEFINES) -c $< -o $@ + + # + ############################################################################### +@@ -670,9 +651,8 @@ doc: $(MAIN_TOOLS) templates.sed gen-doc + + .PHONY : gen-doc + gen-doc: +- @printf "$(LOGFORMAT)" create documentation "" +- @chmod ug+x $(GEN_TEMPLATE) +- @$(GEN_TEMPLATE) ++ chmod ug+x $(GEN_TEMPLATE) ++ $(GEN_TEMPLATE) + + # + #-------------------------- +@@ -778,7 +758,7 @@ old: + + .PHONY : predef + predef: +- @gcc -E -dM none.c | sort ++ @$(CC) -E -dM none.c | sort + + # + #-------------------------- +@@ -792,8 +772,7 @@ $(SUB_PROJECTS): + #-------------------------- + + templates.sed: Makefile +- @printf "$(LOGFORMAT)" create templates.sed "" +- @printf '%s\n' \ ++ printf '%s\n' \ + '/^~/ d;' \ + 's|@.@@@|$(VERSION_NUM)|g;' \ + 's|@@@@-@@-@@|$(DATE)|g;' \ +@@ -859,13 +838,12 @@ templates.sed: Makefile + + .PHONY : test + test: +- @printf "$(LOGFORMAT)" enable test "-> define -DTEST" +- @rm -f *.o $(ALL_TOOLS_X) +- @echo "-DTEST" >>$(MODE_FILE) +- @sort $(MODE_FILE) | uniq > $(MODE_FILE).tmp ++ rm -f *.o $(ALL_TOOLS_X) ++ echo "-DTEST" >>$(MODE_FILE) ++ sort $(MODE_FILE) | uniq > $(MODE_FILE).tmp + # 2 steps to bypass a cygwin mv failure +- @cp $(MODE_FILE).tmp $(MODE_FILE) +- @rm -f $(MODE_FILE).tmp ++ cp $(MODE_FILE).tmp $(MODE_FILE) ++ rm -f $(MODE_FILE).tmp + + # + #-------------------------- +diff --git a/test-libwbfs/Makefile b/test-libwbfs/Makefile +index 6e937fc..9c0f0f8 100644 +--- a/test-libwbfs/Makefile ++++ b/test-libwbfs/Makefile +@@ -7,11 +7,6 @@ + + SHELL = /bin/bash + +-PRE ?= +-CC = $(PRE)gcc +-CPP = $(PRE)g++ +-STRIP = $(PRE)strip +- + #------------------------------------------------------------------------------- + # files + +@@ -46,18 +41,14 @@ VPATH += ../src/libwbfs + DEFINES = -DLARGE_FILES -D_FILE_OFFSET_BITS=64 $(XDEF) + DEFINES := $(strip $(DEFINES)) + +-CFLAGS = -fomit-frame-pointer -fno-strict-aliasing ++CFLAGS += -fno-strict-aliasing + CFLAGS += -Wall -Wno-parentheses -Wno-unused-function +-CFLAGS += -O3 -I../src/libwbfs -I. ++CFLAGS += -I../src/libwbfs -I. + CFLAGS += $(XFLAGS) + CFLAGS := $(strip $(CFLAGS)) + + DEPFLAGS += -MMD + +-LDFLAGS += -static-libgcc +-#LDFLAGS += -static +-LDFLAGS := $(strip $(LDFLAGS)) +- + LIBS += $(XLIBS) + + # +-- +2.43.2 + diff --git a/games-util/wit/files/wit-3.05a-no-exec-stack.patch b/games-util/wit/files/wit-3.05a-no-exec-stack.patch new file mode 100644 index 000000000000..db91b45cfcb1 --- /dev/null +++ b/games-util/wit/files/wit-3.05a-no-exec-stack.patch @@ -0,0 +1,9 @@ +--- wit-2.30a/src/crypto/ssl-asm.S ++++ wit-2.30a/src/crypto/ssl-asm.S +@@ -37,3 +37,6 @@ + #define WIT_INCLUDE_SSL_ASM + #include "ssl-asm.h" + ++#if defined(__linux__) && defined(__ELF__) ++.section .note.GNU-stack,"",%progbits ++#endif diff --git a/games-util/wit/wit-3.05a.ebuild b/games-util/wit/wit-3.05a.ebuild new file mode 100644 index 000000000000..c0d71daeedc9 --- /dev/null +++ b/games-util/wit/wit-3.05a.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit flag-o-matic toolchain-funcs + +MY_P="wiimms-iso-tools.source-${PV}" + +DESCRIPTION="command line tools to manipulate Wii/GameCube ISO images and WBFS containers" +HOMEPAGE="https://wit.wiimm.de/" +SRC_URI="https://download.wiimm.de/source/wiimms-iso-tools/${MY_P}.txz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="+fuse +zlib" + +RDEPEND=" + app-arch/bzip2:0= + dev-libs/openssl:= + fuse? ( sys-fs/fuse:0= ) + zlib? ( sys-libs/zlib:0= )" +DEPEND="${RDEPEND}" +BDEPEND="virtual/pkgconfig" + +S="${WORKDIR}/${MY_P}" + +PATCHES=( + "${FILESDIR}"/${P}-makefile.patch + "${FILESDIR}"/${P}-no-exec-stack.patch +) + +src_configure() { + # -Werror=lto-type-mismatch + # https://bugs.gentoo.org/859319 + # + # After investigation, the build system also uses -fno-strict-aliasing + # so do not trust it with LTO either, even if the type-mismatch gets fixed. + filter-lto + + export NO_FUSE=$(usex fuse 0 1) + export NO_ZLIB=$(usex zlib 0 1) + + tc-export CC PKG_CONFIG +} + +src_compile() { + emake INSTALL_PATH="${ED}"/usr + emake doc +} + +src_install() { + default + dodoc doc/*.txt +} |