pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Add xwax.



Module Name:	pkgsrc-wip
Committed By:	nia <nia%NetBSD.org@localhost>
Pushed By:	nee
Date:		Sat Oct 5 13:20:43 2019 +0100
Changeset:	84219ff9305b0517af1c62cc9472f3ae129345ab

Modified Files:
	Makefile
Added Files:
	xwax/DESCR
	xwax/Makefile
	xwax/PLIST
	xwax/TODO
	xwax/distinfo
	xwax/options.mk
	xwax/patches/patch-excrate.c
	xwax/patches/patch-interface.c
	xwax/patches/patch-library.c
	xwax/patches/patch-mktimecode.c
	xwax/patches/patch-track.c

Log Message:
Add xwax.

xwax is an open-source Digital Vinyl System (DVS). It allows DJs and
turntablists to playback digital audio files (MP3, Ogg Vorbis, FLAC, AAC
and more), controlled using a normal pair of turntables via timecoded vinyls.

It's designed for both beat mixing and scratch mixing. Needle drops, pitch
changes, scratching, spinbacks and rewinds are all supported, and feel just
like the audio is pressed onto the vinyl itself.

The focus is on an accurate vinyl feel which is efficient, stable and fast.

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=84219ff9305b0517af1c62cc9472f3ae129345ab

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 Makefile                        |  1 +
 xwax/DESCR                      |  9 ++++++++
 xwax/Makefile                   | 46 +++++++++++++++++++++++++++++++++++++++++
 xwax/PLIST                      |  8 +++++++
 xwax/TODO                       |  1 +
 xwax/distinfo                   | 11 ++++++++++
 xwax/options.mk                 | 18 ++++++++++++++++
 xwax/patches/patch-excrate.c    | 14 +++++++++++++
 xwax/patches/patch-interface.c  | 27 ++++++++++++++++++++++++
 xwax/patches/patch-library.c    | 38 ++++++++++++++++++++++++++++++++++
 xwax/patches/patch-mktimecode.c | 23 +++++++++++++++++++++
 xwax/patches/patch-track.c      | 14 +++++++++++++
 12 files changed, 210 insertions(+)

diffs:
diff --git a/Makefile b/Makefile
index b659ef4969..0685a31d66 100644
--- a/Makefile
+++ b/Makefile
@@ -5068,6 +5068,7 @@ SUBDIR+=	xtreemfs-client
 SUBDIR+=	xtreemfs-server
 SUBDIR+=	xtrkcad
 SUBDIR+=	xtrlock
+SUBDIR+=	xwax
 SUBDIR+=	xwelltris
 SUBDIR+=	xwindiff
 SUBDIR+=	xxhash
diff --git a/xwax/DESCR b/xwax/DESCR
new file mode 100644
index 0000000000..7fa1ef298c
--- /dev/null
+++ b/xwax/DESCR
@@ -0,0 +1,9 @@
+xwax is an open-source Digital Vinyl System (DVS). It allows DJs and
+turntablists to playback digital audio files (MP3, Ogg Vorbis, FLAC, AAC
+and more), controlled using a normal pair of turntables via timecoded vinyls.
+
+It's designed for both beat mixing and scratch mixing. Needle drops, pitch
+changes, scratching, spinbacks and rewinds are all supported, and feel just
+like the audio is pressed onto the vinyl itself.
+
+The focus is on an accurate vinyl feel which is efficient, stable and fast.
diff --git a/xwax/Makefile b/xwax/Makefile
new file mode 100644
index 0000000000..6cabc4d6fa
--- /dev/null
+++ b/xwax/Makefile
@@ -0,0 +1,46 @@
+# $NetBSD$
+
+DISTNAME=	xwax-1.7
+CATEGORIES=	audio
+MASTER_SITES=	https://xwax.org/releases/
+
+MAINTAINER=	pkgsrc-users%NetBSD.org@localhost
+HOMEPAGE=	https://xwax.org/
+COMMENT=	Vinyl emulation software
+LICENSE=	gnu-gpl-v2
+
+USE_TOOLS+=	bash:run gmake
+
+MAKE_FLAGS+=	EXECDIR=${PREFIX}/libexec
+
+.include "../../mk/oss.buildlink3.mk"
+.if ${OSS_TYPE} != "none"
+MAKE_FLAGS+=	OSS=1
+.endif
+
+REPLACE_BASH+=	scan
+
+INSTALLATION_DIRS+=	bin libexec
+INSTALLATION_DIRS+=	${PKGMANDIR}/man1
+INSTALLATION_DIRS+=	share/doc/xwax
+
+DOCFILES=	CHANGES COPYING README
+
+do-install:
+	${INSTALL_PROGRAM} ${WRKSRC}/xwax \
+		${DESTDIR}${PREFIX}/bin/xwax
+	${INSTALL_PROGRAM} ${WRKSRC}/scan \
+		${DESTDIR}${PREFIX}/libexec/xwax-scan
+	${INSTALL_PROGRAM} ${WRKSRC}/import \
+		${DESTDIR}${PREFIX}/libexec/xwax-import
+	${INSTALL_MAN} ${WRKSRC}/xwax.1 \
+		${DESTDIR}${PREFIX}/${PKGMANDIR}/man1/xwax.1
+.for file in ${DOCFILES}
+	${INSTALL_DATA} ${WRKSRC}/${file} \
+		${DESTDIR}${PREFIX}/share/doc/xwax
+.endfor
+
+.include "options.mk"
+.include "../../devel/SDL/buildlink3.mk"
+.include "../../devel/SDL_ttf/buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/xwax/PLIST b/xwax/PLIST
new file mode 100644
index 0000000000..aeffc96cfc
--- /dev/null
+++ b/xwax/PLIST
@@ -0,0 +1,8 @@
+@comment $NetBSD$
+bin/xwax
+libexec/xwax-import
+libexec/xwax-scan
+man/man1/xwax.1
+share/doc/xwax/CHANGES
+share/doc/xwax/COPYING
+share/doc/xwax/README
diff --git a/xwax/TODO b/xwax/TODO
new file mode 100644
index 0000000000..f6d848ee4b
--- /dev/null
+++ b/xwax/TODO
@@ -0,0 +1 @@
+Invalid scheduling priority (maximum 63).
diff --git a/xwax/distinfo b/xwax/distinfo
new file mode 100644
index 0000000000..ee267917c7
--- /dev/null
+++ b/xwax/distinfo
@@ -0,0 +1,11 @@
+$NetBSD$
+
+SHA1 (xwax-1.7.tar.gz) = ed69ab71f37ce217f4f523c2d23383f5803b20a6
+RMD160 (xwax-1.7.tar.gz) = 88c61bf650413db813119e15d74329e234aafe51
+SHA512 (xwax-1.7.tar.gz) = ab0fcaf32f1fd1d6b38323095524f1932a067a3d04d40e4b043993e360411fed0c4b78bb71662581b438cb1e3005bc21659db4521a6ec704994b2e8e1b7e62d4
+Size (xwax-1.7.tar.gz) = 80745 bytes
+SHA1 (patch-excrate.c) = c88e41838a2ad670db6fa33eaf9187bfeb1c75cd
+SHA1 (patch-interface.c) = cd853a890ff757d0eecd7bfa0ad37923d7793556
+SHA1 (patch-library.c) = 12ffc297d0cb4d1dcfe121106d22059cb14950f3
+SHA1 (patch-mktimecode.c) = 1fff7867368791b13cc4ad1181c6091f423ecb95
+SHA1 (patch-track.c) = f85e5aea96fb5471140d11a22e876cea8dc041dc
diff --git a/xwax/options.mk b/xwax/options.mk
new file mode 100644
index 0000000000..244910d693
--- /dev/null
+++ b/xwax/options.mk
@@ -0,0 +1,18 @@
+# $NetBSD: options.mk,v 1.3 2019/09/16 22:46:20 nia Exp $
+
+PKG_OPTIONS_VAR=		PKG_OPTIONS.xwax
+PKG_SUPPORTED_OPTIONS=		alsa jack
+PKG_SUGGESTED_OPTIONS=
+PKG_SUGGESTED_OPTIONS.Linux=	alsa
+
+.include "../../mk/bsd.options.mk"
+
+.if !empty(PKG_OPTIONS:Malsa)
+MAKE_FLAGS+=	ALSA=1
+.include "../../audio/alsa-lib/buildlink3.mk"
+.endif
+
+.if !empty(PKG_OPTIONS:Mjack)
+MAKE_FLAGS+=	JACK=1
+.include "../../audio/jack/buildlink3.mk"
+.endif
diff --git a/xwax/patches/patch-excrate.c b/xwax/patches/patch-excrate.c
new file mode 100644
index 0000000000..fdf817b14f
--- /dev/null
+++ b/xwax/patches/patch-excrate.c
@@ -0,0 +1,14 @@
+$NetBSD$
+
+Include signal.h for kill(2).
+
+--- excrate.c.orig	2018-01-19 20:40:49.000000000 +0000
++++ excrate.c
+@@ -28,6 +28,7 @@
+ #include <errno.h>
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <signal.h>
+ #include <sys/wait.h>
+ 
+ #include "debug.h"
diff --git a/xwax/patches/patch-interface.c b/xwax/patches/patch-interface.c
new file mode 100644
index 0000000000..585d2a00e9
--- /dev/null
+++ b/xwax/patches/patch-interface.c
@@ -0,0 +1,27 @@
+$NetBSD$
+
+Avoid strdupa.
+
+--- interface.c.orig	2018-01-19 20:40:49.000000000 +0000
++++ interface.c
+@@ -426,10 +426,9 @@ static int do_draw_text(SDL_Surface *sf,
+             if (iconv(utf, NULL, NULL, &out, &fill) == -1)
+                 abort();
+ 
+-            in = strdupa(buf);
+             len = strlen(in);
+ 
+-            (void)iconv(utf, &in, &len, &out, &fill);
++            (void)iconv(utf, &buf, &len, &out, &fill);
+             *out = '\0';
+ 
+             rendered = TTF_RenderUTF8_Shaded(font, ubuf, fg, bg);
+@@ -1875,7 +1874,7 @@ int interface_start(struct library *lib,
+     if (load_fonts() == -1)
+         return -1;
+ 
+-    utf = iconv_open("UTF8", "");
++    utf = iconv_open("utf8", "c99");
+     if (utf == (iconv_t)-1) {
+         perror("iconv_open");
+         return -1;
diff --git a/xwax/patches/patch-library.c b/xwax/patches/patch-library.c
new file mode 100644
index 0000000000..2932840138
--- /dev/null
+++ b/xwax/patches/patch-library.c
@@ -0,0 +1,38 @@
+$NetBSD$
+
+Avoid strdupa.
+
+--- library.c.orig	2018-01-19 20:40:49.000000000 +0000
++++ library.c
+@@ -17,7 +17,6 @@
+  *
+  */
+ 
+-#define _GNU_SOURCE /* strdupa() */
+ #include <assert.h>
+ #include <errno.h>
+ #include <iconv.h>
+@@ -43,7 +42,7 @@ int library_global_init(void)
+ {
+     assert(ascii == (iconv_t)-1);
+ 
+-    ascii = iconv_open("ASCII//TRANSLIT", "");
++    ascii = iconv_open("ascii", "c99");
+     if (ascii == (iconv_t)-1) {
+         perror("iconv_open");
+         return -1;
+@@ -593,8 +592,13 @@ int library_import(struct library *li, c
+     char *cratename, *pathname;
+     struct crate *crate;
+ 
+-    pathname = strdupa(path);
++    pathname = strdup(path);
++    if (pathname == NULL) {
++        perror("strdup");
++        return -1;
++    }
+     cratename = basename(pathname); /* POSIX version, see basename(3) */
++    free(pathname);
+     assert(cratename != NULL);
+ 
+     crate = malloc(sizeof *crate);
diff --git a/xwax/patches/patch-mktimecode.c b/xwax/patches/patch-mktimecode.c
new file mode 100644
index 0000000000..fb47620b08
--- /dev/null
+++ b/xwax/patches/patch-mktimecode.c
@@ -0,0 +1,23 @@
+$NetBSD$
+
+sincos is a GNU extension.
+
+--- mktimecode.c.orig	2018-01-19 20:40:49.000000000 +0000
++++ mktimecode.c
+@@ -22,7 +22,6 @@
+  * with xwax.
+  */
+ 
+-#define _GNU_SOURCE /* sincos() */
+ #include <assert.h>
+ #include <limits.h>
+ #include <math.h>
+@@ -38,6 +37,8 @@
+ #define TAPS 0x00002
+ #define BITS 22
+ 
++#define sincos(x, sinp, cosp) *sinp = sin(x); *cosp = cos(x);
++
+ #define MAX(x,y) ((x)>(y)?(x):(y))
+ 
+ typedef unsigned int bits_t;
diff --git a/xwax/patches/patch-track.c b/xwax/patches/patch-track.c
new file mode 100644
index 0000000000..5524abea6b
--- /dev/null
+++ b/xwax/patches/patch-track.c
@@ -0,0 +1,14 @@
+$NetBSD$
+
+Include signal.h for kill(2).
+
+--- track.c.orig	2018-01-19 20:40:49.000000000 +0000
++++ track.c
+@@ -21,6 +21,7 @@
+ #include <errno.h>
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <signal.h>
+ #include <sys/types.h>
+ #include <sys/wait.h>
+ #include <sys/mman.h> /* mlock() */


Home | Main Index | Thread Index | Old Index