From ffd55fee8e806f847e2cecda8ebed48762018b4b Mon Sep 17 00:00:00 2001 From: Nishant Limbachia Date: Tue, 6 Jul 2010 01:15:25 -0400 Subject: [PATCH] multimedia/gpac: Added (multimedia framework) Signed-off-by: dsomero --- multimedia/gpac/README | 10 ++ multimedia/gpac/gpac.SlackBuild | 123 +++++++++++++++++++++++ multimedia/gpac/gpac.info | 10 ++ multimedia/gpac/libpng-infopp-null.patch | 11 ++ multimedia/gpac/slack-desc | 19 ++++ 5 files changed, 173 insertions(+) create mode 100644 multimedia/gpac/README create mode 100644 multimedia/gpac/gpac.SlackBuild create mode 100644 multimedia/gpac/gpac.info create mode 100644 multimedia/gpac/libpng-infopp-null.patch create mode 100644 multimedia/gpac/slack-desc diff --git a/multimedia/gpac/README b/multimedia/gpac/README new file mode 100644 index 0000000000..d5a8876668 --- /dev/null +++ b/multimedia/gpac/README @@ -0,0 +1,10 @@ +GPAC is mainly used to package multimedia content for local or streaming +playback. GPAC includes MP4Box utility which lets packaging of +various audio and video codecs into mp4 container + +Dependencies: +REQUIRED: ffmpeg xvidcore faad2 a52dec +OPTIONAL: wxGTK + +wxGTK is disabled by default, can be turned on by passing WX_SUPPORT=yes +to the script \ No newline at end of file diff --git a/multimedia/gpac/gpac.SlackBuild b/multimedia/gpac/gpac.SlackBuild new file mode 100644 index 0000000000..e78141d982 --- /dev/null +++ b/multimedia/gpac/gpac.SlackBuild @@ -0,0 +1,123 @@ +#!/bin/sh + +# Slackware Package Build Script for gpac +# Home Page http://gpac.sourceforge.net/ + +# Copyright (c) 2007-2010, Nishant Limbachia, Hoffman Estates, IL, USA (nishant _AT_ mnspace _DOT_ net) +# All rights reserved. + +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: + +# 1. Redistributions of script must retain the above copyright notice, +# this list of conditions and the following disclaimer. + +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +PRGNAM=gpac +VERSION=0.4.5 +BUILD=${BUILD:-3} +TAG=${TAG:-_SBo} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i486 ;; + arm*) ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) ARCH=$( uname -m ) ;; + esac +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +### wxwidgets support +if [ "${WX_SUPPORT:-no}" = "no" ]; then + wx_option="--disable-wx" +else + wx_option="--enable-wx" +fi + +rm -rf $PKG $TMP/$PRGNAM-$VERSION +mkdir -p $TMP $PKG $OUTPUT + +cd $TMP +tar xvf $CWD/$PRGNAM-$VERSION.tar.?z* +mv $TMP/$PRGNAM $TMP/$PRGNAM-$VERSION +cd $TMP/$PRGNAM-$VERSION +chown -R root.root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +( cd src/media_tools; patch -p0 < $CWD/libpng-infopp-null.patch ) + +### fix configure script perms +chmod u+x configure + +./configure --prefix=/usr \ + --mandir=/usr/man \ + --disable-opt \ + --cpu=${ARCH} \ + --extra-cflags="$SLKCFLAGS" \ + --disable-ipv6 \ + $wx_option + +make -j1 # Parallel build seems to fail +make install DESTDIR=$PKG + +### remove $PKG/usr/share/gpac directory +### only contains gpac.mp4 file which +### doesn't seem to play with mplayer +rm -fr $PKG/usr/share + +### copying essential doc files +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION + +cp -a AUTHORS COPYING BUGS Changelog INSTALLME \ +README TODO doc/configuration.html $PKG/usr/doc/$PRGNAM-$VERSION + +### strip binaries +find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true + +# find and compress man pages +find $PKG/usr/man -type f -exec gzip -9 {} \; +for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done + +### putting slack-desc and doinst.sh in place +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +### building package +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} diff --git a/multimedia/gpac/gpac.info b/multimedia/gpac/gpac.info new file mode 100644 index 0000000000..79d4851c6d --- /dev/null +++ b/multimedia/gpac/gpac.info @@ -0,0 +1,10 @@ +PRGNAM="gpac" +VERSION="0.4.5" +HOMEPAGE="http://gpac.sourceforge.net/" +DOWNLOAD="http://downloads.sourceforge.net/gpac/gpac-0.4.5.tar.gz" +MD5SUM="755e8c438a48ebdb13525dd491f5b0d1" +DOWNLOAD_x86_64="" +MD5SUM_x86_64="" +MAINTAINER="Nishant Limbachia" +EMAIL="nishant@mnspace.net" +APPROVED="dsomero" diff --git a/multimedia/gpac/libpng-infopp-null.patch b/multimedia/gpac/libpng-infopp-null.patch new file mode 100644 index 0000000000..58205fd769 --- /dev/null +++ b/multimedia/gpac/libpng-infopp-null.patch @@ -0,0 +1,11 @@ +--- img.c.orig 2010-05-27 22:20:32.758633643 -0500 ++++ img.c 2010-05-27 22:21:49.263633070 -0500 +@@ -551,7 +551,7 @@ + /* Allocate/initialize the image information data. REQUIRED */ + info_ptr = png_create_info_struct(png_ptr); + if (info_ptr == NULL) { +- png_destroy_write_struct(&png_ptr, png_infopp_NULL); ++ png_destroy_write_struct(&png_ptr, NULL); + return GF_IO_ERR; + } + diff --git a/multimedia/gpac/slack-desc b/multimedia/gpac/slack-desc new file mode 100644 index 0000000000..766cbca2f0 --- /dev/null +++ b/multimedia/gpac/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler-----------------------------------------------------| +gpac: GPAC (multimedia framework oriented towards rich media) +gpac: +gpac: GPAC is a multimedia framework oriented towards rich media +gpac: GPAC supports many multimedia formats, from simple audiovisual +gpac: containers (avi, mov, mpg) to complex presentation formats +gpac: (MPEG-4 Systems, VRML/X3D, some SVG). GPAC supports scripting +gpac: of presentation for MPEG4/VRML/X3D through mozilla SpiderMonkey +gpac: javascript engine. GPAC also features MP4Box, a multimedia +gpac: swiss-army knife. +gpac: +gpac: http://gpac.sourceforge.net