audio/klystrack: Update to 1.7.8

- Update to 1.7.8
- Switch to a well maintained fork
- Use meson build system
This commit is contained in:
Emanuel Haupt 2024-04-15 08:21:16 +02:00
parent e3ecaf6c0a
commit 6de3329e46
8 changed files with 16 additions and 200 deletions

View file

@ -1,61 +1,30 @@
PORTNAME= klystrack
PORTVERSION= 1.7.6
PORTREVISION= 1
PORTVERSION= 1.7.8
CATEGORIES= audio
MAINTAINER= ehaupt@FreeBSD.org
COMMENT= Tracker for making C64/NES/Amiga-style chiptunes
WWW= https://kometbomb.github.io/klystrack/
WWW= https://github.com/z-erica/klystrack
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
LIB_DEPENDS= libasound.so:audio/alsa-lib
USES= compiler:c11 desktop-file-utils dos2unix gmake \
localbase:ldconfig sdl
DOS2UNIX_FILES= klystron/common.mk klystron/Makefile klystron/src/gui/menu.h \
klystron/tools/editor/Makefile \
klystron/tools/makebundle/Makefile Makefile player/Makefile \
scancode-tool/Makefile
USES= compiler:c11 desktop-file-utils localbase:ldconfig meson \
pkgconfig sdl
USE_CSTD= c99
USE_GITHUB= yes
GH_ACCOUNT= kometbomb
GH_TAGNAME= fe6e746
GH_TUPLE= kometbomb:klystron:1074324:klystron/klystron
GH_ACCOUNT= z-erica
GH_TUPLE= z-erica:klystron:09cb52c:klystron/klystron
USE_SDL= gfx2 image2 mixer2 sdl2 ttf2
MAKE_ENV+= CFG=release \
V=1
ALL_TARGET= build
CFLAGS+= -fPIC
LDFLAGS+= -lm
OPTIONS_DEFINE= EXAMPLES
post-patch:
@${REINPLACE_CMD} -e "s#Default.kt#${DATADIR}/Default.kt#" \
${WRKSRC}/src/main.c
do-install:
.for d in bin share/klystrack share/applications share/pixmaps \
share/licenses/klystrack lib/klystrack share/man/man1
${MKDIR} ${STAGEDIR}${PREFIX}/${d}
.endfor
${INSTALL_PROGRAM} ${WRKSRC}/bin.release/klystrack \
${STAGEDIR}${PREFIX}/bin/klystrack
cd ${WRKSRC}/res && \
${COPYTREE_SHARE} \* ${STAGEDIR}/${PREFIX}/lib/klystrack/res/
cd ${WRKSRC}/key && \
${COPYTREE_SHARE} \* ${STAGEDIR}/${PREFIX}/lib/klystrack/key/
cd ${WRKSRC}/examples && ${COPYTREE_SHARE} \* ${STAGEDIR}/${EXAMPLESDIR}
${INSTALL_MAN} ${WRKSRC}/doc/klystrack.1 \
${STAGEDIR}${PREFIX}/share/man/man1
${INSTALL_DATA} ${WRKSRC}/doc/Default.kt \
${STAGEDIR}${DATADIR}
${INSTALL_DATA} ${WRKSRC}/linux/klystrack.desktop \
${STAGEDIR}${DESKTOPDIR}
${INSTALL_DATA} ${WRKSRC}/icon/256x256.png \
${STAGEDIR}${PREFIX}/share/pixmaps/klystrack.png
post-install:
@${MV} ${STAGEDIR}${DATADIR}/examples ${STAGEDIR}${EXAMPLESDIR}
@${RMDIR} ${STAGEDIR}${DATADIR}
.include <bsd.port.mk>

View file

@ -1,5 +1,5 @@
TIMESTAMP = 1678223201
SHA256 (kometbomb-klystrack-1.7.6-fe6e746_GH0.tar.gz) = 1744a75c6672fdcf4b6db7e85d082a14dfb3ed38b4b3c8cc4bffd5e9d3323870
SIZE (kometbomb-klystrack-1.7.6-fe6e746_GH0.tar.gz) = 576019
SHA256 (kometbomb-klystron-1074324_GH0.tar.gz) = 1a9a5a0ccb9039d2b2be3f0bd4f2a4d9684760a06ed79f136ed71c030d2cfe8c
SIZE (kometbomb-klystron-1074324_GH0.tar.gz) = 89088
TIMESTAMP = 1712990945
SHA256 (z-erica-klystrack-1.7.8_GH0.tar.gz) = 8e63888e691eed7f9194aa80e5f14d0c47a0925b05474db036308ce1db085aa2
SIZE (z-erica-klystrack-1.7.8_GH0.tar.gz) = 578916
SHA256 (z-erica-klystron-09cb52c_GH0.tar.gz) = 64edb3abca0b42e51b11c8bfecf7804029b8d140f31d0eca45b29ac739c4f7b6
SIZE (z-erica-klystron-09cb52c_GH0.tar.gz) = 89271

