summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO28
-rw-r--r--PKGBUILD57
-rw-r--r--wit-makefile.patch175
-rw-r--r--wit-no-exec-stack.patch10
-rwxr-xr-xwit-titles.patch19
-rwxr-xr-xwit.install10
6 files changed, 299 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..87340cf433ea
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,28 @@
+pkgbase = wit
+ pkgdesc = Wiimms ISO Tools
+ pkgver = 3.03a
+ pkgrel = 1
+ url = https://wit.wiimm.de
+ install = wit.install
+ arch = x86_64
+ license = GPL2
+ makedepends = clang
+ makedepends = git
+ depends = bzip2
+ depends = fuse2
+ depends = glibc
+ depends = libncursesw.so
+ depends = zlib
+ optdepends = bash: Update titles lists
+ optdepends = wget: Update titles lists
+ source = git+https://github.com/Wiimm/wiimms-iso-tools.git#commit=fb217fb75b4f449dd00ecbeeae7a35082e87218c
+ source = wit-makefile.patch
+ source = wit-no-exec-stack.patch
+ source = wit-titles.patch
+ b2sums = SKIP
+ b2sums = 2440f01dc499477b9c237d2bc6d9a6a712ac22887df022b6a84c6ec6ac9b095aa5944db6c5af9773a2e2446df6cc7774783c8cfd59ed815d9cb413ae8e1c0efb
+ b2sums = a9e615aac8ebafcf98079160f3e2140e1389e42baf7896a2fd845133e47ebcea9199eef847b84732d4dc4fec6107f45e96fb4ab3d4acf5421c88e02f3564eb62
+ b2sums = 4e241a0c37fd2a082d4285d3685833e3805e35db829961183df02bb426d5679b62f8985f59604512b2615002faa28a9d8947ca9c6fc86a025bee5ab7bbf1bcf7
+
+pkgname = wit
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..b9f146328267
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,57 @@
+# Maintainer: Maxime Gauduin <alucryd@gmail.com>
+# Contributor: Gordin <gordin@koeln.ccc.de>
+
+pkgname=wit
+pkgver=3.03a
+pkgrel=1
+pkgdesc='Wiimms ISO Tools'
+arch=(x86_64)
+url=https://wit.wiimm.de
+license=(GPL2)
+depends=(
+ bzip2
+ fuse2
+ glibc
+ libncursesw.so
+ zlib
+)
+makedepends=(
+ clang
+ git
+)
+optdepends=(
+ 'bash: Update titles lists'
+ 'wget: Update titles lists'
+)
+install=wit.install
+_commit=fb217fb75b4f449dd00ecbeeae7a35082e87218c
+source=(
+ git+https://github.com/Wiimm/wiimms-iso-tools.git#commit=${_commit}
+ wit-makefile.patch
+ wit-no-exec-stack.patch
+ wit-titles.patch
+)
+b2sums=('SKIP'
+ '2440f01dc499477b9c237d2bc6d9a6a712ac22887df022b6a84c6ec6ac9b095aa5944db6c5af9773a2e2446df6cc7774783c8cfd59ed815d9cb413ae8e1c0efb'
+ 'a9e615aac8ebafcf98079160f3e2140e1389e42baf7896a2fd845133e47ebcea9199eef847b84732d4dc4fec6107f45e96fb4ab3d4acf5421c88e02f3564eb62'
+ '4e241a0c37fd2a082d4285d3685833e3805e35db829961183df02bb426d5679b62f8985f59604512b2615002faa28a9d8947ca9c6fc86a025bee5ab7bbf1bcf7')
+
+prepare() {
+ cd wiimms-iso-tools
+
+ patch -Np1 -i ../wit-makefile.patch
+ patch -Np1 -i ../wit-no-exec-stack.patch
+ patch -Np1 -i ../wit-titles.patch
+}
+
+build() {
+ make INSTALL_PATH="${pkgdir}/usr" CC=clang -C wiimms-iso-tools/project tools
+ make INSTALL_PATH="${pkgdir}/usr" CC=clang -C wiimms-iso-tools/project doc
+}
+
+package () {
+ make INSTALL_PATH="${pkgdir}/usr" CC=clang -C wiimms-iso-tools/project install
+ install -Dm 644 wiimms-iso-tools/project/doc/*.txt -t "${pkgdir}"/usr/share/doc/wit/
+}
+
+# vim: ts=2 sw=2 et:
diff --git a/wit-makefile.patch b/wit-makefile.patch
new file mode 100644
index 000000000000..f48c2bbc8c56
--- /dev/null
+++ b/wit-makefile.patch
@@ -0,0 +1,175 @@
+diff -rupN wiimms-iso-tools.orig/project/Makefile wiimms-iso-tools/project/Makefile
+--- wiimms-iso-tools.orig/project/Makefile 2020-08-14 16:44:53.248171741 +0200
++++ wiimms-iso-tools/project/Makefile 2020-08-14 16:54:48.841047552 +0200
+@@ -171,7 +171,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 +206,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 +297,8 @@ DEFINES1 += -D_7ZIP_ST=1 # disable 7zip
+ DEFINES1 += -D_LZMA_PROB32=1 # LZMA option
+ DEFINES = $(strip $(DEFINES1) $(MODE) $(XDEF))
+
+-CFLAGS += -fomit-frame-pointer -fno-strict-aliasing -funroll-loops
+ 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
+@@ -327,7 +325,7 @@ LDFLAGS := $(strip $(LDFLAGS))
+ ifeq ($(HAVE_ZLIB),1)
+ LIBS += -lz
+ endif
+-LIBS += -lm -lncurses $(XLIBS)
++LIBS += -lm $(shell pkg-config --libs ncurses) -lbz2 $(XLIBS)
+
+ DISTRIB_RM = ./wit-v$(VERSION)-r
+ DISTRIB_BASE = wit-v$(VERSION)-r$(REVISION_NEXT)
+@@ -380,83 +378,70 @@ 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/$(SYSTEM) bin/$(SYSTEM)/debug
+- @if test -s $(MODE_FILE) && grep -Fq -e -DDEBUG $(MODE_FILE); \
++ mkdir -p bin/$(SYSTEM) bin/$(SYSTEM)/debug
++ if test -s $(MODE_FILE) && grep -Fq -e -DDEBUG $(MODE_FILE); \
+ then cp -p $@ bin/$(SYSTEM)/debug/; \
+ else cp -p $@ bin/; cp -p $@ bin/$(SYSTEM)/; 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) $@
+
+ #--------------------------
+
+ $(UI_FILES): gen-ui.c ui.h $(UI_TABS) | gen-ui
+- @printf "$(LOGFORMAT)" run gen-ui ""
+- @./gen-ui
++ ./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 $@
+
+ #
+ ###############################################################################
+@@ -654,9 +633,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)
+
+ #
+ #--------------------------
+@@ -840,13 +818,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/wit-no-exec-stack.patch b/wit-no-exec-stack.patch
new file mode 100644
index 000000000000..1bd3d32093cc
--- /dev/null
+++ b/wit-no-exec-stack.patch
@@ -0,0 +1,10 @@
+--- wit-2.30a/project/src/crypto/ssl-asm.S
++++ wit-2.30a/project/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/wit-titles.patch b/wit-titles.patch
new file mode 100755
index 000000000000..25d9d2a56076
--- /dev/null
+++ b/wit-titles.patch
@@ -0,0 +1,19 @@
+diff -rupN wit.orig/project/setup/load-titles.sh wit/project/setup/load-titles.sh
+--- wit.orig/project/setup/load-titles.sh 2014-08-19 17:54:05.351879800 +0200
++++ wit/project/setup/load-titles.sh 2014-08-19 18:04:14.235375300 +0200
+@@ -30,12 +30,11 @@
+
+ NEEDED="wit wget tr"
+
+-BASE_PATH="@@INSTALL-PATH@@"
+-SHARE_PATH="@@SHARE-PATH@@"
+-URI_TITLES=@@URI-TITLES@@
++SHARE_PATH="/usr/share/wit"
++URI_TITLES="@@URI-TITLES@@"
+ LANGUAGES="@@LANGUAGES@@"
+
+-SHARE_DIR=./share
++SHARE_DIR="/tmp"
+
+ #------------------------------------------------------------------------------
+
diff --git a/wit.install b/wit.install
new file mode 100755
index 000000000000..8d0a1028646f
--- /dev/null
+++ b/wit.install
@@ -0,0 +1,10 @@
+post_install() {
+ echo 'WIT comes with a script to automatically update its titles lists. It is'
+ echo 'located in /usr/share/wit/load-titles.sh and needs to be run as root.'
+}
+
+post_upgrade() {
+ post_install
+}
+
+# vim: ts=2 sw=2 et: