From e4bfa7fe0190440a893cf58d814bfe53a500354c Mon Sep 17 00:00:00 2001 From: kamil Date: Sun, 19 Jun 2016 09:16:15 +0000 Subject: Import xjadeo-0.8.5 as audio/xjadeo xjadeo is a simple video player that gets sync from jack. Originally packaged in pkgsrc-wip by myself. --- audio/xjadeo/DESCR | 1 + audio/xjadeo/Makefile | 24 +++ audio/xjadeo/PLIST | 6 + audio/xjadeo/distinfo | 9 ++ audio/xjadeo/patches/patch-configure.ac | 113 ++++++++++++++ audio/xjadeo/patches/patch-src_xjadeo_Makefile.am | 17 +++ audio/xjadeo/patches/patch-src_xjadeo_libsofd.c | 176 ++++++++++++++++++++++ 7 files changed, 346 insertions(+) create mode 100644 audio/xjadeo/DESCR create mode 100644 audio/xjadeo/Makefile create mode 100644 audio/xjadeo/PLIST create mode 100644 audio/xjadeo/distinfo create mode 100644 audio/xjadeo/patches/patch-configure.ac create mode 100644 audio/xjadeo/patches/patch-src_xjadeo_Makefile.am create mode 100644 audio/xjadeo/patches/patch-src_xjadeo_libsofd.c (limited to 'audio/xjadeo') diff --git a/audio/xjadeo/DESCR b/audio/xjadeo/DESCR new file mode 100644 index 00000000000..23fd8d9b963 --- /dev/null +++ b/audio/xjadeo/DESCR @@ -0,0 +1 @@ +xjadeo is a simple video player that gets sync from jack. diff --git a/audio/xjadeo/Makefile b/audio/xjadeo/Makefile new file mode 100644 index 00000000000..9a080e93bab --- /dev/null +++ b/audio/xjadeo/Makefile @@ -0,0 +1,24 @@ +# $NetBSD: Makefile,v 1.1 2016/06/19 09:16:15 kamil Exp $ + +DISTNAME= xjadeo-0.8.5 +CATEGORIES= audio +MASTER_SITES= ${MASTER_SITE_GITHUB:=x42/} +GITHUB_TAG= v${PKGVERSION_NOREV} + +MAINTAINER= pkgsrc-users@NetBSD.org +HOMEPAGE= http://xjadeo.sourceforge.net/ +COMMENT= X JAck viDEo mOnitor +LICENSE= gnu-gpl-v2 + +USE_LANGUAGES= c c++ + +USE_TOOLS+= automake aclocal autoheader autoconf pkg-config + +GNU_CONFIGURE= yes + +pre-configure: + ${RUN} cd ${WRKSRC} && ./autogen.sh + +.include "../../multimedia/ffmpeg3/buildlink3.mk" +.include "../../audio/jack/buildlink3.mk" +.include "../../mk/bsd.pkg.mk" diff --git a/audio/xjadeo/PLIST b/audio/xjadeo/PLIST new file mode 100644 index 00000000000..49379ccdf01 --- /dev/null +++ b/audio/xjadeo/PLIST @@ -0,0 +1,6 @@ +@comment $NetBSD: PLIST,v 1.1 2016/06/19 09:16:15 kamil Exp $ +bin/xjadeo +bin/xjremote +man/man1/xjadeo.1 +man/man1/xjremote.1 +share/xjadeo/ArdourMono.ttf diff --git a/audio/xjadeo/distinfo b/audio/xjadeo/distinfo new file mode 100644 index 00000000000..939febf0139 --- /dev/null +++ b/audio/xjadeo/distinfo @@ -0,0 +1,9 @@ +$NetBSD: distinfo,v 1.1 2016/06/19 09:16:15 kamil Exp $ + +SHA1 (xjadeo-0.8.5.tar.gz) = ed72634312e2d1d5b13a4eeef444895c3f3abfc5 +RMD160 (xjadeo-0.8.5.tar.gz) = 7794ace9bb5b84b4b4fa603347c48d482b95541d +SHA512 (xjadeo-0.8.5.tar.gz) = 124644df6b18518fd7cfabea47cf4b466d41f771891df6805c95a63f18ab9b71ac1568e1d0cdb7df5361f19e742e850fc57ea1239547c00484c15f1a85aa2b18 +Size (xjadeo-0.8.5.tar.gz) = 996023 bytes +SHA1 (patch-configure.ac) = 59dec1d2b0d1922ef8cde791d7c8ac1f349eaa82 +SHA1 (patch-src_xjadeo_Makefile.am) = 42f6a6af900ef495430cf52dea74f83c7c6ddae6 +SHA1 (patch-src_xjadeo_libsofd.c) = 4af37e40a9e2dacae8a9983228a98ed58e1a612f diff --git a/audio/xjadeo/patches/patch-configure.ac b/audio/xjadeo/patches/patch-configure.ac new file mode 100644 index 00000000000..c2eb7862cfb --- /dev/null +++ b/audio/xjadeo/patches/patch-configure.ac @@ -0,0 +1,113 @@ +$NetBSD: patch-configure.ac,v 1.1 2016/06/19 09:16:15 kamil Exp $ + +Fix shell portability problem. + +--- configure.ac.orig 2015-11-25 14:17:19.000000000 +0000 ++++ configure.ac +@@ -51,6 +51,7 @@ case $target_os in + HAVE_GL=1 + AM_CONDITIONAL([TARGET_OSX], true) + AM_CONDITIONAL([TARGET_LINUX], false) ++ AM_CONDITIONAL([TARGET_NETBSD], false) + AM_CONDITIONAL([TARGET_WIN32], false) + dnl 2006/11/13 : 32 bit RGBA is known not to work on OSX ffmpeg+imlib2 + dnl IMLIB2RGBA +@@ -63,9 +64,21 @@ case $target_os in + AC_DEFINE([IMLIB2RGBA], [], [use native RGB32 ffmpeg -> imlib.]) + AM_CONDITIONAL([TARGET_OSX], false) + AM_CONDITIONAL([TARGET_LINUX], true) ++ AM_CONDITIONAL([TARGET_NETBSD], false) + AM_CONDITIONAL([TARGET_WIN32], false) + LIBS="$LIBS -L/usr/X11R6/lib" + ;; ++ *netbsd*) ++ AC_DEFINE([PLATFORM_NETBSD], [], [NetBSD version]) ++ PLATFORM_NETBSD=1 ++ AC_MSG_NOTICE([TARGET: NETBSD]) ++ PM_OS="netbsd"; ++ AC_DEFINE([IMLIB2RGBA], [], [use native RGB32 ffmpeg -> imlib.]) ++ AM_CONDITIONAL([TARGET_OSX], false) ++ AM_CONDITIONAL([TARGET_LINUX], false) ++ AM_CONDITIONAL([TARGET_NETBSD], true) ++ AM_CONDITIONAL([TARGET_WIN32], false) ++ ;; + *mingw32*|*win*) + AC_MSG_NOTICE([TARGET: WINDOWS]) + PM_OS=win +@@ -78,6 +91,7 @@ case $target_os in + HAVE_GL=1 + AM_CONDITIONAL([TARGET_OSX], false) + AM_CONDITIONAL([TARGET_LINUX], false) ++ AM_CONDITIONAL([TARGET_NETBSD], true) + AM_CONDITIONAL([TARGET_WIN32], true) + AC_CHECK_TOOL(WINDRES, windres, false) + if test "$WINDRES" = "false"; then +@@ -89,7 +103,7 @@ case $target_os in + ;; + esac + +-if test "x$enable_embed_font" == "xyes"; then ++if test "x$enable_embed_font" = "xyes"; then + AM_CONDITIONAL([EMBED_FONT], true) + else + AM_CONDITIONAL([EMBED_FONT], false) +@@ -119,18 +133,18 @@ AC_CHECK_HEADERS(time.h string.h) + dnl Checks for libraries. + + dnl video output +-AH_TEMPLATE([HAVE_GL], [Define to enable openGL (win,osx,linux)]) +-AH_TEMPLATE([HAVE_SDL], [Define as 1 if you have the SDL toolkit (win,osx,linux)]) +-AH_TEMPLATE([HAVE_LIBXV], [Video Output: XVideo support (linux)]) +-AH_TEMPLATE([HAVE_IMLIB2], [Video Output: plain old imlib2 (linux)]) ++AH_TEMPLATE([HAVE_GL], [Define to enable openGL (linux,netbsd,osx,win)]) ++AH_TEMPLATE([HAVE_SDL], [Define as 1 if you have the SDL toolkit (linux,netbsd,osx,win)]) ++AH_TEMPLATE([HAVE_LIBXV], [Video Output: XVideo support (linux,netbsd)]) ++AH_TEMPLATE([HAVE_IMLIB2], [Video Output: plain old imlib2 (linux,netbsd)]) + AH_TEMPLATE([IMLIB2RGBA], [Define for RGBA32 imlib2 (not RGB24)]) + + dnl MTC sync + AH_TEMPLATE([HAVE_MIDI], [general MIDI (MTC) support]) + AH_TEMPLATE([HAVE_JACKMIDI], [Define as 1 to enable JACK-MIDI]) + AH_TEMPLATE([HAVE_PORTMIDI], [Define as 1 to enable the portmidi driver (win,osx)]) +-AH_TEMPLATE([ALSA_SEQ_MIDI], [Define as 1 to enable ALSA sequencer (linux)]) +-AH_TEMPLATE([ALSA_RAW_MIDI], [Define as 1 to enable ALSA-raw midi (linux)]) ++AH_TEMPLATE([ALSA_SEQ_MIDI], [Define as 1 to enable ALSA sequencer (linux,netbsd)]) ++AH_TEMPLATE([ALSA_RAW_MIDI], [Define as 1 to enable ALSA-raw midi (linux,netbsd)]) + + dnl LTC sync + AH_TEMPLATE([HAVE_LTC], [Define as 1 if you have libltc - http://github.com/x42/libltc ]) +@@ -170,7 +184,7 @@ if test "x$enable_timescale" != "xyes"; + AC_DEFINE(TIMEMAP) + fi + +-if test "x$enable_framecrop" == "xyes"; then ++if test "x$enable_framecrop" = "xyes"; then + AC_DEFINE(CROPIMG) + fi + +@@ -462,7 +476,7 @@ else + else + OSDREPORT="${OSDREPORT}-" + fi +- if test "x$enable_embed_font" == "xyes"; then ++ if test "x$enable_embed_font" = "xyes"; then + OSDREPORT="${OSDREPORT} + - embed font: yes" + else +@@ -531,14 +545,14 @@ AC_MSG_NOTICE([ + ]) + fi + +-if test -n "$PLATFORM_LINUX" -a -n "$HAVE_PORTMIDI"; then ++if test -n "$PLATFORM_LINUX$PLATFORM_NETBSD" -a -n "$HAVE_PORTMIDI"; then + AC_MSG_NOTICE([ + PortMidi is intended for non Un*x Platforms only. + On Linux, please use JACK, ALSA-seq or ALSA-raw. + ]) + fi + +-if test -n "$PLATFORM_LINUX$PLATFORM_OSX" -a -n "$HAVE_QT4"; then ++if test -n "$PLATFORM_LINUX$PLATFORM_OSX$PLATFORM_NETBSD" -a -n "$HAVE_QT4"; then + AC_MSG_WARN([ + qjadeo is deprecated an not intended to be used. + It will be removed in future releases. diff --git a/audio/xjadeo/patches/patch-src_xjadeo_Makefile.am b/audio/xjadeo/patches/patch-src_xjadeo_Makefile.am new file mode 100644 index 00000000000..7d724047a8f --- /dev/null +++ b/audio/xjadeo/patches/patch-src_xjadeo_Makefile.am @@ -0,0 +1,17 @@ +$NetBSD: patch-src_xjadeo_Makefile.am,v 1.1 2016/06/19 09:16:15 kamil Exp $ + +Add NetBSD support. + +--- src/xjadeo/Makefile.am.orig 2015-11-25 14:17:19.000000000 +0000 ++++ src/xjadeo/Makefile.am +@@ -30,6 +30,10 @@ if TARGET_LINUX + xjadeo_SOURCES+=display_glx.c + xjadeo_LDADD+=@JACK_LIBS@ + endif ++if TARGET_NETBSD ++xjadeo_SOURCES+=display_glx.c ++xjadeo_LDADD+=@JACK_LIBS@ ++endif + if TARGET_WIN32 + xjadeo_SOURCES+=display_gl_win.c windows.rc + xjadeo_CFLAGS+=-DUSE_WEAK_JACK diff --git a/audio/xjadeo/patches/patch-src_xjadeo_libsofd.c b/audio/xjadeo/patches/patch-src_xjadeo_libsofd.c new file mode 100644 index 00000000000..a7dde9e41fb --- /dev/null +++ b/audio/xjadeo/patches/patch-src_xjadeo_libsofd.c @@ -0,0 +1,176 @@ +$NetBSD: patch-src_xjadeo_libsofd.c,v 1.1 2016/06/19 09:16:15 kamil Exp $ + +Add NetBSD support. + +Backport getmntent() from sysutils/fam. + +--- src/xjadeo/libsofd.c.orig 2015-11-25 14:17:19.000000000 +0000 ++++ src/xjadeo/libsofd.c +@@ -334,8 +334,167 @@ const char *x_fib_recent_file(const char + + #ifdef XFIB + #if (defined HAVE_LIBXV || defined HAVE_IMLIB2 || (defined HAVE_GL && !defined PLATFORM_WINDOWS && !defined PLATFORM_OSX)) ++#if defined PLATFORM_LINUX + #include ++#endif + #include ++#if defined PLATFORM_NETBSD ++#include ++#include ++ ++#include ++ ++#define MOUNTED "dummy" ++ ++#define MNTTYPE_NFS "nfs" ++ ++struct mntent { ++ char *mnt_fsname; ++ char *mnt_dir; ++ char *mnt_type; ++ char *mnt_opts; ++ int mnt_freq; ++ int mnt_passno; ++}; ++ ++#define setmntent(x,y) ((FILE *)0x1) ++struct mntent *getmntent __P ((FILE *fp)); ++char *hasmntopt __P ((const struct mntent *mnt, const char *option)); ++#define endmntent(x) ((int)1) ++ ++static int pos = -1; ++static int mntsize = -1; ++static struct mntent _mntent; ++ ++char * ++hasmntopt (const struct mntent *mnt, const char *option) ++{ ++ int found; ++ char *opt, *optbuf; ++ ++ optbuf = strdup(mnt->mnt_opts); ++ found = 0; ++ for (opt = optbuf; (opt = strtok(opt, " ")) != NULL; opt = NULL) { ++ if (!strcasecmp(opt, option)) { ++ opt = opt - optbuf + mnt->mnt_opts; ++ free (optbuf); ++ return (opt); ++ } ++ } ++ free (optbuf); ++ return (NULL); ++} ++ ++static char * ++catopt (char *s0, const char *s1) ++{ ++ size_t i; ++ char *cp; ++ ++ if (s1 == NULL || *s1 == '\0') ++ return s0; ++ if (s0 && *s0) { ++ i = strlen(s0) + strlen(s1) + 1 + 1; ++ if ((cp = (char *)malloc(i)) == NULL) ++ return (NULL); ++ (void)snprintf(cp, i, "%s %s", s0, s1); ++ } else ++ cp = strdup(s1); ++ ++ if (s0) ++ free(s0); ++ return (cp); ++} ++ ++static char * ++flags2opts (int flags) ++{ ++ char *res; ++ res = NULL; ++ res = catopt(res, (flags & MNT_RDONLY) ? "ro" : "rw"); ++ if (flags & MNT_SYNCHRONOUS) res = catopt(res, "sync"); ++ if (flags & MNT_NOEXEC) res = catopt(res, "noexec"); ++ if (flags & MNT_NOSUID) res = catopt(res, "nosuid"); ++#ifdef MNT_NODEV ++ if (flags & MNT_NODEV) res = catopt(res, "nodev"); ++#endif ++#ifdef MNT_UNION ++ if (flags & MNT_UNION) res = catopt(res, "union"); ++#endif ++ if (flags & MNT_ASYNC) res = catopt(res, "async"); ++#ifdef MNT_NOATIME ++ if (flags & MNT_NOATIME) res = catopt(res, "noatime"); ++#endif ++#ifdef MNT_NOCLUSTERR ++ if (flags & MNT_NOCLUSTERR) res = catopt(res, "noclusterr"); ++#endif ++#ifdef MNT_NOCLUSTERW ++ if (flags & MNT_NOCLUSTERW) res = catopt(res, "noclusterw"); ++#endif ++#ifdef MNT_NOSYMFOLLOW ++ if (flags & MNT_NOSYMFOLLOW) res = catopt(res, "nosymfollow"); ++#endif ++#ifdef MNT_SUIDDIR ++ if (flags & MNT_SUIDDIR) res = catopt(res, "suiddir"); ++#endif ++#ifdef MNT_NOCOREDUMP ++ if (flags & MNT_NOCOREDUMP) res = catopt(res, "nocoredump"); ++#endif ++#ifdef MNT_IGNORE ++ if (flags & MNT_IGNORE) res = catopt(res, "hidden"); ++#endif ++#ifdef MNT_SYMPERM ++ if (flags & MNT_SYMPERM) res = catopt(res, "symperm"); ++#endif ++#ifdef MNT_NODEVMTIME ++ if (flags & MNT_NODEVMTIME) res = catopt(res, "nodevmtime"); ++#endif ++#ifdef MNT_SOFTDEP ++ if (flags & MNT_SOFTDEP) res = catopt(res, "softdep"); ++#endif ++ ++ return res; ++} ++ ++static struct mntent * ++statfs_to_mntent (struct statvfs *mntbuf) ++{ ++ static char opts_buf[40], *tmp; ++ ++ _mntent.mnt_fsname = mntbuf->f_mntfromname; ++ _mntent.mnt_dir = mntbuf->f_mntonname; ++ _mntent.mnt_type = mntbuf->f_fstypename; ++ tmp = flags2opts (mntbuf->f_flag); ++ ++ if (tmp) { ++ opts_buf[sizeof(opts_buf)-1] = '\0'; ++ strncpy (opts_buf, tmp, sizeof(opts_buf)-1); ++ free (tmp); ++ } else { ++ *opts_buf = '\0'; ++ } ++ _mntent.mnt_opts = opts_buf; ++ _mntent.mnt_freq = _mntent.mnt_passno = 0; ++ return (&_mntent); ++} ++ ++struct mntent * ++getmntent (FILE *fp) ++{ ++ static struct statvfs *mntbuf; ++ ++ if (pos == -1 || mntsize == -1) ++ mntsize = getmntinfo (&mntbuf, MNT_NOWAIT); ++ ++ ++pos; ++ if (pos == mntsize) { ++ pos = mntsize = -1; ++ return (NULL); ++ } ++ ++ return (statfs_to_mntent (&mntbuf[pos])); ++} ++#endif + + #include + #include -- cgit v1.2.3