View file

@ -1,49 +0,0 @@
--- Makefile.orig 2023-03-07 21:13:01 UTC
+++ Makefile
@@ -1,7 +1,7 @@
TARGET := klystrack
KLYSTRON=klystron
ECHO := echo
-CFG := debug
+CFG ?= debug
EXE := bin.$(CFG)/$(TARGET)
MACHINE :=
NSIS := C:/program\ files\ \(x86\)/nsis/makensis.exe -V2 -NOCD
@@ -10,7 +10,7 @@ MAKEBUNDLE := $(KLYSTRON)/tools/bin/makebundle.exe
UPLOAD := cmd.exe /c upload.bat
DLLS := zip/data/SDL2_image.dll zip/data/SDL2.dll
EXT := .c
-CC := gcc
+CC ?= gcc
CDEP := $(CC) -E -MM
ARCHIVE := klystrack
INSTALLER := klystrack.exe
@@ -21,7 +21,7 @@ REV := cp -f
PREFIX ?= /usr
BINDIR = $(PREFIX)/bin
-CFLAGS := $(MACHINE) -ftree-vectorize -std=gnu99 -Wno-strict-aliasing
+CFLAGS ?= $(MACHINE) -ftree-vectorize -std=gnu99 -Wno-strict-aliasing
ifdef COMSPEC
# Compiling for Windows
@@ -72,7 +72,7 @@ else
CFLAGS += -O3 -pg -Wall
else
ifeq ($(CFG),release)
- CFLAGS += -O3 -Wall -s
+ CFLAGS += -Wall
ifdef COMSPEC
CFLAGS += -mwindows
endif
@@ -136,8 +136,8 @@ endef
build: Makefile src/version.h src/version_number.h
$(Q)touch src/version
- $(Q)$(MAKE) -C $(KLYSTRON) CFG=$(CFG) EXTFLAGS="$(EXTFLAGS)"
- $(Q)$(MAKE) all CFG=$(CFG) EXTFLAGS="$(EXTFLAGS)"
+ $(Q)$(MAKE_ENV)$(MAKE) -C $(KLYSTRON) CFG=$(CFG) EXTFLAGS="$(EXTFLAGS)"
+ $(Q)$(MAKE_ENV)$(MAKE) all CFG=$(CFG) EXTFLAGS="$(EXTFLAGS)"
src/version.h: src/version
$(Q)echo '#ifndef VERSION_H' > ./src/version.h

View file

