From fb930f28bff4a4b4b37444e3f570904d6db3d06e Mon Sep 17 00:00:00 2001 From: root Date: Fri, 22 Jun 2012 00:01:45 +0000 Subject: Fri Jun 22 00:01:45 UTC 2012 --- community-staging/motion/PKGBUILD | 54 ++------- community-staging/motion/ffmpeg-compat.patch | 172 +++++++++++++++++++++++++++ 2 files changed, 181 insertions(+), 45 deletions(-) create mode 100644 community-staging/motion/ffmpeg-compat.patch (limited to 'community-staging/motion') diff --git a/community-staging/motion/PKGBUILD b/community-staging/motion/PKGBUILD index 8387624c0..00edf7064 100644 --- a/community-staging/motion/PKGBUILD +++ b/community-staging/motion/PKGBUILD @@ -1,75 +1,39 @@ -# $Id: PKGBUILD 72669 2012-06-18 22:08:51Z spupykin $ +# $Id: PKGBUILD 72698 2012-06-20 10:30:24Z spupykin $ # Maintainer: Sergej Pupykin pkgname=motion pkgver=3.2.12 -pkgrel=5 +pkgrel=6 pkgdesc="A software motion detector which grabs images from video4linux devices and/or from webcams" arch=('i686' 'x86_64') license=('GPL') url="http://www.lavrsen.dk/twiki/bin/view/Motion/WebHome" -depends=('libjpeg' 'v4l-utils') - -# ffmpeg workaround -depends=(${depends[@]} speex libpulse bzip2 lame xvidcore opencore-amr libvpx libva sdl openjpeg rtmpdump gsm schroedinger libtheora x264) -makedepends=(alsa-lib bzip2 gsm lame libpulse libtheora libva libvorbis libvpx opencore-amr openjpeg - rtmpdump schroedinger sdl speex x264 xvidcore zlib yasm libvdpau) - +depends=('libjpeg' 'v4l-utils' 'ffmpeg-compat') backup=('etc/motion/motion.conf') options=('!makeflags') source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.gz rc.motion ffmpeg-0.8.patch linux-headers.patch - ftp://ftp.archlinux.org/other/ffmpeg/ffmpeg-20120509.tar.xz) + ffmpeg-compat.patch) md5sums=('1ba0065ed50509aaffb171594c689f46' '2e8c53c4980edddd420f08fdd572c9be' 'd36687710837d69fbce4608b1345fa34' 'd8c3c4fdded5cfbd729710475559a21d' - 'a35359e424608f369d380f03e4dc9966') + 'e85c596292aceb425fcf17e5072e2fff') build() { - cd $srcdir/ffmpeg - ./configure \ - --prefix=$srcdir/ffmpeg \ - --enable-libmp3lame \ - --enable-libvorbis \ - --enable-libxvid \ - --enable-libx264 \ - --enable-libvpx \ - --enable-libtheora \ - --enable-libgsm \ - --enable-libspeex \ - --enable-postproc \ - --enable-x11grab \ - --enable-libopencore_amrnb \ - --enable-libopencore_amrwb \ - --enable-libschroedinger \ - --enable-libopenjpeg \ - --enable-librtmp \ - --enable-libpulse \ - --enable-gpl \ - --enable-version3 \ - --enable-runtime-cpudetect \ - --disable-debug \ - --enable-static \ - --disable-shared - make - make install - - cd "${srcdir}/${pkgname}-${pkgver}" + export PKG_CONFIG_PATH=/usr/lib/ffmpeg-compat/pkgconfig:$PKG_CONFIG_PATH patch -Np1 -i $srcdir/ffmpeg-0.8.patch patch -Np1 -i $srcdir/linux-headers.patch - - # ffmpeg workaround - export LDFLAGS="-ldl -lX11 -lXext -lXfixes -lva -lasound -lSDL -lpthread -lxvidcore -lx264 -lvpx -lvpx -lvorbisenc -lvorbis -logg -ltheoraenc -ltheoradec -logg -lspeex -lschroedinger-1.0 -lrtmp -lz -lssl -lcrypto -lpulse-simple -lpulse -lopenjpeg -lopencore-amrwb -lopencore-amrnb -lmp3lame -lgsm -lm -pthread -lbz2 -lz" - + patch -Np1 -i $srcdir/ffmpeg-compat.patch + autoreconf ./configure --prefix=/usr \ --without-pgsql \ --without-mysql \ --sysconfdir=/etc/motion \ - --with-ffmpeg=$srcdir/ffmpeg + --with-ffmpeg make } diff --git a/community-staging/motion/ffmpeg-compat.patch b/community-staging/motion/ffmpeg-compat.patch new file mode 100644 index 000000000..278166e18 --- /dev/null +++ b/community-staging/motion/ffmpeg-compat.patch @@ -0,0 +1,172 @@ +diff -wbBur motion-3.2.12/configure.in motion-3.2.12.q/configure.in +--- motion-3.2.12/configure.in 2010-06-01 10:48:23.000000000 +0400 ++++ motion-3.2.12.q/configure.in 2012-06-20 13:51:42.000000000 +0400 +@@ -290,163 +290,11 @@ + fi + + +-# +-# Check for libavcodec and libavformat from ffmpeg +-# +-FFMPEG_DIR="yes" +-FFMPEG_OK="no_found" +-FFMPEG_OBJ="" +-AC_ARG_WITH(ffmpeg, +-[ --with-ffmpeg[=DIR] Specify the prefix for the install path for +- libavcodec/libavformat (part of ffmpeg) be able to +- encode mpeg movies realtime. +- If this is not specified motion will try to find +- the libraries in /usr and /usr/local. +- ], +-FFMPEG_DIR="$withval" +-) +-# +-# --without-ffmpeg or with-ffmpeg=no +-# +-if test "${FFMPEG_DIR}" = "no"; then +- AC_MSG_CHECKING(for ffmpeg) +- AC_MSG_RESULT(skipping) +-# +-# with-ffmpeg= or nothing +-# +-else if test "${FFMPEG_DIR}" = "yes"; then +- # AUTODETECT STATIC/SHARED LIB +- AC_MSG_CHECKING(for ffmpeg autodetecting) +- +- if test -f /usr/lib64/libavcodec.a -o -f /usr/lib64/libavcodec.so && test -f /usr/lib64/libavformat.a -o -f /usr/lib64/libavformat.so ; then +- AC_MSG_RESULT(found in /usr/lib64) +- FFMPEG_OK="found" +- FFMPEG_LIB="/usr/lib64" +- FFMPEG_DIR="/usr" +- elif test -f /usr/lib/libavcodec.a -o -f /usr/lib/libavcodec.so && test -f /usr/lib/libavformat.a -o -f /usr/lib/libavformat.so ; then +- AC_MSG_RESULT(found in /usr/lib) +- FFMPEG_OK="found" +- FFMPEG_LIB="/usr/lib" +- FFMPEG_DIR="/usr" +- elif test -f /usr/local/lib/libavcodec.a -o -f /usr/local/lib/libavcodec.so && test -f /usr/local/lib/libavformat.a -o -f /usr/local/lib/libavformat.so ; then +- AC_MSG_RESULT(found in /usr/local/lib) +- FFMPEG_OK="found" +- FFMPEG_LIB="/usr/local/lib" +- FFMPEG_DIR="/usr/local" +- else +- AC_MSG_RESULT(not found) +- echo "" +- echo "**********************************************" +- echo "* libavcodec.a or libavcodec.so or *" +- echo "* libavformat.a or libavformat.so not found: *" +- echo "* ALL FFMPEG FEATURES DISABLED *" +- echo "* *" +- echo "* Please read the Motion Guide for help: *" +- echo "* http://motion.sourceforge.net *" +- echo "**********************************************" +- echo "" +- fi +-else +- AC_MSG_CHECKING(for ffmpeg in -> [${FFMPEG_DIR}] <-) +- if test -f ${FFMPEG_DIR}/lib/libavcodec.a -o -f ${FFMPEG_DIR}/lib/libavcodec.so && test -f ${FFMPEG_DIR}/lib/libavformat.a -o -f ${FFMPEG_DIR}/lib/libavformat.so ; then +- AC_MSG_RESULT(found) +- FFMPEG_OK="found" +- FFMPEG_LIB="${FFMPEG_DIR}/lib" +- elif test -f ${FFMPEG_DIR}/libavcodec.a -o -f ${FFMPEG_DIR}/libavcodec.so && test -f ${FFMPEG_DIR}/libavformat.a -o -f ${FFMPEG_DIR}/libavformat.so ; then +- AC_MSG_RESULT(found) +- FFMPEG_LIB="${FFMPEG_DIR}" +- FFMPEG_OK="found" +- else +- AC_MSG_RESULT(not found) +- if test "${FFMPEG_OK}" != "found"; then +- echo "" +- echo "**********************************************" +- echo "* libavcodec.a or libavcodec.so or *" +- echo "* libavformat.a or libavformat.so not found: *" +- echo "* ALL FFMPEG FEATURES DISABLED *" +- echo "* *" +- echo "* Please read the Motion Guide for help: *" +- echo "* http://motion.sourceforge.net *" +- echo "**********************************************" +- echo "" +- fi +- fi +-fi +- +-# +-# Now check for ffmpeg headers ( avformat.h ) if ffmpeg libs were found +-# +- +-if test "${FFMPEG_OK}" = "found"; then +- AC_MSG_CHECKING(for ffmpeg headers in ${FFMPEG_DIR}) +- +- if test -f ${FFMPEG_DIR}/include/avformat.h; then +- AC_MSG_RESULT(found ${FFMPEG_DIR}/include/avformat.h) +- FFMPEG_CFLAGS="-I${FFMPEG_DIR}/include" +- elif test -f ${FFMPEG_DIR}/avformat.h; then +- AC_MSG_RESULT(found ${FFMPEG_DIR}/avformat.h) +- FFMPEG_CFLAGS="-I${FFMPEG_DIR}" +- elif test -f ${FFMPEG_DIR}/include/ffmpeg/avformat.h; then +- AC_MSG_RESULT(found ${FFMPEG_DIR}/include/ffmpeg/avformat.h) +- FFMPEG_CFLAGS="-I${FFMPEG_DIR}/include/ffmpeg" +- elif test -f ${FFMPEG_DIR}/include/libavformat/avformat.h; then +- AC_MSG_RESULT(found ${FFMPEG_DIR}/include/libavformat/avformat.h) +- FFMPEG_CFLAGS="-I${FFMPEG_DIR}/include -DFFMPEG_NEW_INCLUDES" +- elif test -f ${FFMPEG_DIR}/include/ffmpeg/libavformat/avformat.h; then +- AC_MSG_RESULT(found ${FFMPEG_DIR}/include/ffmpeg/libavformat/avformat.h) +- FFMPEG_CFLAGS="-I${FFMPEG_DIR}/include/ffmpeg -DFFMPEG_NEW_INCLUDES" +- else +- AC_MSG_RESULT(not found) +- FFMPEG_OK="no_found" +- echo "**********************************************" +- echo "* avformat.h not found: *" +- echo "* ALL FFMPEG FEATURES DISABLED *" +- echo "* *" +- echo "* Please read the Motion Guide for help: *" +- echo "* http://motion.sourceforge.net *" +- echo "**********************************************" +- echo "" +- fi +- +-# +-# If ffmpeg libs and headers have been found +-# +- +- if test "${FFMPEG_OK}" = "found"; then +- TEMP_LIBS="$TEMP_LIBS -L${FFMPEG_LIB} -lavformat -lavcodec -lavutil -lm -lz" +- TEMP_LDFLAGS="${TEMP_LDFLAGS} -L${FFMPEG_LIB}" +- TEMP_CFLAGS="${TEMP_CFLAGS} -DHAVE_FFMPEG ${FFMPEG_CFLAGS}" +- +- FFMPEG_OBJ="ffmpeg.o" +- AC_SUBST(FFMPEG_OBJ) +- +- AC_MSG_CHECKING([file_protocol is defined in ffmpeg ?]) +- saved_CFLAGS=$CFLAGS +- saved_LIBS=$LIBS +- CFLAGS="${FFMPEG_CFLAGS}" +- LIBS="$TEMP_LIBS" +- +- AC_COMPILE_IFELSE( +- [ +- #include +- URLProtocol test_file_protocol; +- int main(void){ +- test_file_protocol.url_read = file_protocol.url_read; +- return 0; +- } +- ], +- [AC_MSG_RESULT(yes)], +- [ +- AC_MSG_RESULT(no) +- TEMP_CFLAGS="${TEMP_CFLAGS} -DHAVE_FFMPEG_NEW" +- ] +- ) +- CFLAGS=$saved_CFLAGS +- LIBS=$saved_LIBS +- fi +-fi +-fi +- ++TEMP_CFLAGS+=" `pkg-config --cflags libavformat libavcodec` -DHAVE_FFMPEG -DFFMPEG_NEW_INCLUDES -DHAVE_FFMPEG_NEW" ++TEMP_LIBS+=" `pkg-config --libs libavformat libavcodec` -lavutil -Wl,-rpath /usr/lib/ffmpeg-compat" ++FFMPEG_OK=found ++FFMPEG_OBJ="ffmpeg.o" ++AC_SUBST(FFMPEG_OBJ) + + # + # Check Mysql -- cgit v1.2.3-54-g00ecf