commit:     527554a6785227f9bd6a22644daabf1c000ec517
Author:     Eli Schwartz <eschwartz93 <AT> gmail <DOT> com>
AuthorDate: Sun Mar 17 22:35:38 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Mar 18 05:29:50 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=527554a6

games-util/wit: add 3.05a

Signed-off-by: Eli Schwartz <eschwartz93 <AT> gmail.com>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 games-util/wit/Manifest                            |   1 +
 games-util/wit/files/wit-3.05a-makefile.patch      | 266 +++++++++++++++++++++
 games-util/wit/files/wit-3.05a-no-exec-stack.patch |   9 +
 games-util/wit/wit-3.05a.ebuild                    |  56 +++++
 4 files changed, 332 insertions(+)

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 <[email protected]>
+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) [email protected] \
++      $(CC) $(CFLAGS) $(DEFINES) $(LDFLAGS) [email protected] \
+               $(ALL_OBJECTS) $(TOBJ_$@) $(LIBS) $(TOPT_$@) -o $@
+-      @if test -f [email protected]; then $(STRIP) [email protected]; 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) [email protected] \
++      $(CC) $(CFLAGS) $(DEFINES) $(LDFLAGS) [email protected] \
+               $(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
+}

Reply via email to