@ -1,69 +0,0 @@
--- klystron/Makefile.orig 2021-01-18 12:22:06 UTC
+++ klystron/Makefile
@@ -1,9 +1,10 @@
TARGET=engine
VPATH=src:src
ECHO = echo
-CFG = debug
+CFG ?= debug
REV = cp -f
MACHINE =
+CC ?= gcc
include common.mk
@@ -27,8 +28,8 @@ lib_SRC = $(notdir ${wildcard src/lib/*.c})
lib_DEP = $(patsubst %.c, deps/lib_$(CFG)_%.d, ${lib_SRC})
lib_OBJ = $(patsubst %.c, objs.$(CFG)/lib_%.o, ${lib_SRC})
-CC = gcc -shared -std=gnu99 -Wno-strict-aliasing
-CDEP = gcc -E -std=gnu99
+CC := $(CC) -std=gnu99 -Wno-strict-aliasing
+CDEP := $(CC) -E -std=gnu99
ifndef CFLAGS
CFLAGS = $(MACHINE) -ftree-vectorize
@@ -44,10 +45,10 @@ else
CFLAGS += -O3 -pg -Wall ${INCLUDEFLAGS}
else
ifeq ($(CFG),release)
- CFLAGS += -O3 -Wall ${INCLUDEFLAGS} -s
+ CFLAGS += -Wall ${INCLUDEFLAGS}
else
ifeq ($(CFG),size)
- CFLAGS += -Os -Wall ${INCLUDEFLAGS} -s -ffast-math -fomit-frame-pointer -DREDUCESIZE
+ CFLAGS += -Os -Wall ${INCLUDEFLAGS} -ffast-math -fomit-frame-pointer -DREDUCESIZE
else
@$(ECHO) "Invalid configuration "$(CFG)" specified."
@$(ECHO) "You must specify a configuration when "
@@ -73,7 +74,7 @@ build: Makefile
$(Q)echo '"' >> ./src/version.h
$(Q)echo '#define KLYSTRON_VERSION_STRING "klystron " KLYSTRON_REVISION' >> ./src/version.h
$(Q)echo '#endif' >> ./src/version.h
- make all CFG=$(CFG)
+ $(MAKE) all CFG=$(CFG)
all: bin.$(CFG)/lib${TARGET}_snd.a bin.$(CFG)/lib${TARGET}_gfx.a bin.$(CFG)/lib${TARGET}_util.a bin.$(CFG)/lib${TARGET}_gui.a tools
@@ -121,7 +122,7 @@ endif
bin.$(CFG)/ksnd.dll: objs.$(CFG)/lib_ksnd.o ${snd_OBJ} src/lib/ksnd.def | inform
$(MSG) "Linking ksnd.dll..."
$(Q)mkdir -p bin.$(CFG)
- $(Q)$(CC) -shared -o $@ objs.$(CFG)/lib_ksnd.o src/lib/ksnd.def ${snd_OBJ} $(CFLAGS) $(INCLUDEFLAGS) -DDLLEXPORT -Wl,--out-implib,bin.$(CFG)/libksnd.a
+ $(Q)$(CC) -o $@ objs.$(CFG)/lib_ksnd.o src/lib/ksnd.def ${snd_OBJ} $(CFLAGS) $(INCLUDEFLAGS) -DDLLEXPORT -Wl,--out-implib,bin.$(CFG)/libksnd.a
ifdef COMSPEC
$(MSG) "Building ksnd.lib..."
@-lib /DEF:src/lib/ksnd.def /OUT:bin.$(CFG)/ksnd.lib
@@ -208,10 +209,10 @@ ifneq ($(MAKECMDGOALS),clean)
endif
tools/bin/makebundle.exe: tools/makebundle/*.c
- make -C tools/makebundle
+ $(MAKE_ENV) $(MAKE) -C tools/makebundle
ifdef COMSPEC
tools/bin/editor.exe: tools/editor/src/*
- make -C tools/editor
+ $(MAKE) -C tools/editor
cp tools/editor/bin.$(CFG)/editor.exe tools/bin/editor.exe
endif

View file

@ -1,8 +0,0 @@
--- klystron/common.mk.orig 2021-01-18 12:35:42 UTC
+++ klystron/common.mk
@@ -1,3 +1,5 @@
+MAKE ?= make
+
# make it possible to do a verbose build by running `make V=1`
ifeq ($(V),1)
Q=

View file

@ -1,11 +0,0 @@
--- klystron/src/gui/menu.h.orig 2021-01-17 17:28:54 UTC
+++ klystron/src/gui/menu.h
@@ -25,7 +25,7 @@ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
OTHER DEALINGS IN THE SOFTWARE.
*/
-struct menu_t
+extern struct menu_t
{
int flags;
const struct menu_t *parent;

View file

@ -1,15 +0,0 @@
--- klystron/tools/makebundle/Makefile.orig 2021-01-18 11:01:30 UTC
+++ klystron/tools/makebundle/Makefile
@@ -1,4 +1,5 @@
TARGET = ../bin/makebundle.exe
+CC ?= gcc
ifdef COMSPEC
SDL = -I /mingw/include/sdl
@@ -8,4 +9,4 @@ endif
$(TARGET): makebundle.c ../../src/util/bundle.h
@mkdir -p ../bin
- gcc -o $(TARGET) -D_XOPEN_SOURCE makebundle.c -std=c99 -I ../../src $(SDL) -Wall -O3
\ No newline at end of file
+ $(CC) $(CFLAGS) -o $(TARGET) -D_XOPEN_SOURCE makebundle.c -std=c99 -I ../../src $(SDL) -Wall

View file

@ -124,6 +124,5 @@ share/applications/klystrack.desktop
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/songs/ringmod.kt
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/songs/smp_dingleberries_fix.kt
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/songs/smp_dpintro.kt
%%DATADIR%%/Default.kt
share/icons/hicolor/256x256/apps/klystrack.png
share/man/man1/klystrack.1.gz
share/pixmaps/klystrack.png