From cf465a06e5ccb8bea6b279ed43d0150d21a5271f Mon Sep 17 00:00:00 2001 From: Fabian Groffen Date: Tue, 18 Jun 2019 15:01:09 +0200 Subject: media-libs/libdv: add fixes for Prefix Closes: https://bugs.gentoo.org/681642 Signed-off-by: Fabian Groffen Package-Manager: Portage-2.3.66, Repoman-2.3.11 --- media-libs/libdv/files/libdv-1.0.0-darwin.patch | 52 ++++++++ media-libs/libdv/files/libdv-1.0.0-solaris.patch | 153 +++++++++++++++++++++++ media-libs/libdv/libdv-1.0.0-r4.ebuild | 52 ++++++++ 3 files changed, 257 insertions(+) create mode 100644 media-libs/libdv/files/libdv-1.0.0-darwin.patch create mode 100644 media-libs/libdv/files/libdv-1.0.0-solaris.patch create mode 100644 media-libs/libdv/libdv-1.0.0-r4.ebuild (limited to 'media-libs/libdv') 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 header file. */ + #undef HAVE_INTTYPES_H + ++/* Define to 1 if you have the 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 + #include ++#ifdef HAVE_SYS_FILIO_H ++#include ++#endif + #include + #include + #include 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 +} -- cgit v1.2.3-65-gdbad