summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFabian Groffen <grobian@gentoo.org>2019-06-18 15:01:09 +0200
committerFabian Groffen <grobian@gentoo.org>2019-06-18 15:01:09 +0200
commitcf465a06e5ccb8bea6b279ed43d0150d21a5271f (patch)
tree483538a296567370b41129498a56a00f691c60ea /media-libs/libdv
parentmedia-gfx/imagemagick: drop old (diff)
downloadgentoo-cf465a06e5ccb8bea6b279ed43d0150d21a5271f.tar.gz
gentoo-cf465a06e5ccb8bea6b279ed43d0150d21a5271f.tar.bz2
gentoo-cf465a06e5ccb8bea6b279ed43d0150d21a5271f.zip
media-libs/libdv: add fixes for Prefix
Closes: https://bugs.gentoo.org/681642 Signed-off-by: Fabian Groffen <grobian@gentoo.org> Package-Manager: Portage-2.3.66, Repoman-2.3.11
Diffstat (limited to 'media-libs/libdv')
-rw-r--r--media-libs/libdv/files/libdv-1.0.0-darwin.patch52
-rw-r--r--media-libs/libdv/files/libdv-1.0.0-solaris.patch153
-rw-r--r--media-libs/libdv/libdv-1.0.0-r4.ebuild52
3 files changed, 257 insertions, 0 deletions
diff --git a/media-libs/libdv/files/libdv-1.0.0-darwin.patch b/media-libs/libdv/files/libdv-1.0.0-darwin.patch
new file mode 100644
index 000000000000..c6d48d5a6949
--- /dev/null
+++ b/media-libs/libdv/files/libdv-1.0.0-darwin.patch
@@ -0,0 +1,52 @@
+* grobian@gentoo.org: Darwin 8 lacks sched_setscheduler
+
+https://sourceforge.net/tracker/index.php?func=detail&aid=2606558&group_id=4393&atid=304393
+
+--- configure.ac
++++ configure.ac
+@@ -244,7 +244,7 @@
+
+ dnl Checks for library functions.
+ AC_FUNC_MMAP
+-AC_CHECK_FUNCS(gettimeofday)
++AC_CHECK_FUNCS(gettimeofday sched_get_priority_max sched_setscheduler)
+
+ AC_SUBST(ac_aux_dir)
+ AC_SUBST(RPM_RELEASE)
+--- configure
++++ configure
+@@ -22621,7 +22621,7 @@
+ rm -f conftest.mmap
+
+
+-for ac_func in gettimeofday
++for ac_func in gettimeofday sched_get_priority_max sched_setscheduler
+ do
+ as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+ { echo "$as_me:$LINENO: checking for $ac_func" >&5
+--- config.h.in
++++ config.h.in
+@@ -24,6 +24,12 @@
+ /* Define to 1 if you have the `gettimeofday' function. */
+ #undef HAVE_GETTIMEOFDAY
+
++/* Define to 1 if you have the `sched_get_priority_max' function. */
++#undef HAVE_SCHED_GET_PRIORITY_MAX
++
++/* Define to 1 if you have the `sched_setscheduler' function. */
++#undef HAVE_SCHED_SETSCHEDULER
++
+ /* Define as 1 if you have gtk */
+ #undef HAVE_GTK
+
+--- encodedv/dvconnect.c
++++ encodedv/dvconnect.c
+@@ -860,7 +860,7 @@
+
+ int rt_raisepri (int pri)
+ {
+-#ifdef _SC_PRIORITY_SCHEDULING
++#if defined(_SC_PRIORITY_SCHEDULING) && defined(HAVE_SCHED_GET_PRIORITY_MAX) && defined(HAVE_SCHED_SETSCHEDULER)
+ struct sched_param scp;
+
+ /*
diff --git a/media-libs/libdv/files/libdv-1.0.0-solaris.patch b/media-libs/libdv/files/libdv-1.0.0-solaris.patch
new file mode 100644
index 000000000000..e9cb440022af
--- /dev/null
+++ b/media-libs/libdv/files/libdv-1.0.0-solaris.patch
@@ -0,0 +1,153 @@
+* grobian@gentoo.org: patches for Solaris, include sys/filio.h for
+ _IOWR, need -lrt for sched_* funcs
+
+https://sourceforge.net/tracker/index.php?func=detail&aid=2603455&group_id=4393&atid=304393
+
+--- configure.ac
++++ configure.ac
+@@ -208,6 +208,8 @@
+
+
+ AC_CHECK_LIB(m, sqrt)
++# Solaris has sched_* in -lrt
++AC_CHECK_LIB(rt, sched_get_priority_max)
+
+ dnl Don't bother with popt on non-gcc build, because we make heavy use of
+ dnl gcc struct initialization extension in our popt code. (Could be fixed)
+@@ -231,7 +231,7 @@
+ AC_PATH_X
+ AC_HEADER_STDC
+ AC_CHECK_HEADERS(fcntl.h sys/time.h unistd.h linux/videodev.h sys/soundcard.h \
+-endian.h machine/endian.h inttypes.h)
++endian.h machine/endian.h inttypes.h sys/filio.h)
+
+ dnl Checks for typedefs, structures, and compiler characteristics.
+ AC_C_CONST
+--- configure
++++ configure
+@@ -20895,6 +20895,92 @@
+
+ fi
+
++{ echo "$as_me:$LINENO: checking for sched_get_priority_max in -lrt" >&5
++echo $ECHO_N "checking for sched_get_priority_max in -lrt... $ECHO_C" >&6; }
++if test "${ac_cv_lib_rt_sched_get_priority_max+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lrt $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char sched_get_priority_max ();
++int
++main ()
++{
++return sched_get_priority_max ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { (case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_try") 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; } &&
++ { ac_try='test -s conftest$ac_exeext'
++ { (case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_try") 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ ac_cv_lib_rt_sched_get_priority_max=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_rt_sched_get_priority_max=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_rt_sched_get_priority_max" >&5
++echo "${ECHO_T}$ac_cv_lib_rt_sched_get_priority_max" >&6; }
++if test $ac_cv_lib_rt_sched_get_priority_max = yes; then
++ cat >>confdefs.h <<_ACEOF
++#define HAVE_LIBRT 1
++_ACEOF
++
++ LIBS="-lrt $LIBS"
++
++fi
++
+
+ REQUIRES_NOPKGCONFIG=""
+ if test "$GCC" = "yes"; then
+@@ -21461,7 +21461,7 @@
+
+
+ for ac_header in fcntl.h sys/time.h unistd.h linux/videodev.h sys/soundcard.h \
+-endian.h machine/endian.h inttypes.h
++endian.h machine/endian.h inttypes.h sys/filio.h
+ do
+ as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+--- config.h.in
++++ config.h.in
+@@ -30,6 +30,9 @@
+ /* Define to 1 if you have the <inttypes.h> header file. */
+ #undef HAVE_INTTYPES_H
+
++/* Define to 1 if you have the <sys/filio.h> header file. */
++#undef HAVE_SYS_FILIO_H
++
+ /* Define to 1 if you have the `m' library (-lm). */
+ #undef HAVE_LIBM
+
+--- encodedv/dvconnect.c
++++ encodedv/dvconnect.c
+@@ -31,6 +31,9 @@
+
+ #include <stdio.h>
+ #include <sys/ioctl.h>
++#ifdef HAVE_SYS_FILIO_H
++#include <sys/filio.h>
++#endif
+ #include <sys/mman.h>
+ #include <sys/time.h>
+ #include <unistd.h>
diff --git a/media-libs/libdv/libdv-1.0.0-r4.ebuild b/media-libs/libdv/libdv-1.0.0-r4.ebuild
new file mode 100644
index 000000000000..4dc11d3f79b4
--- /dev/null
+++ b/media-libs/libdv/libdv-1.0.0-r4.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+
+inherit epatch epunt-cxx libtool ltprune flag-o-matic multilib-minimal
+
+DESCRIPTION="Software codec for dv-format video (camcorders etc)"
+HOMEPAGE="http://libdv.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz
+ mirror://gentoo/${PN}-1.0.0-pic.patch.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x86-solaris"
+IUSE="static-libs"
+
+RDEPEND="dev-libs/popt"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+DOCS=( AUTHORS ChangeLog INSTALL NEWS TODO )
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-0.99-2.6.patch
+ epatch "${WORKDIR}"/${PN}-1.0.0-pic.patch
+ epatch "${FILESDIR}"/${PN}-1.0.0-solaris.patch
+ epatch "${FILESDIR}"/${PN}-1.0.0-darwin.patch
+ elibtoolize
+ epunt_cxx #74497
+
+ append-cppflags "-I${S}"
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" econf \
+ $(use_enable static-libs static) \
+ --without-debug \
+ --disable-gtk \
+ --disable-gtktest \
+ $([[ ${CHOST} == *86*-darwin* ]] && echo "--disable-asm")
+ if ! multilib_is_native_abi ; then
+ sed -i \
+ -e 's/ encodedv//' \
+ Makefile || die
+ fi
+}
+
+multilib_src_install_all() {
+ prune_libtool_files --all
+ einstalldocs
+}