summaryrefslogtreecommitdiff
path: root/multimedia/ssr
diff options
context:
space:
mode:
authormarkd <markd@pkgsrc.org>2016-02-08 20:43:32 +0000
committermarkd <markd@pkgsrc.org>2016-02-08 20:43:32 +0000
commita2cdae1393027553b3540d30e16df2cb619a08dc (patch)
tree52470513b981bcebc1cfcc2d344791bef3d583da /multimedia/ssr
parent54baa7c9c67734a4bb2a7f03d117c8022445f6cf (diff)
downloadpkgsrc-a2cdae1393027553b3540d30e16df2cb619a08dc.tar.gz
Fix build on NetBSD7
Diffstat (limited to 'multimedia/ssr')
-rw-r--r--multimedia/ssr/Makefile19
-rw-r--r--multimedia/ssr/distinfo4
-rw-r--r--multimedia/ssr/patches/patch-glinject_Hook.cpp17
-rw-r--r--multimedia/ssr/patches/patch-glinject_elfhacks.c20
4 files changed, 49 insertions, 11 deletions
diff --git a/multimedia/ssr/Makefile b/multimedia/ssr/Makefile
index cf13843e6e4..a8906479238 100644
--- a/multimedia/ssr/Makefile
+++ b/multimedia/ssr/Makefile
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.1 2016/02/08 01:17:53 markd Exp $
+# $NetBSD: Makefile,v 1.2 2016/02/08 20:43:32 markd Exp $
#
DISTNAME= ssr-0.3.6
@@ -11,22 +11,21 @@ COMMENT= Screen recorder for Linux
LICENSE= gnu-gpl-v3
GNU_CONFIGURE= yes
-USE_TOOLS+= pkg-config gmake
+USE_TOOLS+= pkg-config gmake bash:run
USE_LANGUAGES= c c++
-.include "../../mk/bsd.prefs.mk"
-.if ${OPSYS} == "Linux"
-.include "../../audio/alsa-lib/buildlink3.mk"
-.else
-CONFIGURE_ARGS+= --enable-oss=yes
-LDFLAGS+= ${LIBOSSAUDIO}
-.endif
+REPLACE_BASH= scripts/ssr-glinject
+
+CFLAGS.NetBSD+= -DBSD
+.include "../../mk/dlopen.buildlink3.mk"
+BUILDLINK_TRANSFORM+= opt:-ldl:${BUILDLINK_LDADD.dl:Q}
+
+.include "../../audio/alsa-lib/buildlink3.mk"
.include "../../audio/jack/buildlink3.mk"
.include "../../audio/pulseaudio/buildlink3.mk"
.include "../../multimedia/ffmpeg2/buildlink3.mk"
.include "../../graphics/hicolor-icon-theme/buildlink3.mk"
.include "../../x11/qt4-libs/buildlink3.mk"
.include "../../x11/qt4-tools/buildlink3.mk"
-.include "../../mk/oss.buildlink3.mk"
.include "../../mk/bsd.pkg.mk"
diff --git a/multimedia/ssr/distinfo b/multimedia/ssr/distinfo
index 430fa7d5567..57fd6095d59 100644
--- a/multimedia/ssr/distinfo
+++ b/multimedia/ssr/distinfo
@@ -1,7 +1,9 @@
-$NetBSD: distinfo,v 1.1 2016/02/08 01:17:53 markd Exp $
+$NetBSD: distinfo,v 1.2 2016/02/08 20:43:32 markd Exp $
SHA1 (ssr-0.3.6.tar.gz) = 20f126aeebf6ca2480898de02efb13f46471aaad
RMD160 (ssr-0.3.6.tar.gz) = 9e9c631a330e8d92c7ea3379b062be6892bdd313
SHA512 (ssr-0.3.6.tar.gz) = 54e07050ae58c2d59327b13be6613754ada26891c157c6e9d121db2658508245c8f9a6c92921fdc125cdf82611099abf9c89d64ee093a6592fc81fb9c96cb09d
Size (ssr-0.3.6.tar.gz) = 1640585 bytes
SHA1 (patch-configure) = d92853ae320506da18ccaec91c5eb525d7d3b5a2
+SHA1 (patch-glinject_Hook.cpp) = b3e804e2e317194d99eeb634aa9fd3d565f18940
+SHA1 (patch-glinject_elfhacks.c) = 4d416e0ea6b160d34583e737ba5bd1981a8a94ef
diff --git a/multimedia/ssr/patches/patch-glinject_Hook.cpp b/multimedia/ssr/patches/patch-glinject_Hook.cpp
new file mode 100644
index 00000000000..2c114990f94
--- /dev/null
+++ b/multimedia/ssr/patches/patch-glinject_Hook.cpp
@@ -0,0 +1,17 @@
+$NetBSD: patch-glinject_Hook.cpp,v 1.1 2016/02/08 20:43:32 markd Exp $
+
+Linux gets environ from unistd.h
+
+--- glinject/Hook.cpp.orig 2015-11-02 21:13:49.000000000 +0000
++++ glinject/Hook.cpp
+@@ -15,6 +15,10 @@ THE SOFTWARE IS PROVIDED "AS IS" AND THE
+ #include <GL/glx.h>
+ #include <X11/X.h>
+
++#ifdef __NetBSD__
++extern char **environ;
++#endif
++
+ typedef void (*GLXextFuncPtr)(void);
+
+ void InitGLInject();
diff --git a/multimedia/ssr/patches/patch-glinject_elfhacks.c b/multimedia/ssr/patches/patch-glinject_elfhacks.c
new file mode 100644
index 00000000000..91827a7a11e
--- /dev/null
+++ b/multimedia/ssr/patches/patch-glinject_elfhacks.c
@@ -0,0 +1,20 @@
+$NetBSD: patch-glinject_elfhacks.c,v 1.1 2016/02/08 20:43:32 markd Exp $
+
+NetBSD doesn't know about DT_GNU_HASH
+
+--- glinject/elfhacks.c.orig 2015-11-02 21:13:49.000000000 +0000
++++ glinject/elfhacks.c
+@@ -198,11 +198,13 @@ int eh_init_obj(eh_obj_t *obj)
+ return ENOTSUP;
+
+ obj->hash = (ElfW(Word) *) obj->dynamic[p].d_un.d_ptr;
++#ifdef DT_GNU_HASH
+ } else if (obj->dynamic[p].d_tag == DT_GNU_HASH) {
+ if (obj->gnu_hash)
+ return ENOTSUP;
+
+ obj->gnu_hash = (Elf32_Word *) obj->dynamic[p].d_un.d_ptr;
++#endif
+ } else if (obj->dynamic[p].d_tag == DT_SYMTAB) {
+ if (obj->symtab)
+ return ENOTSUP;