aboutsummaryrefslogtreecommitdiff
path: root/media
diff options
context:
space:
mode:
authorrudson <rudson@370017ae-e619-0410-ac65-c121f96126d4>2006-11-16 00:20:35 +0000
committerrudson <rudson@370017ae-e619-0410-ac65-c121f96126d4>2006-11-16 00:20:35 +0000
commitbffe9dbb2ff1b3aaf3e2908dbe96b648ea5fed73 (patch)
tree182eeae16bb99fdbcc33f2ff16dbe52631a0cd50 /media
parenta7989aa2b287865fa917f27e8460a4be6722c938 (diff)
downloadslackbuilds-bffe9dbb2ff1b3aaf3e2908dbe96b648ea5fed73.tar.gz
slackbuilds-bffe9dbb2ff1b3aaf3e2908dbe96b648ea5fed73.tar.bz2
movendo libs...
git-svn-id: svn+slack://slack.fluxo.info/var/svn/slackbuilds@704 370017ae-e619-0410-ac65-c121f96126d4
Diffstat (limited to 'media')
-rwxr-xr-xmedia/libs/libdc1394/libdc1394.SlackBuild118
-rw-r--r--media/libs/libdc1394/slack-required1
-rw-r--r--media/libs/libdv/libdv-0.104.diff1383
-rwxr-xr-xmedia/libs/libdv/libdv.SlackBuild130
-rwxr-xr-xmedia/libs/libdvdcss/libdvdcss.SlackBuild203
-rwxr-xr-xmedia/libs/libdvdplay/libdvdplay.SlackBuild201
-rw-r--r--media/libs/libdvdplay/slack-required1
-rwxr-xr-xmedia/libs/libdvdread/libdvdread.SlackBuild201
-rw-r--r--media/libs/libdvdread/slack-required1
-rwxr-xr-xmedia/libs/libexif-gtk/libexif-gtk.SlackBuild124
-rwxr-xr-xmedia/libs/libgc/libgc.SlackBuild118
11 files changed, 2481 insertions, 0 deletions
diff --git a/media/libs/libdc1394/libdc1394.SlackBuild b/media/libs/libdc1394/libdc1394.SlackBuild
new file mode 100755
index 00000000..b8ea1dd6
--- /dev/null
+++ b/media/libs/libdc1394/libdc1394.SlackBuild
@@ -0,0 +1,118 @@
+#!/bin/bash
+#
+# slackbuild script for pwlib
+# by rafael at riseup.net
+#
+
+if [ -s "slack-required" ]; then
+ echo Recomended and required packages for building libdc1394 are:
+ cat slack-required | sed -e 's/^/\t/'
+ if [ "$INTERACT" != "no" ]; then
+ echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
+ read crap
+# else
+# echo Sleeping 3 seconds...
+# sleep 3
+ fi
+fi
+
+CWD="`pwd`"
+
+if [ -f ~/.slackbuildrc ]; then
+ source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+ source /etc/slackbuildrc
+fi
+
+# default settings
+PACKAGE="libdc1394"
+ARCH=${ARCH:=i486}
+VERSION=${VERSION:=1.2.1}
+BUILD=${BUILD:=1rd}
+SRC_DIR=${SRC:=$CWD}
+TMP=${TMP:=/tmp}
+REPOS=${REPOS:=$TMP}
+
+if [ "$ARCH" == "x86_64" ]; then
+ LIBDIR=/usr/lib64
+else
+ LIBDIR=/usr/lib
+fi
+
+RTOOL="wget"
+PACKAGE_EXT="gz"
+SRC="$PACKAGE-$VERSION.tar.$PACKAGE_EXT"
+URL="http://ufpr.dl.sourceforge.net/sourceforge/libdc1394/$SRC"
+
+SRC_DIR="$SRC_DIR/$PACKAGE"
+mkdir -p $SRC_DIR
+
+if [ "$PACKAGE_EXT" == "bz2" ]; then
+ tarflag="j"
+else
+ tarflag="z"
+fi
+
+if [ "$RTOOL" == "wget" ] && [ ! -f "$SRC_DIR/$SRC" ]; then
+ wget "$URL" -O "$SRC_DIR/$SRC"
+fi
+
+TMP="$TMP/$PACKAGE"
+rm -rf $TMP
+mkdir -p $TMP
+cd $TMP
+
+tar xvf$tarflag $SRC_DIR/$SRC
+cd $PACKAGE-$VERSION
+
+if [ -f "$CWD/$PACKAGE-$VERSION.diff" ]; then
+ patch -p1 < $CWD/$PACKAGE-$VERSION.diff
+fi
+
+./configure --prefix=/usr --sysconfdir=/etc --libdir=$LIBDIR --with-docdir=/usr/doc/$PACKAGE-$VERSION
+make || exit 32
+make DESTDIR=$TMP/package-$PACKAGE install
+
+CWD="`pwd`"
+
+cd $TMP/package-$PACKAGE
+
+find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+mkdir install
+cat << EOF > install/slack-desc
+# 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-----------------------------------------------------|
+libdc1394: libdc1394 (Libdc1394 is a library for control of 1394 cameras)
+libdc1394:
+libdc1394: libdc1394 is a library that is intended to provide a high level
+libdc1394: programming interface for application developers who wish to control
+libdc1394: IEEE 1394 based cameras that conform to the 1394-based Digital Camera
+libdc1394: Specification (found at http://www.1394ta.org/).
+libdc1394:
+libdc1394:
+libdc1394:
+libdc1394: http://damien.douxchamps.net/ieee1394/libdc1394/
+libdc1394:
+EOF
+
+# docs
+mkdir -p usr/doc/$PACKAGE-$VERSION
+
+for file in AUTHORS COPYING ChangeLog INSTALL NEWS README;do
+ cp $CWD/$file* usr/doc/$PACKAGE-$VERSION/
+done
+
+makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz
+
+if [ "$CLEANUP" == "yes" ]; then
+ rm -rf $TMP
+fi
+
diff --git a/media/libs/libdc1394/slack-required b/media/libs/libdc1394/slack-required
new file mode 100644
index 00000000..8bc743d3
--- /dev/null
+++ b/media/libs/libdc1394/slack-required
@@ -0,0 +1 @@
+libraw1394
diff --git a/media/libs/libdv/libdv-0.104.diff b/media/libs/libdv/libdv-0.104.diff
new file mode 100644
index 00000000..6d1ef4e5
--- /dev/null
+++ b/media/libs/libdv/libdv-0.104.diff
@@ -0,0 +1,1383 @@
+--- libdv-0.104.orig/debian/copyright
++++ libdv-0.104/debian/copyright
+@@ -0,0 +1,34 @@
++This package was debianized by Daniel Kobras <kobras@debian.org> on
++Sat, 10 Feb 2001 17:54:56 +0100.
++
++It was downloaded from
++
++ http://download.sourceforge.net/libdv/
++
++Upstream Authors:
++ Erik Walthinsen <omega@cse.ogi.edu>
++ Charles 'Buck' Krasic <krasic@acm.org>
++
++Copyright:
++
++ (c) 1999-2001
++ Erik Walthinsen <omega@cse.ogi.edu>
++ Charles 'Buck' Krasic <krasic@acm.org>
++
++ Individual files also contain material subject to the following
++ copyrights:
++
++ (c) 2000-2004 James Bowman
++ (c) 2001-2004 Peter Schlaile, Dan Dennedy
++ (c) 1999 Aaron Holtzman
++ (c) 2001 Daniel Maas
++ (c) 1999,2000 Sebastien Rougeaux
++ (c) 2000 Oregon Graduate Institute of Science & Technology
++
++ All program source code is distributed under the terms of the
++ GNU Lesser General Public License, Version 2.1 or later,
++ see /usr/share/common-licenses/LGPL-2.1.
++
++ The man pages are distributed under the terms of the GNU General
++ Public License, Version 2 or later, see
++ /usr/share/common-licenses/GPL.
+--- libdv-0.104.orig/debian/libdv-bin.install
++++ libdv-0.104/debian/libdv-bin.install
+@@ -0,0 +1,2 @@
++/usr/bin/*
++/usr/share/man/*/*
+--- libdv-0.104.orig/debian/libdv-bin.links
++++ libdv-0.104/debian/libdv-bin.links
+@@ -0,0 +1 @@
++usr/share/doc/libdv4 usr/share/doc/libdv-bin
+--- libdv-0.104.orig/debian/libdv-bin.manpages
++++ libdv-0.104/debian/libdv-bin.manpages
+@@ -0,0 +1,4 @@
++playdv/playdv.1
++encodedv/encodedv.1
++encodedv/dvconnect.1
++encodedv/dubdv.1
+--- libdv-0.104.orig/debian/libdv4-dev.NEWS
++++ libdv-0.104/debian/libdv4-dev.NEWS
+@@ -0,0 +1,15 @@
++libdv (0.103-1) unstable; urgency=low
++
++ Earlier versions of libdv had deprecated the use of header file dv1394.h
++ provided here. Starting with version 0.103, the libdv developers have
++ removed the header file entirely from their package. Compiling software
++ that still includes the deprecated header shall fail now, therefore.
++
++ Note that the dv1394.h has never been part of the libdv programming interface
++ and has been provided as a (historical) courtesy only. dv1394.h defines
++ solely a kernel interface. Therefore, in order to compile for a certain
++ kernel version, the kernel headers, and only the kernel headers contain the
++ authoritative header file. All application software should be modified
++ accordingly.
++
++ -- Daniel Kobras <kobras@debian.org> Thu, 15 Jul 2004 17:52:38 +0200
+--- libdv-0.104.orig/debian/libdv4-dev.install
++++ libdv-0.104/debian/libdv4-dev.install
+@@ -0,0 +1,5 @@
++/usr/lib/*.a
++/usr/lib/*.la
++/usr/lib/*.so
++/usr/lib/pkgconfig/*.pc
++/usr/include/*
+--- libdv-0.104.orig/debian/libdv4.docs
++++ libdv-0.104/debian/libdv4.docs
+@@ -0,0 +1,6 @@
++AUTHORS
++NEWS
++README
++README.encoder
++README.dvconnect
++TODO
+--- libdv-0.104.orig/debian/libdv4.install
++++ libdv-0.104/debian/libdv4.install
+@@ -0,0 +1 @@
++/usr/lib/*.so.*
+--- libdv-0.104.orig/debian/rules
++++ libdv-0.104/debian/rules
+@@ -0,0 +1,122 @@
++#!/usr/bin/make -f
++# Sample debian/rules that uses debhelper.
++# GNU copyright 1997 to 1999 by Joey Hess.
++
++# Uncomment this to turn on verbose mode.
++#export DH_VERBOSE=1
++
++# This is the debhelper compatability version to use.
++export DH_COMPAT=4
++
++include /usr/share/dpatch/dpatch.make
++
++# shared library versions, option 1
++#version=2.0.5
++#major=2
++# option 2, assuming the library is created as src/.libs/libfoo.so.2.0.5 or so
++#version=`ls libdv/.libs/lib*.so.* | \
++# awk '{if (match($$0,/[0-9]+\.[0-9]+\.[0-9]+$$/)) print substr($$0,RSTART)}'`
++#major=`ls libdv/.libs/lib*.so.* | \
++# awk '{if (match($$0,/\.so\.[0-9]+$$/)) print substr($$0,RSTART+4)}'`
++
++export DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
++export DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
++ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE))
++ libdv_confflags += --build $(DEB_HOST_GNU_TYPE)
++else
++ libdv_confflags += --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE)
++endif
++
++
++CFLAGS ?= -Wall -g
++ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
++CFLAGS += -O0
++else
++CFLAGS += -O2
++endif
++
++configure: configure-stamp
++configure-stamp:
++ dh_testdir
++ # Make sure we use the latest autotools helpers.
++ if test -f config.sub; then \
++ mv config.sub config.sub.debsave; \
++ fi
++ if test -f config.guess; then \
++ mv config.guess config.guess.debsave; \
++ fi
++
++ ln -sf /usr/share/misc/config.sub .
++ ln -sf /usr/share/misc/config.guess .
++
++ CFLAGS="$(CFLAGS)" ./configure $(libdv_confflags) \
++ --prefix=/usr --mandir=\$${prefix}/share/man \
++ --infodir=\$${prefix}/share/info --enable-sdl
++
++ touch configure-stamp
++
++build: patch-stamp configure-stamp build-stamp
++build-stamp:
++ dh_testdir
++
++ $(MAKE)
++
++ touch build-stamp
++
++clean: do-clean unpatch
++do-clean:
++ dh_testdir
++ dh_testroot
++ rm -f build-stamp configure-stamp
++
++ -$(MAKE) distclean
++
++ if test -L config.sub -a -e config.sub.debsave; then \
++ rm config.sub; \
++ if test -e config.sub.debsave; then \
++ mv config.sub.debsave config.sub; \
++ fi; \
++ fi
++ if test -L config.guess -a -e config.guess.debsave; then \
++ rm config.guess; \
++ if test -e config.guess.debsave; then \
++ mv config.guess.debsave config.guess; \
++ fi; \
++ fi
++
++ dh_clean
++
++install: build
++ dh_testdir
++ dh_testroot
++ dh_clean -k
++ dh_installdirs
++
++ $(MAKE) install DESTDIR=`pwd`/debian/tmp/
++
++
++# Build architecture-independent files here.
++binary-indep: build install
++# We have nothing to do by default.
++
++# Build architecture-dependent files here.
++binary-arch: build install
++ dh_testdir
++ dh_testroot
++ dh_install -A --sourcedir=debian/tmp # --list-missing
++ dh_installman
++ dh_link -A
++ dh_installdocs -plibdv4 -plibdv4-dev
++ dh_installchangelogs ChangeLog
++ dh_strip
++ dh_compress
++ dh_fixperms
++ dh_makeshlibs
++ dh_installdeb
++ dh_shlibdeps -L libdv4 -l debian/libdv4/usr/lib
++ dh_gencontrol
++ dh_md5sums
++ dh_builddeb
++
++binary: binary-indep binary-arch
++.PHONY: build clean binary-indep binary-arch binary install configure patch unpatch do-clean
+--- libdv-0.104.orig/debian/changelog
++++ libdv-0.104/debian/changelog
+@@ -0,0 +1,315 @@
++libdv (0.104-1ubuntu2) dapper; urgency=low
++
++ * Remove build-dependency on gcc-3.4 [amd64], not used anymore.
++
++ -- Matthias Klose <doko@ubuntu.com> Thu, 16 Feb 2006 12:37:12 +0000
++
++libdv (0.104-1ubuntu1) dapper; urgency=low
++
++ * Resynchronise with Debian.
++
++ -- Tollef Fog Heen <tfheen@ubuntu.com> Mon, 14 Nov 2005 17:00:34 +0100
++
++libdv (0.104-1) unstable; urgency=low
++
++ * New upstream version. Closes: #298366
++ * Picks up new libsdl1.2 version to complete various library
++ transitions. Closes: #318237, #320882, #321549
++ * Added patches:
++ + [01_changelog_update_CVS] New, from upstream CVS.
++ Add 0.104 changelog entry that is not part of the released 0.104
++ tarball, so subsequent patches from upstream CVS can be applied
++ without modification.
++ + [10_amd64_linkage_fix_CVS] New, from upstream CVS.
++ Fix linker compatibility problems in amd64 assembly.
++ + [10_inline_fixes_CVS] New, from upstream CVS.
++ Fix build problems when compiler does not honour the inline hint.
++ + [20_no_exec_stack_CVS] New, from upstream CVS.
++ Add linker magic so assembly functions do no longer require an
++ executable stack.
++ * Updated patches:
++ + [10_zap_config_h]
++ Extend to take care of amd64 optimisations.
++ * debian/control: Complies with standards version 3.6.2.
++ * debian/rules: Export overridden CFLAGS. Closes: #306488
++
++ -- Daniel Kobras <kobras@debian.org> Wed, 17 Aug 2005 17:23:18 +0200
++
++libdv (0.103-2ubuntu1) breezy; urgency=low
++
++ * debian/control: added gcc-3.4 to build-depends for compiling issues on
++ amd64.
++
++ -- Stephan Hermann <sh@sourcecode.de> Thu, 25 Aug 2005 08:34:55 +0200
++
++libdv (0.103-2build1) breezy; urgency=low
++
++ * Rebuild for slang2 transition
++
++ -- Stephan Hermann <sh@sourcecode.de> Wed, 24 Aug 2005 20:56:34 +0200
++
++libdv (0.103-2) unstable; urgency=low
++
++ * debian/rules: Provide separate doc directory for libdv4-dev.
++ * debian/libdv4-dev.links: No longer symlink doc dir to the one
++ from libdv4.
++ * debian/NEWS: Only install into libdv4-dev. Closes: #259694
++
++ -- Daniel Kobras <kobras@debian.org> Mon, 19 Jul 2004 12:19:44 +0200
++
++libdv (0.103-1) unstable; urgency=low
++
++ * New upstream version.
++ * Removed patches:
++ + [10_dvconnect_disable_swap] Merged upstream.
++ + [10_no_gtk_deps] Merged upstream.
++ + [10_fix_wide_format] Merged upstream.
++ * debian/NEWS: Notify about removal of previously deprecated header
++ file dv1394.h.
++ * debian/control: Adjust build dependencies following the xlibs split.
++
++ -- Daniel Kobras <kobras@debian.org> Thu, 15 Jul 2004 17:53:16 +0200
++
++libdv (0.102-4) unstable; urgency=low
++
++ * Added patches:
++ + [10_fix_wide_format] New.
++ Fix detection of 16:9 (wide) format in non-SMPTE streams.
++ Closes: #248660
++
++ -- Daniel Kobras <kobras@debian.org> Thu, 13 May 2004 17:51:59 +0200
++
++libdv (0.102-3) unstable; urgency=low
++
++ * Added patches:
++ + [10_no_gtk_deps] New.
++ Remove glib and gtk dependencies from the pkgconfig file.
++ Closes: #245037
++
++ -- Daniel Kobras <kobras@debian.org> Wed, 21 Apr 2004 09:51:55 +0200
++
++libdv (0.102-2) unstable; urgency=low
++
++ * Upload to unstable.
++
++ -- Daniel Kobras <kobras@debian.org> Tue, 20 Apr 2004 09:34:20 +0200
++
++libdv (0.102-1) experimental; urgency=low
++
++ * New upstream version.
++ + Bumps library soname because of binary incompatibility. Still
++ source-level compatible, though.
++ + New API functions dv_format_letterbox(), and dv_is_normal_speed().
++ * debian/*: Rename library packages libdv2 -> libdv4, and
++ libdv2-dev -> libdv4-dev, following the soname change.
++ * debian/rules: Remove shlibs version as we're changing the package name
++ anyway.
++
++ -- Daniel Kobras <kobras@debian.org> Sun, 28 Mar 2004 23:52:01 +0200
++
++libdv (0.101-1) unstable; urgency=low
++
++ * New upstream version.
++ * Added patches:
++ + [10_zap_config_h] New.
++ Remove dependency of dv_types.h on config.h. Replace with standard
++ guesses that will do for the scope of the Debian package.
++ Closes: #199878
++ + [11_move_config_h_to_apps] New.
++ As a consequence of the above patch, a couple of source files now need
++ to include config.h themselves.
++ + [10_dvconnect_disable_swap] New.
++ In dvconnect, keep all pages in resident memory if possible because
++ swapping kills performance. Closes: #222498
++ * debian/control: Remove leading "A" from short description.
++ * debian/control: Bump standards version.
++ * debian/control: Build depend on dpatch.
++ * debian/copyright: Updated copyright assignments.
++ * debian/libdv-bin.manpages: dvconnect.1 now available upstream, new man
++ page dubdv.1.
++ * debian/NEWS: Warn about dv1394.h update.
++ * debian/rules: Bump shlibs to >= 0.101 as this version introduces new
++ API functions.
++ * debian/rules: Convert build system to dpatch.
++ * debian/rules: Improved config.guess/config.sub backup logic.
++
++ -- Daniel Kobras <kobras@debian.org> Tue, 20 Jan 2004 00:13:07 +0100
++
++libdv (0.99-3) unstable; urgency=low
++
++ * debian/control: Oops. Priority for -dev and -bin package back to extra.
++
++ -- Daniel Kobras <kobras@debian.org> Sun, 13 Apr 2003 15:24:02 +0200
++
++libdv (0.99-2) unstable; urgency=low
++
++ * debian/control: Adjust priority to optional. Build depend on file.
++ * configure: Change deplibs check to pass_all on mips and mipsel.
++ Closes: #188682.
++
++ -- Daniel Kobras <kobras@debian.org> Sun, 13 Apr 2003 14:25:31 +0200
++
++libdv (0.99-1) unstable; urgency=low
++
++ * New upstream version
++ * libdv/audio.c: Fix typo in audio emphasis handling. [From upstream CVS]
++ * libdv/enc_output.c: Fix aaux header in encoder output. [From upstream CVS]
++ * debian/rules: Add versioned shlibs dependency because of new audio
++ sample calculator.
++ * debian/rules: Drop debug from DEB_BUILD_OPTIONS, support noopt.
++ * debian/rules: Supply configure with proper build target.
++ * debian/control: Remove full stop from short description.
++ * debian/control: Bump standards version.
++ * debian/control: libdv2-dev now lives in section libdevel.
++ * debian/*: New binary dvconnect.
++ * debian/dvconnect.1: Quick man page for dvconnect.
++
++ -- Daniel Kobras <kobras@debian.org> Tue, 1 Apr 2003 16:58:18 +0200
++
++libdv (0.98-6) unstable; urgency=low
++
++ * Namespace cleanup:
++ + libdv/*.c: Mark a batch of local symbols as static.
++ + libdv/*.[hcS]: Prefix intra-lib symbols with _dv_.
++ + encodedv/*.c: Honour internal name changes.
++
++ -- Daniel Kobras <kobras@debian.org> Tue, 10 Dec 2002 01:34:29 +0100
++
++libdv (0.98-5) unstable; urgency=low
++
++ * debian/control: Need to tighten debhelper build dep for dh_shlibdeps -L
++ flag. Closes: #170993
++ * debian/control: Complies with standards version 3.5.8.
++
++ -- Daniel Kobras <kobras@debian.org> Thu, 28 Nov 2002 10:02:20 +0100
++
++libdv (0.98-4) unstable; urgency=low
++
++ * configure.ac, */Makefile.am: Do not push any lib into LIBS. Define
++ separate macros instead, and only add to the appropriate targets.
++ Closes: #167098
++ * configure.ac: While libdv pulls a types from libpopt, it does not
++ reference any libpopt function. Adding -lpopt to REQUIRES_NOPKGCONFIG was
++ nonsense therefore--it's a purely optional feature. (The dependency on
++ libpopt-dev must be retained, however, because dv_types.h includes
++ popt.h.)
++ * Update auto-generated files because of the above.
++
++ -- Daniel Kobras <kobras@debian.org> Wed, 30 Oct 2002 18:41:48 +0100
++
++libdv (0.98-3) unstable; urgency=low
++
++ * ChangeLog, libdv/dv1394.h, libdv/encode.c, libdv/enc_audio_input.[hc]:
++ Sync with upstream CVS as of 2002-10-27. Solely adds a more complete fix
++ to the PAL overflow issue. The previously included change alone caused
++ occiasional crashes still.
++ * debian/README.Debian: YUY bug turned out to be an Xv bug really, that is
++ now fixed. Nothing to document any longer, file removed.
++ * debian/rules: Tell dh_shlibdeps to use generated libdv2 shlibs file.
++
++ -- Daniel Kobras <kobras@debian.org> Sun, 27 Oct 2002 14:11:58 +0100
++
++libdv (0.98-2) unstable; urgency=low
++
++ * libdv/dv_types.h: Fix potential overflow in audio buffer with PAL
++ frames. (From upstream CVS.)
++
++ -- Daniel Kobras <kobras@debian.org> Sun, 11 Aug 2002 23:40:57 +0200
++
++libdv (0.98-1) unstable; urgency=low
++
++ * New upstream release.
++ * Build a shared lib now--PIC issues seem to be resolved.
++ * debian/control: Split into separate packages for runtime lib, devel
++ files, and sample binaries. Name of the devel package now includes
++ major version. Provides libdv-dev for compatibility. Suggest to move
++ source package from devel to section graphics.
++ * debian/copyright: Updated copyright entries. Rename encode to
++ encodedv.
++ * debian/rules: Move to debhelper v4. Honour package split. Build a
++ shared lib now. Add support for 'debug' in DEB_BUILD_OPTIONS.
++ * debian/README.Debian: Document YUY bug on some big-endian hardware.
++ Remove obsolete comment about absence to shared libs.
++
++ -- Daniel Kobras <kobras@debian.org> Thu, 1 Aug 2002 10:23:20 +0200
++
++libdv (0.9.5-3) unstable; urgency=low
++
++ * libdv.pc.in: Remove obsolete dependencies on glib and gtk. Hack in
++ library dependency on popt. Closes: #149901
++ * debian/control: Depend on libpopt-dev.
++
++ -- Daniel Kobras <kobras@debian.org> Thu, 27 Jun 2002 11:02:56 +0200
++
++libdv (0.9.5-2) unstable; urgency=low
++
++ * dv.c: Tell C version of dv_macroblock_yuv() about additional arguments
++ to YUY2 functions.
++ * idct_248.c: Fix types in C version of fixed_multiply().
++ * enc_input.c: Purge remaining glib types from C versions of f2b() and
++ f2sb.
++ * All of the above fix compile errors on non-x86. Closes: #142770
++
++ -- Daniel Kobras <kobras@debian.org> Sun, 14 Apr 2002 14:05:05 +0200
++
++libdv (0.9.5-1) unstable; urgency=low
++
++ * New upstream version.
++ This version is supposed to also work as a shared lib, but let's
++ keep the package static-only until woody is released, and we have
++ time to properly test this change.
++
++ -- Daniel Kobras <kobras@debian.org> Sat, 13 Apr 2002 17:35:34 +0200
++
++libdv (0.9-2) unstable; urgency=low
++
++ * Rebuild with libsdl1.2debian. (No code changes necessary.)
++ * Do not clobber upstream config.guess/config.sub.
++ * Configure with explicit host and build architecture as suggested in
++ autotools-dev README.
++ * Added note to package description explaining why there is no shared
++ version of the lib.
++ * Increased standards version.
++
++ -- Daniel Kobras <kobras@debian.org> Wed, 17 Oct 2001 14:12:46 +0200
++
++libdv (0.9-1) unstable; urgency=low
++
++ * New upstream version.
++ * Include auto-generated dependencies in control (doh!). Closes: #103016
++ * Always use latest autotools helpers.
++ * Versioned build dependency on libsdl1.2-dev. Autobuilders would choke
++ on earlier versions.
++
++ -- Daniel Kobras <kobras@debian.org> Tue, 31 Jul 2001 17:23:28 +0200
++
++libdv (0.8-2) unstable; urgency=low
++
++ * Fix compilation in non-asm mode. Closes: #96804
++
++ -- Daniel Kobras <kobras@debian.org> Wed, 9 May 2001 09:20:49 +0200
++
++libdv (0.8-1) unstable; urgency=low
++
++ * New upstream version.
++
++ -- Daniel Kobras <kobras@debian.org> Fri, 4 May 2001 19:55:35 +0200
++
++libdv (0.7-2) unstable; urgency=low
++
++ * Some MMX code in encode.c wasn't wrapped in ARCH_X86 conditionals.
++ Closes: #94521
++ * Build with SDL support.
++
++ -- Daniel Kobras <kobras@debian.org> Fri, 20 Apr 2001 09:42:53 +0200
++
++libdv (0.7-1) unstable; urgency=low
++
++ * Initial Release. Closes: #89510
++ * Renamed encode to encodedv.
++ * Added man pages for playdv and encodedv.
++ * Fixed bogus space in dv option string.
++ * Fixed missing time.h include in headers.c.
++
++ -- Daniel Kobras <kobras@debian.org> Thu, 12 Apr 2001 20:48:56 +0200
++
+--- libdv-0.104.orig/debian/patches/00list
++++ libdv-0.104/debian/patches/00list
+@@ -0,0 +1,6 @@
++01_changelog_update_CVS
++10_amd64_linkage_fix_CVS
++10_inline_fixes_CVS
++10_zap_config_h
++11_move_config_h_to_apps
++20_no_exec_stack_CVS
+--- libdv-0.104.orig/debian/patches/10_zap_config_h.dpatch
++++ libdv-0.104/debian/patches/10_zap_config_h.dpatch
+@@ -0,0 +1,103 @@
++#!/bin/sh -e
++## 10_zap_config_h.dpatch by Daniel Kobras <kobras@debian.org>
++##
++## All lines beginning with `## DP:' are a description of the patch.
++## DP: dv_types.h is part of the libdv API that has to be included
++## DP: in application code. Therefore, it may not reference libdv's
++## DP: private config.h.
++## DP: Of course, config.h was included for a reason, and this patch
++## DP: tries to cover it up, because at least in the scope of the
++## DP: Debian package we can reliably guess at the contents of config.h.
++
++if [ $# -lt 1 ]; then
++ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
++ exit 1
++fi
++
++[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
++patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
++
++case "$1" in
++ -patch) patch $patch_opts -p1 < $0;;
++ -unpatch) patch $patch_opts -p1 -R < $0;;
++ *)
++ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
++ exit 1;;
++esac
++
++exit 0
++
++@DPATCH@
++diff -urNad --exclude=CVS --exclude=.svn ./libdv/dv_types.h /tmp/dpep-work.X4gSie/libdv/libdv/dv_types.h
++--- ./libdv/dv_types.h 2005-07-10 19:31:16.000000000 +0200
+++++ /tmp/dpep-work.X4gSie/libdv/libdv/dv_types.h 2005-07-10 19:58:28.000000000 +0200
++@@ -26,10 +26,11 @@
++ #ifndef DV_TYPES_H
++ #define DV_TYPES_H
++
++-#if HAVE_CONFIG_H
++-# include <config.h>
++-#endif
++-
+++/* The Debian package is always compiled with popt support, but using it
+++ * in an application is optional. Declare HAVE_LIBPOPT before including
+++ * the libdv headers in order to access popt-specific entries in the
+++ * libdv API.
+++ */
++ #if HAVE_LIBPOPT
++ #include <popt.h>
++ #endif // HAVE_LIBPOPT
++@@ -38,11 +39,11 @@
++ #include <inttypes.h>
++ #include <stdio.h>
++ #include <time.h>
++-#if HAVE_ENDIAN_H
+++/* FIXME Some systems use machine/endian.h instead. We probably ought to
+++ * AC_SUBST the correct value in here. (Or use a namespace-clean dvconfig.h.)
+++ * This quick fix should do for glibc-based systems.
+++ */
++ #include <endian.h>
++-#elif HAVE_MACHINE_ENDIAN_H
++-#include <machine/endian.h>
++-#endif
++
++ /* please tell me these are defined somewhere standard??? */
++ #ifndef FALSE
++@@ -61,16 +62,33 @@
++ #define CLAMP(a,x,b) (MIN(b,MAX(a,x)))
++ #endif
++
+++/* FIXME These values indicate whether libdv was built with asm optimizations.
+++ * It had better be AC_SUBSTed, but for the purpose of the Debian package, we
+++ * can easily guess the correct value from standard compiler macros.
+++ */
+++#if !defined(ARCH_X86) && !defined(ARCH_X86_64)
+++# if defined (__x86_64)
+++# define ARCH_X86 0
+++# define ARCH_X86_64 1
+++# elif defined(i386)
+++# define ARCH_X86 1
+++# define ARCH_X86_64 0
+++# else
+++# define ARCH_X86 0
+++# define ARCH_X86_64 0
+++# endif
+++#endif
+++
++ // For now assume ARCH_X86 means GCC with hints.
++ #ifdef ARCH_X86
++-#define HAVE_GCC 1
+++#define LIBDV_HAVE_GCC 1
++ #endif
++ #ifdef ARCH_X86_64
++-#define HAVE_GCC 1
+++#define LIBDV_HAVE_GCC 1
++ #endif
++-//#define HAVE_GCC 0
+++//#define LIBDV_HAVE_GCC 0
++
++-#if HAVE_GCC
+++#if LIBDV_HAVE_GCC
++ #define ALIGN64 __attribute__ ((aligned (64)))
++ #define ALIGN32 __attribute__ ((aligned (32)))
++ #define ALIGN8 __attribute__ ((aligned (8)))
+--- libdv-0.104.orig/debian/patches/11_move_config_h_to_apps.dpatch
++++ libdv-0.104/debian/patches/11_move_config_h_to_apps.dpatch
+@@ -0,0 +1,54 @@
++#!/bin/sh -e
++## 11_move_config_h_to_apps.dpatch by Daniel Kobras <kobras@debian.org>
++##
++## All lines beginning with `## DP:' are a description of the patch.
++## DP: Removing inclusion of config.h from dv_types.h revealed two
++## DP: files that should include it themselves.
++
++if [ $# -lt 1 ]; then
++ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
++ exit 1
++fi
++
++[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
++patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
++
++case "$1" in
++ -patch) patch $patch_opts -p1 < $0;;
++ -unpatch) patch $patch_opts -p1 -R < $0;;
++ *)
++ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
++ exit 1;;
++esac
++
++exit 0
++
++@DPATCH@
++diff -urNad /home/kobras/src/debian/libdv/encodedv/encodedv.c libdv/encodedv/encodedv.c
++--- /home/kobras/src/debian/libdv/encodedv/encodedv.c 2004-01-19 13:06:49.000000000 +0100
+++++ libdv/encodedv/encodedv.c 2004-01-19 23:58:45.000000000 +0100
++@@ -24,6 +24,10 @@
++ * The libdv homepage is http://libdv.sourceforge.net/.
++ */
++
+++#ifdef HAVE_CONFIG_H
+++#include <config.h>
+++#endif
+++
++ #include <string.h>
++ #include "libdv/dv_types.h"
++ #include "libdv/dv.h"
++diff -urNad /home/kobras/src/debian/libdv/encodedv/insert_audio.c libdv/encodedv/insert_audio.c
++--- /home/kobras/src/debian/libdv/encodedv/insert_audio.c 2004-01-19 13:06:49.000000000 +0100
+++++ libdv/encodedv/insert_audio.c 2004-01-19 23:59:22.000000000 +0100
++@@ -23,6 +23,10 @@
++ * The libdv homepage is http://libdv.sourceforge.net/.
++ */
++
+++#ifdef HAVE_CONFIG_H
+++#include <config.h>
+++#endif
+++
++ #include "libdv/dv_types.h"
++
++ #include <stdio.h>
+--- libdv-0.104.orig/debian/patches/01_changelog_update_CVS.dpatch
++++ libdv-0.104/debian/patches/01_changelog_update_CVS.dpatch
+@@ -0,0 +1,35 @@
++#! /bin/sh /usr/share/dpatch/dpatch-run
++## 01_changelog_update_CVS.dpatch by Daniel Kobras <kobras@debian.org>
++##
++## All lines beginning with `## DP:' are a description of the patch.
++## DP: Include 0.104 changelog entry that is not part of released 0.104
++## DP: tarball. This is done so we can apply subsequent patches pristine
++## DP: from CVS without failing hunks because of the missing changelog
++## DP: entry.
++## DP: (Part of patch set 286 from upstream CVS. Unneeded updates to
++## DP: autogenerated files have been omitted.)
++
++@DPATCH@
++---------------------
++PatchSet 286
++Date: 2004/11/30 03:39:35
++Author: krasic
++Branch: HEAD
++Tag: libdv_0_104
++Log:
++0.104 release build
++
++Members:
++ ChangeLog:1.108->1.109
++
++Index: libdv/ChangeLog
++diff -u libdv/ChangeLog:1.108 libdv/ChangeLog:1.109
++--- libdv/ChangeLog:1.108 Mon Nov 29 17:44:55 2004
+++++ libdv/ChangeLog Mon Nov 29 19:39:35 2004
++@@ -1,3 +1,6 @@
+++2004-11-29 Charles "Buck" Krasic <krasic@acm.org>
+++ * libdv 0.104 release
+++
++ 2004-11-29 Dan Dennedy <dan@dennedy.org>
++ * libdv.pc: added -lm to make build more portable.
++
+--- libdv-0.104.orig/debian/patches/10_amd64_linkage_fix_CVS.dpatch
++++ libdv-0.104/debian/patches/10_amd64_linkage_fix_CVS.dpatch
+@@ -0,0 +1,302 @@
++#! /bin/sh /usr/share/dpatch/dpatch-run
++## 10_amd64_linkage_fix_CVS.dpatch by Daniel Kobras <kobras@debian.org>
++##
++## All lines beginning with `## DP:' are a description of the patch.
++## DP: Fix linker compatibility issues with amd64 assembly. (Dean Kolosiek)
++## DP: (Patch set 287 from upstream CVS.)
++
++@DPATCH@
++---------------------
++PatchSet 287
++Date: 2004/12/13 01:48:50
++Author: ddennedy
++Branch: HEAD
++Tag: (none)
++Log:
++fix linkage problems in x86_64 asm code
++
++Members:
++ ChangeLog:1.109->1.110
++ libdv/encode_x86_64.S:1.2->1.3
++ libdv/idct_block_mmx_x86_64.S:1.1->1.2
++ libdv/quant_x86_64.S:1.2->1.3
++ libdv/vlc_x86_64.S:1.1->1.2
++
++Index: libdv/ChangeLog
++diff -u libdv/ChangeLog:1.109 libdv/ChangeLog:1.110
++--- libdv/ChangeLog:1.109 Mon Nov 29 19:39:35 2004
+++++ libdv/ChangeLog Sun Dec 12 17:48:50 2004
++@@ -1,3 +1,7 @@
+++2004-12-12 Dan Dennedy <dan@dennedy.org>
+++ * *_x86_64.S: apply patch from Dean Kolosiek to fix linker
+++ compatibility.
+++
++ 2004-11-29 Charles "Buck" Krasic <krasic@acm.org>
++ * libdv 0.104 release
++
++Index: libdv/libdv/encode_x86_64.S
++diff -u libdv/libdv/encode_x86_64.S:1.2 libdv/libdv/encode_x86_64.S:1.3
++--- libdv/libdv/encode_x86_64.S:1.2 Tue Nov 16 19:36:30 2004
+++++ libdv/libdv/encode_x86_64.S Sun Dec 12 17:48:51 2004
++@@ -47,7 +47,8 @@
++
++ mov $63, %rcx # loop counter
++
++- mov vlc_encode_lookup(%rip), %r11
+++ mov vlc_encode_lookup@GOTPCREL(%rip), %r11
+++ mov (%r11),%r11
++
++ pxor %mm0, %mm0
++ pxor %mm2, %mm2
++@@ -129,7 +130,8 @@
++ add $2, %rdi /* skip the DC coefficient */
++ mov $63, %rcx
++
++- mov vlc_num_bits_lookup(%rip), %r11
+++ mov vlc_num_bits_lookup@GOTPCREL(%rip), %r11
+++ mov (%r11),%r11
++
++ vlc_num_bits_block_x86_loop:
++ movw (%rdi), %ax /* get the next coeffiecient */
++Index: libdv/libdv/idct_block_mmx_x86_64.S
++diff -u libdv/libdv/idct_block_mmx_x86_64.S:1.1 libdv/libdv/idct_block_mmx_x86_64.S:1.2
++--- libdv/libdv/idct_block_mmx_x86_64.S:1.1 Tue Oct 19 20:49:24 2004
+++++ libdv/libdv/idct_block_mmx_x86_64.S Sun Dec 12 17:48:51 2004
++@@ -22,7 +22,7 @@
++ /* void _dv_idct_88(dv_coeff_t *block) */
++ /* argument block=rdi */
++
++- lea preSC(%rip), %r11
+++ mov preSC@GOTPCREL(%rip), %r11
++
++ /*
++ * column 0: even part
++Index: libdv/libdv/quant_x86_64.S
++diff -u libdv/libdv/quant_x86_64.S:1.2 libdv/libdv/quant_x86_64.S:1.3
++--- libdv/libdv/quant_x86_64.S:1.2 Tue Nov 16 19:36:30 2004
+++++ libdv/libdv/quant_x86_64.S Sun Dec 12 17:48:51 2004
++@@ -73,10 +73,10 @@
++ /* pq = dv_quant_shifts[qno + dv_quant_offset[class]]; */
++ mov %rsi,%rax /* qno */
++ mov %rdx,%r12 /* class */
++- lea dv_quant_offset(%rip),%rcx
+++ mov dv_quant_offset@GOTPCREL(%rip),%rcx
++ movzbq (%rcx,%r12,1),%rcx /* dv_quant_offset[class] */
++ add %rcx,%rax /* qno + */
++- lea dv_quant_shifts(%rip),%r11
+++ mov dv_quant_shifts@GOTPCREL(%rip),%r11
++ lea (%r11,%rax,4),%r11 /* r11 is pq = dv_quant_shifts[...] */
++
++ /* extra = (class == 3); */
++@@ -217,10 +217,10 @@
++ mov %rsi,%rax /* qno */
++ mov %rdx,%r12 /* class */
++
++- lea dv_quant_offset(%rip),%rcx
+++ mov dv_quant_offset@GOTPCREL(%rip),%rcx
++ movzbq (%rcx,%r12,1),%rcx
++ add %rcx,%rax
++- lea dv_quant_shifts(%rip),%r11
+++ mov dv_quant_shifts@GOTPCREL(%rip),%r11
++ lea (%r11,%rax,4),%r11 /* r11 is pq */
++
++ /* extra = (class == 3); */
++Index: libdv/libdv/vlc_x86_64.S
++diff -u libdv/libdv/vlc_x86_64.S:1.1 libdv/libdv/vlc_x86_64.S:1.2
++--- libdv/libdv/vlc_x86_64.S:1.1 Tue Oct 19 20:49:24 2004
+++++ libdv/libdv/vlc_x86_64.S Sun Dec 12 17:48:51 2004
++@@ -16,28 +16,28 @@
++ /* klass = dv_vlc_classes[maxbits][(bits & (dv_vlc_class_index_mask[maxbits])) >> */
++ /* (dv_vlc_class_index_rshift[maxbits])]; */
++ /* xor %rbp,%rbp */
++- lea dv_vlc_class_index_mask(%rip),%r11 /* use %rip for PIC code */
+++ mov dv_vlc_class_index_mask@GOTPCREL(%rip),%r11 /* use %rip for PIC code */
++ mov (%r11,%rbx,4),%ebp /* int32 */ /* dv_vlc_class_index_mask[maxbits] */
++ and %eax,%ebp /* bits & */
++- lea dv_vlc_class_index_rshift(%rip),%rcx
+++ mov dv_vlc_class_index_rshift@GOTPCREL(%rip),%rcx
++ mov (%rcx,%rbx,4),%ecx /* int32 */ /* dv_vlc_class_index_rshift[maxbits] */
++ sar %cl,%ebp /* >> */
++- lea dv_vlc_classes(%rip),%rcx
+++ mov dv_vlc_classes@GOTPCREL(%rip),%rcx
++ mov (%rcx,%rbx,8),%rcx /* ptr */ /* dv_vlc_classes[maxbits], a pointer */
++ movsbq (%rcx,%rbp,1),%rbp /* int8 */ /* klass = */
++
++ /* *result = dv_vlc_lookups[klass][(bits & (dv_vlc_index_mask[klass])) >> */
++ /* (dv_vlc_index_rshift[klass])]; */
++ /* xor %rbx,%rbx */
++- lea dv_vlc_index_mask(%rip),%r11
+++ mov dv_vlc_index_mask@GOTPCREL(%rip),%r11
++ mov (%r11,%rbp,4),%ebx /* int32 */ /* (dv_vlc_index_mask[klass]) */
++ /* xor %rcx,%rcx */
++- lea dv_vlc_index_rshift(%rip),%r11
+++ mov dv_vlc_index_rshift@GOTPCREL(%rip),%r11
++ mov (%r11,%rbp,4),%ecx /* int32 */ /* dv_vlc_index_rshift[klass] */
++ and %eax,%ebx /* bits & */
++ sar %cl,%ebx /* >> */
++
++- lea dv_vlc_lookups(%rip),%r11
+++ mov dv_vlc_lookups@GOTPCREL(%rip),%r11
++ mov (%r11,%rbp,8),%rbp /* ptr */ /* dv_vlc_lookups[klass] */
++ mov (%rbp,%rbx,4),%ebp /* int32 */ /* *result = */
++
++@@ -57,7 +57,7 @@
++ mov %ebp,%ecx
++ sar $8,%ecx
++ and $0xff,%ecx /* result->len */
++- lea sign_mask(%rip),%rbx
+++ mov sign_mask@GOTPCREL(%rip),%rbx
++ mov (%rbx,%rcx,4),%ebx /* int32 */
++ and %ebx,%eax
++ neg %eax
++@@ -109,17 +109,17 @@
++ mov %rax,%rbp
++ and $0xfe00,%ebp
++ sar $9,%ebp
++- lea dv_vlc_class_lookup5(%rip),%r11
+++ mov dv_vlc_class_lookup5@GOTPCREL(%rip),%r11
++ movsbq (%r11,%rbp),%rbp /* int8 klass */
++
++- lea dv_vlc_index_mask(%rip),%rbx
+++ mov dv_vlc_index_mask@GOTPCREL(%rip),%rbx
++ mov (%rbx,%rbp,4),%ebx /* int32 */
++- lea dv_vlc_index_rshift(%rip),%rcx
+++ mov dv_vlc_index_rshift@GOTPCREL(%rip),%rcx
++ mov (%rcx,%rbp,4),%ecx /* int32 */
++ and %eax,%ebx
++ sar %cl,%ebx /* %rbx is klass */
++
++- lea dv_vlc_lookups(%rip),%r11
+++ mov dv_vlc_lookups@GOTPCREL(%rip),%r11
++ mov (%r11,%rbp,8),%rbp /* ptr */
++ mov (%rbp,%rbx,4),%ebp /* int32 */
++
++@@ -138,7 +138,7 @@
++ mov %ebp,%ecx
++ sar $8,%ecx
++ and $0xff,%ecx
++- lea sign_mask(%rip),%r11
+++ mov sign_mask@GOTPCREL(%rip),%r11
++ mov (%r11,%rcx,4),%ecx /* int32 */
++ and %ecx,%eax
++ neg %eax
++@@ -253,7 +253,7 @@
++
++ /* Attempt to use the shortcut first. If it hits, then
++ this vlc term has been decoded. */
++- lea dv_vlc_class1_shortcut(%rip),%r10
+++ mov dv_vlc_class1_shortcut@GOTPCREL(%rip),%r10
++ mov (%r10,%rcx,4),%r11d /* record32 dv_vlc_tab_t */
++ test $0x80,%r11d
++
++@@ -267,17 +267,17 @@
++
++ /* %rax is bits */
++
++- lea dv_vlc_class_lookup5(%rip),%r10
+++ mov dv_vlc_class_lookup5@GOTPCREL(%rip),%r10
++ movsbq (%r10,%rcx,1),%rcx /* int8 */
++
++ /* xor %r12,%r12 */
++- lea dv_vlc_index_mask(%rip),%r10
+++ mov dv_vlc_index_mask@GOTPCREL(%rip),%r10
++ mov (%r10,%rcx,4),%r12d /* int32 */
++
++- lea dv_vlc_lookups(%rip),%r10
+++ mov dv_vlc_lookups@GOTPCREL(%rip),%r10
++ mov (%r10,%rcx,8),%r11 /* ptr->record32 */
++
++- lea dv_vlc_index_rshift(%rip),%r10
+++ mov dv_vlc_index_rshift@GOTPCREL(%rip),%r10
++ mov (%r10,%rcx,4),%ecx /* int32 */
++
++ and %eax,%r12d
++@@ -303,7 +303,7 @@
++ mov %r11d,%ecx
++ sar $8,%ecx
++ and $0xff,%ecx
++- lea sign_mask(%rip),%r10
+++ mov sign_mask@GOTPCREL(%rip),%r10
++ mov (%r10,%rcx,4),%ecx /* int32 */
++ and %ecx,%eax
++ neg %eax
++@@ -388,7 +388,8 @@
++ mov %r11,%rsi /* bits */
++ mov %rax,%rdi /* bits_left */
++ lea vlc(%rip),%rdx /* *vlc */
++- call dv_decode_vlc
+++ mov dv_decode_vlc@GOTPCREL(%rip),%r11
+++ call *%r11
++ pop %rdx
++ pop %rsi
++ pop %rdi
++@@ -473,7 +474,7 @@
++ movl %r11d,dv_macroblock_t_eob_count(%r13) /* int32 */
++
++ /* mb->i = (seg->i + dv_super_map_vertical[m]) % (seg->isPAL?12:10); */
++- lea dv_super_map_vertical(%rip),%r11
+++ mov dv_super_map_vertical@GOTPCREL(%rip),%r11
++ movl (%r11,%rax,4),%r11d /* int32 */
++ /* xor %rcx,%rcx */
++ movl dv_videosegment_t_i(%r12),%ecx /* int32 */
++@@ -493,7 +494,7 @@
++ movl %r11d,dv_macroblock_t_i(%r13) /* int32 */
++
++ /* mb->j = dv_super_map_horizontal[m]; */
++- lea dv_super_map_horizontal(%rip),%r11
+++ mov dv_super_map_horizontal@GOTPCREL(%rip),%r11
++ movl (%r11,%rax,4),%r11d /* int32 */
++ movl %r11d,dv_macroblock_t_j(%r13) /* int32 */
++
++@@ -546,7 +547,8 @@
++
++ /* bl->reorder = &dv_reorder[bl->dct_mode][1]; */
++ shl $6,%rax /* *64 */
++- lea (dv_reorder+1)(%rip),%rcx
+++ mov dv_reorder@GOTPCREL(%rip),%rcx
+++ add $1,%rcx
++ add %rcx,%rax
++ mov %rax,dv_block_t_reorder(%r15) /* ptr */
++
++@@ -557,13 +559,13 @@
++ /* bl->offset= mb_start + dv_parse_bit_start[b]; */
++ /* xor %rcx,%rcx */
++ movl mb_start(%rip),%ecx /* int32 */
++- lea dv_parse_bit_start(%rip),%rax
+++ mov dv_parse_bit_start@GOTPCREL(%rip),%rax
++ mov (%rax,%r12,4),%eax /* int32 */
++ add %rcx,%rax
++ movl %eax,dv_block_t_offset(%r15) /* int32 */
++
++ /* bl->end= mb_start + dv_parse_bit_end[b]; */
++- lea dv_parse_bit_end(%rip),%rax
+++ mov dv_parse_bit_end@GOTPCREL(%rip),%rax
++ mov (%rax,%r12,4),%eax /* int32 */
++ add %ecx,%eax
++ mov %eax,dv_block_t_end(%r15) /* int32 */
++@@ -603,7 +605,8 @@
++ mov dv_videosegment_t_bs(%rdi),%rdi /* passed in rdi was seg, now passing seg->bs */
++ mov %r13,%rsi /* mb */
++ mov %r15,%rdx /* bl */
++- call dv_parse_ac_coeffs_pass0
+++ mov dv_parse_ac_coeffs_pass0@GOTPCREL(%rip),%r11
+++ call *%r11
++ pop %rdi
++ pop %rsi
++ pop %rdx
++@@ -635,10 +638,12 @@
++ mov %rsi,%rax /* quality */
++ and $DV_QUALITY_AC_MASK,%rax
++ cmp $DV_QUALITY_AC_2,%rax
+++
+++ jne done
+++ mov dv_parse_ac_coeffs@GOTPCREL(%rip),%r11
+++ jmp *%r11
++
++- jz dv_parse_ac_coeffs
++-
++- mov $0,%rax
+++done: mov $0,%rax
++
++ ret
++
+--- libdv-0.104.orig/debian/patches/10_inline_fixes_CVS.dpatch
++++ libdv-0.104/debian/patches/10_inline_fixes_CVS.dpatch
+@@ -0,0 +1,69 @@
++#! /bin/sh /usr/share/dpatch/dpatch-run
++## 10_inline_fixes_CVS.dpatch by Daniel Kobras <kobras@debian.org>
++##
++## All lines beginning with `## DP:' are a description of the patch.
++## DP: Fix build problems when compiler does not honour the inline hint.
++## DP: (Patch set 288 from upstream CVS.)
++
++@DPATCH@
++---------------------
++PatchSet 288
++Date: 2004/12/21 05:08:02
++Author: ddennedy
++Branch: HEAD
++Tag: (none)
++Log:
++convert extern inline to static inline
++
++Members:
++ ChangeLog:1.110->1.111
++ libdv/mmx.h:1.2->1.3
++ libdv/vlc.h:1.6->1.7
++
++Index: libdv/ChangeLog
++diff -u libdv/ChangeLog:1.110 libdv/ChangeLog:1.111
++--- libdv/ChangeLog:1.110 Sun Dec 12 17:48:50 2004
+++++ libdv/ChangeLog Mon Dec 20 21:08:02 2004
++@@ -1,3 +1,7 @@
+++2004-12-20 Dan Dennedy <dan@dennedy.org>
+++ * vlc.h, mmx.h: apply patch from Daniel Kobras to improve
+++ compile compatibillity by making extern inlinei, static inline..
+++
++ 2004-12-12 Dan Dennedy <dan@dennedy.org>
++ * *_x86_64.S: apply patch from Dean Kolosiek to fix linker
++ compatibility.
++Index: libdv/libdv/mmx.h
++diff -u libdv/libdv/mmx.h:1.2 libdv/libdv/mmx.h:1.3
++--- libdv/libdv/mmx.h:1.2 Sat Oct 27 20:23:57 2001
+++++ libdv/libdv/mmx.h Mon Dec 20 21:08:03 2004
++@@ -59,7 +59,7 @@
++
++ /* Function to test if multimedia instructions are supported...
++ */
++-inline extern int
+++inline static int
++ mm_support(void)
++ {
++ /* Returns 1 if MMX instructions are supported,
++@@ -223,7 +223,7 @@
++
++ /* Function to test if mmx instructions are supported...
++ */
++-inline extern int
+++inline static int
++ mmx_ok(void)
++ {
++ /* Returns 1 if MMX instructions are supported, 0 otherwise */
++Index: libdv/libdv/vlc.h
++diff -u libdv/libdv/vlc.h:1.6 libdv/libdv/vlc.h:1.7
++--- libdv/libdv/vlc.h:1.6 Mon Oct 20 12:46:50 2003
+++++ libdv/libdv/vlc.h Mon Dec 20 21:08:04 2004
++@@ -69,7 +69,7 @@
++ extern void dv_decode_vlc(int bits,int maxbits, dv_vlc_t *result);
++ extern void __dv_decode_vlc(int bits, dv_vlc_t *result);
++
++-extern __inline__ void dv_peek_vlc(bitstream_t *bs,int maxbits, dv_vlc_t *result) {
+++static inline void dv_peek_vlc(bitstream_t *bs,int maxbits, dv_vlc_t *result) {
++ if(maxbits < 16)
++ dv_decode_vlc(bitstream_show(bs,16),maxbits,result);
++ else
+--- libdv-0.104.orig/debian/patches/20_no_exec_stack_CVS.dpatch
++++ libdv-0.104/debian/patches/20_no_exec_stack_CVS.dpatch
+@@ -0,0 +1,207 @@
++#! /bin/sh /usr/share/dpatch/dpatch-run
++## 20_no_exec_stack_CVS.dpatch by Daniel Kobras <kobras@debian.org>
++##
++## All lines beginning with `## DP:' are a description of the patch.
++## DP: Alter assembler functions to not require an executable stack.
++## DP: (Nicholas Miell)
++## DP: (Part of patch set 289 from upstream CVS. Removed unrelated
++## DP: changes to libtool in same patch set.)
++
++@DPATCH@
++---------------------
++PatchSet 289
++Date: 2005/01/31 13:27:53
++Author: ddennedy
++Branch: HEAD
++Tag: (none)
++Log:
++remove execution stack from assembler functions
++
++Members:
++ ChangeLog:1.111->1.112
++ libdv/dct_block_mmx.S:1.3->1.4
++ libdv/dct_block_mmx_x86_64.S:1.1->1.2
++ libdv/encode_x86.S:1.3->1.4
++ libdv/encode_x86_64.S:1.3->1.4
++ libdv/idct_block_mmx.S:1.2->1.3
++ libdv/idct_block_mmx_x86_64.S:1.2->1.3
++ libdv/quant_x86.S:1.3->1.4
++ libdv/quant_x86_64.S:1.3->1.4
++ libdv/rgbtoyuv.S:1.5->1.6
++ libdv/rgbtoyuv_x86_64.S:1.1->1.2
++ libdv/transpose_x86.S:1.2->1.3
++ libdv/transpose_x86_64.S:1.1->1.2
++ libdv/vlc_x86.S:1.2->1.3
++ libdv/vlc_x86_64.S:1.2->1.3
++
++Index: libdv/ChangeLog
++diff -u libdv/ChangeLog:1.111 libdv/ChangeLog:1.112
++--- libdv/ChangeLog:1.111 Mon Dec 20 21:08:02 2004
+++++ libdv/ChangeLog Mon Jan 31 05:27:53 2005
++@@ -1,3 +1,7 @@
+++2005-01-31 Dan Dennedy <dan@dennedy.org>
+++ * *.S: apply patch from Nicholas Miell <nmiell@gmail.com>
+++ to not require execution stack for assembler functions.
+++
++ 2004-12-20 Dan Dennedy <dan@dennedy.org>
++ * vlc.h, mmx.h: apply patch from Daniel Kobras to improve
++ compile compatibillity by making extern inlinei, static inline..
++Index: libdv/libdv/dct_block_mmx_x86_64.S
++diff -u libdv/libdv/dct_block_mmx_x86_64.S:1.1 libdv/libdv/dct_block_mmx_x86_64.S:1.2
++--- libdv/libdv/dct_block_mmx_x86_64.S:1.1 Tue Oct 19 20:49:24 2004
+++++ libdv/libdv/dct_block_mmx_x86_64.S Mon Jan 31 05:27:54 2005
++@@ -53,6 +53,8 @@
++ scratch3: .quad 0
++ scratch4: .quad 0
++
+++.section .note.GNU-stack, "", @progbits
+++
++ .text
++
++ .align 8
++Index: libdv/libdv/encode_x86.S
++diff -u libdv/libdv/encode_x86.S:1.3 libdv/libdv/encode_x86.S:1.4
++--- libdv/libdv/encode_x86.S:1.3 Mon Oct 20 12:46:50 2003
+++++ libdv/libdv/encode_x86.S Mon Jan 31 05:27:54 2005
++@@ -27,6 +27,9 @@
++ ALLONE: .word 1,1,1,1
++ VLCADDMASK: .byte 255,0,0,0,255,0,0,0
++
+++
+++.section .note.GNU-stack, "", @progbits
+++
++ .text
++
++ .global _dv_vlc_encode_block_mmx
++Index: libdv/libdv/encode_x86_64.S
++diff -u libdv/libdv/encode_x86_64.S:1.3 libdv/libdv/encode_x86_64.S:1.4
++--- libdv/libdv/encode_x86_64.S:1.3 Sun Dec 12 17:48:51 2004
+++++ libdv/libdv/encode_x86_64.S Mon Jan 31 05:27:54 2005
++@@ -27,6 +27,8 @@
++ ALLONE: .word 1,1,1,1
++ VLCADDMASK: .byte 255,0,0,0,255,0,0,0
++
+++.section .note.GNU-stack, "", @progbits
+++
++ .text
++
++ .global _dv_vlc_encode_block_mmx_x86_64
++Index: libdv/libdv/idct_block_mmx.S
++diff -u libdv/libdv/idct_block_mmx.S:1.2 libdv/libdv/idct_block_mmx.S:1.3
++--- libdv/libdv/idct_block_mmx.S:1.2 Tue Dec 31 15:04:02 2002
+++++ libdv/libdv/idct_block_mmx.S Mon Jan 31 05:27:54 2005
++@@ -6,7 +6,7 @@
++ * (element[0][0] of the matrix)
++ */
++
++-
+++.section .note.GNU-stack, "", @progbits
++
++ .text
++ .align 4
++Index: libdv/libdv/idct_block_mmx_x86_64.S
++diff -u libdv/libdv/idct_block_mmx_x86_64.S:1.2 libdv/libdv/idct_block_mmx_x86_64.S:1.3
++--- libdv/libdv/idct_block_mmx_x86_64.S:1.2 Sun Dec 12 17:48:51 2004
+++++ libdv/libdv/idct_block_mmx_x86_64.S Mon Jan 31 05:27:54 2005
++@@ -13,6 +13,7 @@
++ /* If we're using MMX assembler, fold weights into the iDCT
++ prescale here instead of _dv_weight_init */
++
+++.section .note.GNU-stack, "", @progbits
++
++ .text
++ .align 4
++Index: libdv/libdv/quant_x86.S
++diff -u libdv/libdv/quant_x86.S:1.3 libdv/libdv/quant_x86.S:1.4
++--- libdv/libdv/quant_x86.S:1.3 Mon Oct 20 12:46:50 2003
+++++ libdv/libdv/quant_x86.S Mon Jan 31 05:27:54 2005
++@@ -24,6 +24,8 @@
++ * The libdv homepage is http://libdv.sourceforge.net/.
++ */
++
+++.section .note.GNU-stack, "", @progbits
+++.previous
++
++ /*
++
++Index: libdv/libdv/quant_x86_64.S
++diff -u libdv/libdv/quant_x86_64.S:1.3 libdv/libdv/quant_x86_64.S:1.4
++--- libdv/libdv/quant_x86_64.S:1.3 Sun Dec 12 17:48:51 2004
+++++ libdv/libdv/quant_x86_64.S Mon Jan 31 05:27:54 2005
++@@ -24,6 +24,8 @@
++ * The libdv homepage is http://libdv.sourceforge.net/.
++ */
++
+++.section .note.GNU-stack, "", @progbits
+++.previous
++
++ /*
++
++Index: libdv/libdv/rgbtoyuv.S
++diff -u libdv/libdv/rgbtoyuv.S:1.5 libdv/libdv/rgbtoyuv.S:1.6
++--- libdv/libdv/rgbtoyuv.S:1.5 Mon Oct 20 12:46:50 2003
+++++ libdv/libdv/rgbtoyuv.S Mon Jan 31 05:27:54 2005
++@@ -111,6 +111,8 @@
++
++ #endif
++
+++.section .note.GNU-stack, "", @progbits
+++
++ .text
++
++ #define _inPtr 8
++Index: libdv/libdv/rgbtoyuv_x86_64.S
++diff -u libdv/libdv/rgbtoyuv_x86_64.S:1.1 libdv/libdv/rgbtoyuv_x86_64.S:1.2
++--- libdv/libdv/rgbtoyuv_x86_64.S:1.1 Tue Oct 19 20:49:24 2004
+++++ libdv/libdv/rgbtoyuv_x86_64.S Mon Jan 31 05:27:54 2005
++@@ -111,6 +111,8 @@
++
++ #endif
++
+++.section .note.GNU-stack, "", @progbits
+++
++ .text
++
++ #define _inPtr 8
++Index: libdv/libdv/transpose_x86.S
++diff -u libdv/libdv/transpose_x86.S:1.2 libdv/libdv/transpose_x86.S:1.3
++--- libdv/libdv/transpose_x86.S:1.2 Tue Dec 31 15:04:03 2002
+++++ libdv/libdv/transpose_x86.S Mon Jan 31 05:27:54 2005
++@@ -1,3 +1,5 @@
+++.section .note.GNU-stack, "", @progbits
+++
++ .text
++ .global _dv_transpose_mmx
++
++Index: libdv/libdv/transpose_x86_64.S
++diff -u libdv/libdv/transpose_x86_64.S:1.1 libdv/libdv/transpose_x86_64.S:1.2
++--- libdv/libdv/transpose_x86_64.S:1.1 Tue Oct 19 20:49:24 2004
+++++ libdv/libdv/transpose_x86_64.S Mon Jan 31 05:27:54 2005
++@@ -1,3 +1,5 @@
+++.section .note.GNU-stack, "", @progbits
+++
++ .text
++ .global _dv_transpose_mmx_x86_64
++
++Index: libdv/libdv/vlc_x86.S
++diff -u libdv/libdv/vlc_x86.S:1.2 libdv/libdv/vlc_x86.S:1.3
++--- libdv/libdv/vlc_x86.S:1.2 Mon May 20 05:31:25 2002
+++++ libdv/libdv/vlc_x86.S Mon Jan 31 05:27:54 2005
++@@ -1,4 +1,6 @@
++ #include "asmoff.h"
+++.section .note.GNU-stack, "", @progbits
+++
++ .text
++ .align 4
++ .globl dv_decode_vlc
++Index: libdv/libdv/vlc_x86_64.S
++diff -u libdv/libdv/vlc_x86_64.S:1.2 libdv/libdv/vlc_x86_64.S:1.3
++--- libdv/libdv/vlc_x86_64.S:1.2 Sun Dec 12 17:48:51 2004
+++++ libdv/libdv/vlc_x86_64.S Mon Jan 31 05:27:54 2005
++@@ -1,4 +1,6 @@
++ #include "asmoff.h"
+++.section .note.GNU-stack, "", @progbits
+++
++ .text
++ .align 4
++ .globl dv_decode_vlc
+--- libdv-0.104.orig/debian/control
++++ libdv-0.104/debian/control
+@@ -0,0 +1,48 @@
++Source: libdv
++Section: graphics
++Priority: optional
++Maintainer: Daniel Kobras <kobras@debian.org>
++Build-Depends: debhelper (>= 4.1.1), libsdl1.2-dev (>= 1.2.2-1) | libsdl1.1-dev, libpopt-dev, libglib1.2-dev, libgtk1.2-dev, libx11-dev | xlibs-dev (>= 4.0), libxext-dev | xlibs-dev (>= 4.0), libxt-dev | xlibs-dev (>= 4.0), libxv-dev | xlibs-dev (>= 4.0), x-dev | xlibs-dev (>= 4.0), autotools-dev, pkg-config (>= 0.7), file, dpatch
++Standards-Version: 3.6.1
++
++Package: libdv4
++Section: libs
++Architecture: any
++Depends: ${shlibs:Depends}
++Recommends: libdv-bin
++Description: software library for DV format digital video (runtime lib)
++ The Quasar DV Codec (libdv) is a software decoder for DV format video, as
++ defined by the IEC 61834 and SMPTE 314M standards. DV is the encoding format
++ used by consumer-grade digital camcorders.
++ .
++ This package contains the library needed to run executables using libdv.
++
++Package: libdv4-dev
++Section: libdevel
++Priority: extra
++Architecture: any
++Depends: libc6-dev, libpopt-dev, libdv4 (= ${Source-Version})
++Conflicts: libdv-dev
++Replaces: libdv-dev
++Provides: libdv-dev
++Description: software library for DV format digital video (devel files)
++ The Quasar DV Codec (libdv) is a software decoder for DV format video, as
++ defined by the IEC 61834 and SMPTE 314M standards. DV is the encoding format
++ used by consumer-grade digital camcorders.
++ .
++ This package contains the development headers and library files needed to
++ compile programs using libdv.
++
++Package: libdv-bin
++Section: graphics
++Priority: extra
++Architecture: any
++Depends: ${shlibs:Depends}
++Replaces: libdv-dev (<< 0.98-1)
++Description: software library for DV format digital video (sample apps)
++ The Quasar DV Codec (libdv) is a software decoder for DV format video, as
++ defined by the IEC 61834 and SMPTE 314M standards. DV is the encoding format
++ used by consumer-grade digital camcorders.
++ .
++ This package contains sample programs for viewing, encoding, and transferring
++ DV data.
diff --git a/media/libs/libdv/libdv.SlackBuild b/media/libs/libdv/libdv.SlackBuild
new file mode 100755
index 00000000..3e867497
--- /dev/null
+++ b/media/libs/libdv/libdv.SlackBuild
@@ -0,0 +1,130 @@
+#!/bin/bash
+#
+# slackbuild script for libdv
+# by rafael at riseup.net
+#
+
+if [ -s "slack-required" ]; then
+ echo Recomended and required packages for building libdv are:
+ cat slack-required | sed -e 's/^/\t/'
+ if [ "$INTERACT" != "no" ]; then
+ echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
+ read crap
+# else
+# echo Sleeping 3 seconds...
+# sleep 3
+ fi
+fi
+
+CWD="`pwd`"
+
+if [ -f ~/.slackbuildrc ]; then
+ source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+ source /etc/slackbuildrc
+fi
+
+# default settings
+PACKAGE="libdv"
+ARCH=${ARCH:=i486}
+VERSION=${VERSION:=1.0.0}
+BUILD=${BUILD:=1rd}
+SRC_DIR=${SRC:=$CWD}
+TMP=${TMP:=/tmp}
+REPOS=${REPOS:=$TMP}
+
+if [ "$ARCH" == "x86_64" ]; then
+ LIBDIR=/usr/lib64
+ export LDFLAGS="$LDFLAGS -L/lib64 -L/usr/lib64 -fPIC"
+ export CFLAGS="$CFLAGS -fPIC"
+else
+ LIBDIR=/usr/lib
+fi
+
+RTOOL="wget"
+PACKAGE_EXT="gz"
+SRC="$PACKAGE-$VERSION.tar.$PACKAGE_EXT"
+URL="http://ufpr.dl.sourceforge.net/sourceforge/libdv/$SRC"
+
+SRC_DIR="$SRC_DIR/$PACKAGE"
+mkdir -p $SRC_DIR
+
+if [ "$PACKAGE_EXT" == "bz2" ]; then
+ tarflag="j"
+else
+ tarflag="z"
+fi
+
+if [ "$RTOOL" == "wget" ] && [ ! -f "$SRC_DIR/$SRC" ]; then
+ wget "$URL" -O "$SRC_DIR/$SRC"
+fi
+
+
+TMP="$TMP/$PACKAGE"
+rm -rf $TMP
+mkdir -p $TMP
+cd $TMP
+
+tar xvf$tarflag $SRC_DIR/$SRC
+cd $PACKAGE-$VERSION
+
+if [ -f "$CWD/$PACKAGE-$VERSION.diff" ]; then
+ patch -p1 < $CWD/$PACKAGE-$VERSION.diff
+fi
+
+# apply debian patches, if exist
+if [ -d "debian/patches" ]; then
+ for file in `ls debian/patches/*patch`; do
+ patch -p1 < $file
+ done
+fi
+
+./configure --prefix=/usr --sysconfdir=/etc --libdir=$LIBDIR
+make || exit 32
+make DESTDIR=$TMP/package-$PACKAGE install
+
+CWD="`pwd`"
+cd $TMP/package-$PACKAGE
+
+find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+mkdir install
+cat << EOF > install/slack-desc
+# 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-----------------------------------------------------|
+libdv: libdv (libdv is a software codec for DV video)
+libdv:
+libdv: The Quasar DV codec (libdv) is a software codec for DV video, the
+libdv: encoding format used by most digital camcorders, typically those that
+libdv: support the IEEE 1394 (a.k.a. FireWire or i.Link) interface. Libdv
+libdv: was developed according to the official standards for DV video:
+libdv: IEC 61834 and SMPTE 314M.
+libdv:
+libdv: http://libdv.sourceforge.net/
+libdv:
+libdv:
+EOF
+
+# docs
+mkdir -p usr/doc/$PACKAGE-$VERSION
+
+for file in AUTHORS COPYING COPYRIGHT ChangeLog INSTALL NEWS README README.dvconnect README.encoder TODO; do
+ cp $CWD/$file* usr/doc/$PACKAGE-$VERSION/
+done
+
+# install script
+echo '( chroot . /sbin/ldconfig )' > install/doinst.sh
+
+makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz
+
+if [ "$CLEANUP" == "yes" ]; then
+ rm -rf $TMP
+fi
+
diff --git a/media/libs/libdvdcss/libdvdcss.SlackBuild b/media/libs/libdvdcss/libdvdcss.SlackBuild
new file mode 100755
index 00000000..ba0d5ca8
--- /dev/null
+++ b/media/libs/libdvdcss/libdvdcss.SlackBuild
@@ -0,0 +1,203 @@
+#!/bin/bash
+#
+# slackbuild for kile, by Rudson R. Alves
+# requires: none
+# tested: libdvdcss-1.2.9
+
+CWD=`pwd`
+
+# ---- Inicializa variáveis com o slackbuild ------------
+if [ -e "/root/.slackbuildrc" ]; then
+ source /root/.slackbuildrc
+elif [ -e "/etc/slackbuildrc" ]; then
+ source /etc/slackbuildrc
+fi
+
+# -------- Variáveis de controle de versão --------------
+# Nome da fonte para a qual o slackbuild foi construído e
+# o seu md5sum
+SRC_ORIG="libdvdcss-1.2.9.tar.bz2"
+MD5_ORIG="553383d898826c285afb2ee453b07868"
+PACKAGE_ORIG=`echo $SRC_ORIG | sed -r 's/(.*)-(.*)\.(.*\..*)$/\1/'`
+VERSION_ORIG=`echo $SRC_ORIG | sed -r 's/(.*)-(.*)\.(.*\..*)$/\2/'`
+ EXTENSION=`echo $SRC_ORIG | sed -r 's/(.*)-(.*)\.(.*\..*)$/\3/'`
+
+# ------- Códigos de erro para o createpkg --------------
+ERROR_WGET=31; ERROR_MAKE=32; ERROR_INSTALL=33
+ERROR_MD5=34; ERROR_CONF=35; ERROR_HELP=36
+ERROR_TAR=37; ERROR_MKPKG=38; ERROR_GPG=39
+ERROR_PATCH=40; ERROR_VCS=41
+
+# --------- Inicializa variáveis de entrada -------------
+PACKAGE=$PACKAGE_ORIG
+ARCH=${ARCH:=i486}
+SRC_DIR=${SRC:=$CWD}
+VERSION=${VERSION:=$VERSION_ORIG}
+SRC=$PACKAGE-$VERSION.$EXTENSION
+BUILD=${BUILD:=1rud}
+TMP=${TMP:=/tmp}
+REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+OPTCONF=${OPTCONF:=""}
+MD5=${MD5:=$MD5_ORIG}
+URL=${URL:="http://download.videolan.org/pub/libdvdcss/$VERSION/$SRC"}
+
+# ---------------- SlackBuild Help ----------------------
+if [ "$1" = "--help" -o "$1" = "help" ]; then
+ echo -e "\033[01;32m
+Use: var1=\"value 1\" var2=\"value 2\" ... <package>.SlackBuild
+where:
+ ARCH=machine arch (i386, i486, i686, ...)
+ VERSION=package version
+ BUILD=package build version (default 1rud)
+ SRC=source name of package
+ SRC_DIR=source directory (default $PWD)
+ TMP=temporary directory (default /tmp)
+ REPOS=repository directory
+ PREFIX=prefix from install package
+ OPTCONF=options to pass from ./configure. To configure
+ help, use OPTCONF=\"--help\"
+ MD5=md5sum from package source
+ URL=url from package source
+\033[m"
+ exit $ERROR_HELP
+fi
+
+# ---------------- Download fontes ----------------------
+# Fonte a ser compilada, com o path
+SOURCE=$SRC_DIR/$PACKAGE/$SRC
+# Verifica existência do pacote em $SRC em $SRC_DIR
+if [ ! -e $SOURCE ]; then
+ echo -e "\n\n\033[01;32m Download $PACKAGE \n\033[m"
+ wget "$URL" -P "$SRC_DIR/$PACKAGE"
+ # Verifica se o
+ if [ $? -ne 0 ]; then
+ echo -e "\n\n\033[01;31m No such source file in $URL\n\033[m"
+ exit $ERROR_WGET
+ fi
+fi
+
+# ------------------ Checa md5sum -----------------------
+if [ "$SRC_ORIG" = "$SRC" -o "$MD5" != "$MD5_ORIG" -a "$MD5" != "no" ]; then
+ SUM=`md5sum $SOURCE | awk '{print $1}'`
+ if [ "$SUM" != "$MD5" ]; then
+ echo -e "\n\n\033[01;31m MD5SUM error: run Slackbuild again \n\033[m"
+ echo -e "\033[01;31m Remove $PACKAGE from $SRC_DIR and start Slackbuild again or use MD5=\"no\" \n\033[m"
+ exit 0
+ fi
+ echo -e "\n\n\033[01;32m Md5sum Ok \n\033[m"
+fi
+
+# ----------------- ARCH e LIBDIR -----------------------
+# Libdir, para arch x86_64
+LIBDIR=$PREFIX/lib
+# Seleciona flags para o compilador
+if [ "$ARCH" = "i386" ]; then
+ SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIR="$PREFIX/lib64"
+fi
+
+# -------------- Desempacota fontes ---------------------
+# Desempacota fontes em PKG_SRC=$TMP/$PACKAGE-source
+PKG_SRC=$TMP/$PACKAGE-source
+rm -rf $PKG_SRC 2>/dev/null
+mkdir -p $PKG_SRC
+# Desempacota $SOURCE em $TMP/$PACKAGE-source
+tar xvf $SOURCE -C $PKG_SRC
+if [ $? -ne 0 ]; then
+ echo -e "\n\n\033[01;31m $SOURCE file error \n\033[m"
+ exit $ERROR_TAR
+fi
+# Pega o nome do diretório das fontes independente de sua
+# estrutura (package-version...)
+PKG_DIR="$PKG_SRC/$( ls $PKG_SRC/ )"
+cd $PKG_DIR
+
+# -------------- Configura programa ---------------------
+# Configura programa
+echo -e "\n\n\033[01;32m CFLAGS=\"$SLKCFLAGS\" ./configure --prefix=$PREFIX --libdir=$LIBDIR $OPTCONF \n\033[m"
+CFLAGS="$SLKCFLAGS" ./configure --prefix=$PREFIX --libdir=$LIBDIR $OPTCONF
+if [ $? -ne 0 -o "$OPTCONF" = "--help" ]; then
+ echo -e "\n\n\033[01;31m Configure error \n\033[m"
+ exit $ERROR_CONF
+fi
+
+# ---------------- Compila programa ---------------------
+echo -e "\n\n\033[01;32m make -j3 \n\033[m"
+make -j3
+if [ $? -ne 0 ]; then
+ echo -e "\n\n\033[01;31m Build error \n\033[m"
+ exit $ERROR_MAKE
+fi
+
+# ------------- Diretório Temporário --------------------
+# Cria diretório temporário para construção do pacote
+PKG=$TMP/$PACKAGE
+rm -rf $PKG
+mkdir -p $PKG
+
+# --------------- Instala programa ----------------------
+# Instala programa em diretório temporário
+echo -e "\n\n\033[01;32m make install DESTDIR=$PKG \n\033[m"
+make install DESTDIR=$PKG
+if [ $? -ne 0 ]; then
+ echo -e "\n\n\033[01;31m Install error \n\033[m"
+ exit $ERROR_INSTALL
+fi
+
+# ----------------- Stripa código -----------------------
+cd $PKG
+find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# ---------------- Cria slack-desc ----------------------
+mkdir $PKG/install
+cat << EOF > install/slack-desc
+# 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------------------------------------------------------|
+libdvdcss: Libdvdcss.SlackBuild by Rudson R. Alves
+libdvdcss:
+libdvdcss: libdvdcss is part of the VideoLAN project, a full MPEG2 client/server
+libdvdcss: solution. The VideoLAN Client can also be used as a standalone program
+libdvdcss: to play MPEG2 streams from a hard disk or a DVD.
+libdvdcss:
+libdvdcss:
+libdvdcss:
+libdvdcss:
+libdvdcss:
+EOF
+
+# ----------------- Documentações -----------------------
+# Criar diretório de documentação
+PKG_DOC=$PKG/usr/doc/$PACKAGE-$VERSION
+mkdir -p $PKG_DOC
+cp $PKG_DIR/{AUTHORS,COPYING,ChangeLog,INSTALL,NEWS,README,doc/latex/refman.ps} $PKG_DOC
+mkdir $PKG_DOC/html
+cp $PKG_DIR/doc/html/* $PKG_DOC/html/
+
+# --------------- Constroi o pacote ---------------------
+echo -e "\n\n\033[01;32m makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz \n\033[m"
+makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz
+if [ $? -ne 0 ]; then
+ exit $ERROR_MKPKG
+fi
+
+# ----------- Remove arquivos temporários ---------------
+if [ "$CLEANUP" = "yes" ]; then
+ echo -e "\n\n\033[01;32m Remove files... \n\033[m"
+ rm -rf $PKG $PKG_SRC
+fi
diff --git a/media/libs/libdvdplay/libdvdplay.SlackBuild b/media/libs/libdvdplay/libdvdplay.SlackBuild
new file mode 100755
index 00000000..48351b33
--- /dev/null
+++ b/media/libs/libdvdplay/libdvdplay.SlackBuild
@@ -0,0 +1,201 @@
+#!/bin/bash
+#
+# slackbuild for libdvdplay, by Rudson R. Alves
+# requires: none
+# tested: libdvdplay-1.0.1
+
+CWD=`pwd`
+
+# ---- Inicializa variáveis com o slackbuild ------------
+if [ -e "/root/.slackbuildrc" ]; then
+ source /root/.slackbuildrc
+elif [ -e "/etc/slackbuildrc" ]; then
+ source /etc/slackbuildrc
+fi
+
+# -------- Variáveis de controle de versão --------------
+# Nome da fonte para a qual o slackbuild foi construído e
+# o seu md5sum
+SRC_ORIG="libdvdplay-1.0.1.tar.bz2"
+MD5_ORIG="602bca4ef78d79aa87e5e8920d958a78"
+PACKAGE_ORIG=`echo $SRC_ORIG | sed -r 's/(.*)-(.*)\.(.*\..*)$/\1/'`
+VERSION_ORIG=`echo $SRC_ORIG | sed -r 's/(.*)-(.*)\.(.*\..*)$/\2/'`
+ EXTENSION=`echo $SRC_ORIG | sed -r 's/(.*)-(.*)\.(.*\..*)$/\3/'`
+
+# ------- Códigos de erro para o createpkg --------------
+ERROR_WGET=31; ERROR_MAKE=32; ERROR_INSTALL=33
+ERROR_MD5=34; ERROR_CONF=35; ERROR_HELP=36
+ERROR_TAR=37; ERROR_MKPKG=38; ERROR_GPG=39
+ERROR_PATCH=40; ERROR_VCS=41
+
+# --------- Inicializa variáveis de entrada -------------
+PACKAGE=$PACKAGE_ORIG
+ARCH=${ARCH:=i468}
+SRC_DIR=${SRC:=$CWD}
+VERSION=${VERSION:=$VERSION_ORIG}
+SRC=$PACKAGE-$VERSION.$EXTENSION
+BUILD=${BUILD:=1rud}
+TMP=${TMP:=/tmp}
+REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+OPTCONF=${OPTCONF:=""}
+MD5=${MD5:=$MD5_ORIG}
+URL=${URL:="http://download.videolan.org/pub/libdvdplay/$VERSION/$SRC"}
+
+# ---------------- SlackBuild Help ----------------------
+if [ "$1" = "--help" -o "$1" = "help" ]; then
+ echo -e "\033[01;32m
+Use: var1=\"value 1\" var2=\"value 2\" ... <package>.SlackBuild
+where:
+ ARCH=machine arch (i386, i486, i686, ...)
+ VERSION=package version
+ BUILD=package build version (default 1rud)
+ SRC=source name of package
+ SRC_DIR=source directory (default $PWD)
+ TMP=temporary directory (default /tmp)
+ REPOS=repository directory
+ PREFIX=prefix from install package
+ OPTCONF=options to pass from ./configure. To configure
+ help, use OPTCONF=\"--help\"
+ MD5=md5sum from package source
+ URL=url from package source
+\033[m"
+ exit $ERROR_HELP
+fi
+
+# ---------------- Download fontes ----------------------
+# Fonte a ser compilada, com o path
+SOURCE=$SRC_DIR/$PACKAGE/$SRC
+# Verifica existência do pacote em $SRC em $SRC_DIR
+if [ ! -e $SOURCE ]; then
+ echo -e "\n\n\033[01;32m Download $PACKAGE \n\033[m"
+ wget "$URL" -P "$SRC_DIR/$PACKAGE"
+ # Verifica se o
+ if [ $? -ne 0 ]; then
+ echo -e "\n\n\033[01;31m No such source file in $URL\n\033[m"
+ exit $ERROR_WGET
+ fi
+fi
+
+# ------------------ Checa md5sum -----------------------
+if [ "$SRC_ORIG" = "$SRC" -o "$MD5" != "$MD5_ORIG" -a "$MD5" != "no" ]; then
+ SUM=`md5sum $SOURCE | awk '{print $1}'`
+ if [ "$SUM" != "$MD5" ]; then
+ echo -e "\n\n\033[01;31m MD5SUM error: run Slackbuild again \n\033[m"
+ echo -e "\033[01;31m Remove $PACKAGE from $SRC_DIR and start Slackbuild again or use MD5=\"no\" \n\033[m"
+ exit 0
+ fi
+ echo -e "\n\n\033[01;32m Md5sum Ok \n\033[m"
+fi
+
+# ----------------- ARCH e LIBDIR -----------------------
+# Libdir, para arch x86_64
+LIBDIR=$PREFIX/lib
+# Seleciona flags para o compilador
+if [ "$ARCH" = "i386" ]; then
+ SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIR="$PREFIX/lib64"
+fi
+
+# -------------- Desempacota fontes ---------------------
+# Desempacota fontes em PKG_SRC=$TMP/$PACKAGE-source
+PKG_SRC=$TMP/$PACKAGE-source
+rm -rf $PKG_SRC 2>/dev/null
+mkdir -p $PKG_SRC
+# Desempacota $SOURCE em $TMP/$PACKAGE-source
+tar xvf $SOURCE -C $PKG_SRC
+if [ $? -ne 0 ]; then
+ echo -e "\n\n\033[01;31m $SOURCE file error \n\033[m"
+ exit $ERROR_TAR
+fi
+# Pega o nome do diretório das fontes independente de sua
+# estrutura (package-version...)
+PKG_DIR="$PKG_SRC/$( ls $PKG_SRC/ )"
+cd $PKG_DIR
+
+# -------------- Configura programa ---------------------
+# Configura programa
+echo -e "\n\n\033[01;32m CFLAGS=\"$SLKCFLAGS\" ./configure --prefix=$PREFIX --libdir=$LIBDIR $OPTCONF \n\033[m"
+CFLAGS="$SLKCFLAGS" ./configure --prefix=$PREFIX --libdir=$LIBDIR $OPTCONF
+if [ $? -ne 0 -o "$OPTCONF" = "--help" ]; then
+ echo -e "\n\n\033[01;31m Configure error \n\033[m"
+ exit $ERROR_CONF
+fi
+
+# ---------------- Compila programa ---------------------
+echo -e "\n\n\033[01;32m make -j3 \n\033[m"
+make -j3
+if [ $? -ne 0 ]; then
+ echo -e "\n\n\033[01;31m Build error \n\033[m"
+ exit $ERROR_MAKE
+fi
+
+# ------------- Diretório Temporário --------------------
+# Cria diretório temporário para construção do pacote
+PKG=$TMP/$PACKAGE
+rm -rf $PKG
+mkdir -p $PKG
+
+# --------------- Instala programa ----------------------
+# Instala programa em diretório temporário
+echo -e "\n\n\033[01;32m make install DESTDIR=$PKG \n\033[m"
+make install DESTDIR=$PKG
+if [ $? -ne 0 ]; then
+ echo -e "\n\n\033[01;31m Install error \n\033[m"
+ exit $ERROR_INSTALL
+fi
+
+# ----------------- Stripa código -----------------------
+cd $PKG
+find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# ---------------- Cria slack-desc ----------------------
+mkdir $PKG/install
+cat << EOF > install/slack-desc
+# 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------------------------------------------------------|
+libdvdplay: libdvdplay.SlackBuild by Rudson R. Alves
+libdvdplay:
+libdvdplay: libdvdplay is an attempt to make a library from ogle dvd navigation
+libdvdplay: code so that a simple API provides access to both DVD Video data
+libdvdplay: and DVD information to a reader application.
+libdvdplay:
+libdvdplay: libdvdplay is a layer over libdvdread. As a consequence it provides
+libdvdplay: read, seek for DVD media. But it also provides the client
+libdvdplay: application with a set of access functions needed to create an
+libdvdplay: interface for the DVD reader (audio, subtitles, titles ...).
+EOF
+
+# ----------------- Documentações -----------------------
+# Criar diretório de documentação
+PKG_DOC=$PKG/usr/doc/$PACKAGE-$VERSION
+mkdir -p $PKG_DOC
+cp $PKG_DIR/{AUTHORS,COPYING,ChangeLog,INSTALL,NEWS,README,THANKS,TODO} $PKG_DOC
+
+# --------------- Constroi o pacote ---------------------
+echo -e "\n\n\033[01;32m makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz \n\033[m"
+makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz
+if [ $? -ne 0 ]; then
+ exit $ERROR_MKPKG
+fi
+
+# ----------- Remove arquivos temporários ---------------
+if [ "$CLEANUP" = "yes" ]; then
+ echo -e "\n\n\033[01;32m Remove files... \n\033[m"
+ rm -rf $PKG $PKG_SRC
+fi
diff --git a/media/libs/libdvdplay/slack-required b/media/libs/libdvdplay/slack-required
new file mode 100644
index 00000000..2539ecbd
--- /dev/null
+++ b/media/libs/libdvdplay/slack-required
@@ -0,0 +1 @@
+libdvdread
diff --git a/media/libs/libdvdread/libdvdread.SlackBuild b/media/libs/libdvdread/libdvdread.SlackBuild
new file mode 100755
index 00000000..3f961f92
--- /dev/null
+++ b/media/libs/libdvdread/libdvdread.SlackBuild
@@ -0,0 +1,201 @@
+#!/bin/bash
+#
+# slackbuild for libdvdread, by Rudson R. Alves
+# requires: none
+# tested: libdvdread-0.9.7
+
+CWD=`pwd`
+
+# ---- Inicializa variáveis com o slackbuild ------------
+if [ -e "/root/.slackbuildrc" ]; then
+ source /root/.slackbuildrc
+elif [ -e "/etc/slackbuildrc" ]; then
+ source /etc/slackbuildrc
+fi
+
+# -------- Variáveis de controle de versão --------------
+# Nome da fonte para a qual o slackbuild foi construído e
+# o seu md5sum
+SRC_ORIG="libdvdread-0.9.7.tar.gz"
+MD5_ORIG="078788c9241ae16763529e1235502337"
+PACKAGE_ORIG=`echo $SRC_ORIG | sed -r 's/(.*)-(.*)\.(.*\..*)$/\1/'`
+VERSION_ORIG=`echo $SRC_ORIG | sed -r 's/(.*)-(.*)\.(.*\..*)$/\2/'`
+ EXTENSION=`echo $SRC_ORIG | sed -r 's/(.*)-(.*)\.(.*\..*)$/\3/'`
+
+# ------- Códigos de erro para o createpkg --------------
+ERROR_WGET=31; ERROR_MAKE=32; ERROR_INSTALL=33
+ERROR_MD5=34; ERROR_CONF=35; ERROR_HELP=36
+ERROR_TAR=37; ERROR_MKPKG=38; ERROR_GPG=39
+ERROR_PATCH=40; ERROR_VCS=41
+
+# --------- Inicializa variáveis de entrada -------------
+PACKAGE=$PACKAGE_ORIG
+ARCH=${ARCH:=i468}
+SRC_DIR=${SRC:=$CWD}
+VERSION=${VERSION:=$VERSION_ORIG}
+SRC=$PACKAGE-$VERSION.$EXTENSION
+BUILD=${BUILD:=1rud}
+TMP=${TMP:=/tmp}
+REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+OPTCONF=${OPTCONF:=""}
+MD5=${MD5:=$MD5_ORIG}
+URL=${URL:="http://freshmeat.net/redir/libdvdread/17926/url_tgz/$SRC"}
+
+# ---------------- SlackBuild Help ----------------------
+if [ "$1" = "--help" -o "$1" = "help" ]; then
+ echo -e "\033[01;32m
+Use: var1=\"value 1\" var2=\"value 2\" ... <package>.SlackBuild
+where:
+ ARCH=machine arch (i386, i486, i686, ...)
+ VERSION=package version
+ BUILD=package build version (default 1rud)
+ SRC=source name of package
+ SRC_DIR=source directory (default $PWD)
+ TMP=temporary directory (default /tmp)
+ REPOS=repository directory
+ PREFIX=prefix from install package
+ OPTCONF=options to pass from ./configure. To configure
+ help, use OPTCONF=\"--help\"
+ MD5=md5sum from package source
+ URL=url from package source
+\033[m"
+ exit $ERROR_HELP
+fi
+
+# ---------------- Download fontes ----------------------
+# Fonte a ser compilada, com o path
+SOURCE=$SRC_DIR/$PACKAGE/$SRC
+# Verifica existência do pacote em $SRC em $SRC_DIR
+if [ ! -e $SOURCE ]; then
+ echo -e "\n\n\033[01;32m Download $PACKAGE \n\033[m"
+ wget "$URL" -P "$SRC_DIR/$PACKAGE"
+ # Verifica se o
+ if [ $? -ne 0 ]; then
+ echo -e "\n\n\033[01;31m No such source file in $URL\n\033[m"
+ exit $ERROR_WGET
+ fi
+fi
+
+# ------------------ Checa md5sum -----------------------
+if [ "$SRC_ORIG" = "$SRC" -o "$MD5" != "$MD5_ORIG" -a "$MD5" != "no" ]; then
+ SUM=`md5sum $SOURCE | awk '{print $1}'`
+ if [ "$SUM" != "$MD5" ]; then
+ echo -e "\n\n\033[01;31m MD5SUM error: run Slackbuild again \n\033[m"
+ echo -e "\033[01;31m Remove $PACKAGE from $SRC_DIR and start Slackbuild again or use MD5=\"no\" \n\033[m"
+ exit 0
+ fi
+ echo -e "\n\n\033[01;32m Md5sum Ok \n\033[m"
+fi
+
+# ----------------- ARCH e LIBDIR -----------------------
+# Libdir, para arch x86_64
+LIBDIR=$PREFIX/lib
+# Seleciona flags para o compilador
+if [ "$ARCH" = "i386" ]; then
+ SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIR="$PREFIX/lib64"
+fi
+
+# -------------- Desempacota fontes ---------------------
+# Desempacota fontes em PKG_SRC=$TMP/$PACKAGE-source
+PKG_SRC=$TMP/$PACKAGE-source
+rm -rf $PKG_SRC 2>/dev/null
+mkdir -p $PKG_SRC
+# Desempacota $SOURCE em $TMP/$PACKAGE-source
+tar xvf $SOURCE -C $PKG_SRC
+if [ $? -ne 0 ]; then
+ echo -e "\n\n\033[01;31m $SOURCE file error \n\033[m"
+ exit $ERROR_TAR
+fi
+# Pega o nome do diretório das fontes independente de sua
+# estrutura (package-version...)
+PKG_DIR="$PKG_SRC/$( ls $PKG_SRC/ )"
+cd $PKG_DIR
+
+# -------------- Configura programa ---------------------
+# Configura programa
+echo -e "\n\n\033[01;32m CFLAGS=\"$SLKCFLAGS\" ./configure --prefix=$PREFIX --libdir=$LIBDIR $OPTCONF \n\033[m"
+CFLAGS="$SLKCFLAGS" ./configure --prefix=$PREFIX --libdir=$LIBDIR $OPTCONF --with-libdvdcss
+if [ $? -ne 0 -o "$OPTCONF" = "--help" ]; then
+ echo -e "\n\n\033[01;31m Configure error \n\033[m"
+ exit $ERROR_CONF
+fi
+
+# ---------------- Compila programa ---------------------
+echo -e "\n\n\033[01;32m make -j3 \n\033[m"
+make -j3
+if [ $? -ne 0 ]; then
+ echo -e "\n\n\033[01;31m Build error \n\033[m"
+ exit $ERROR_MAKE
+fi
+
+# ------------- Diretório Temporário --------------------
+# Cria diretório temporário para construção do pacote
+PKG=$TMP/$PACKAGE
+rm -rf $PKG
+mkdir -p $PKG
+
+# --------------- Instala programa ----------------------
+# Instala programa em diretório temporário
+echo -e "\n\n\033[01;32m make install DESTDIR=$PKG \n\033[m"
+make install DESTDIR=$PKG
+if [ $? -ne 0 ]; then
+ echo -e "\n\n\033[01;31m Install error \n\033[m"
+ exit $ERROR_INSTALL
+fi
+
+# ----------------- Stripa código -----------------------
+cd $PKG
+find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# ---------------- Cria slack-desc ----------------------
+mkdir $PKG/install
+cat << EOF > install/slack-desc
+# 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------------------------------------------------------|
+libdvdread: libdvdread.SlackBuild by Rudson R. Alves
+libdvdread:
+libdvdread: libdvdread provides a simple foundation for reading DVD-Video
+libdvdread: images. It offers DVD applications:
+libdvdread: 1. A simple abstraction for reading the files on a DVD image
+libdvdread: 2. A simple library for parsing the information (IFO) files
+libdvdread: 3. A simple library for parsing the navigation (NAV) packets
+libdvdread:
+libdvdread: This allows application designers to access some of the more
+libdvdread: advanced features of the DVD format.
+EOF
+
+# ----------------- Documentações -----------------------
+# Criar diretório de documentação
+PKG_DOC=$PKG/usr/doc/$PACKAGE-$VERSION
+mkdir -p $PKG_DOC
+cp $PKG_DIR/{AUTHORS,COPYING,ChangeLog,INSTALL,NEWS,README,TODO} $PKG_DOC
+
+# --------------- Constroi o pacote ---------------------
+echo -e "\n\n\033[01;32m makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz \n\033[m"
+makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz
+if [ $? -ne 0 ]; then
+ exit $ERROR_MKPKG
+fi
+
+# ----------- Remove arquivos temporários ---------------
+if [ "$CLEANUP" = "yes" ]; then
+ echo -e "\n\n\033[01;32m Remove files... \n\033[m"
+ rm -rf $PKG $PKG_SRC
+fi
diff --git a/media/libs/libdvdread/slack-required b/media/libs/libdvdread/slack-required
new file mode 100644
index 00000000..2a9cfbbc
--- /dev/null
+++ b/media/libs/libdvdread/slack-required
@@ -0,0 +1 @@
+libdvdcss
diff --git a/media/libs/libexif-gtk/libexif-gtk.SlackBuild b/media/libs/libexif-gtk/libexif-gtk.SlackBuild
new file mode 100755
index 00000000..f4ec012d
--- /dev/null
+++ b/media/libs/libexif-gtk/libexif-gtk.SlackBuild
@@ -0,0 +1,124 @@
+#!/bin/bash
+#
+# slackbuild script for libexif-gtk
+# by rhatto at riseup.net
+#
+
+if [ -s "slack-required" ]; then
+ echo Recomended and required packages for building libexif-gtk are:
+ cat slack-required | sed -e 's/^/\t/'
+ if [ "$INTERACT" != "no" ]; then
+ echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
+ read crap
+# else
+# echo Sleeping 3 seconds...
+# sleep 3
+ fi
+fi
+
+CWD="`pwd`"
+
+if [ -f ~/.slackbuildrc ]; then
+ source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+ source /etc/slackbuildrc
+fi
+
+# default settings
+PACKAGE="libexif-gtk"
+ARCH=${ARCH:=i486}
+VERSION=${VERSION:=0.3.5}
+BUILD=${BUILD:=1rha}
+SRC_DIR=${SRC:=$CWD}
+TMP=${TMP:=/tmp}
+REPOS=${REPOS:=$TMP}
+
+if [ "$ARCH" == "x86_64" ]; then
+ export LDFLAGS="-L/lib64 -L/usr/lib64"
+ LIBDIR=/usr/lib64
+else
+ LIBDIR=/usr/lib
+fi
+
+# ------- error codes for createpkg --------------
+ERROR_WGET=31; ERROR_MAKE=32; ERROR_INSTALL=33
+ERROR_MD5=34; ERROR_CONF=35; ERROR_HELP=36
+ERROR_TAR=37; ERROR_MKPKG=38; ERROR_GPG=39
+ERROR_PATCH=40
+
+RTOOL="wget"
+PACKAGE_EXT="bz2"
+SRC="$PACKAGE-$VERSION.tar.$PACKAGE_EXT"
+URL="http://easynews.dl.sourceforge.net/sourceforge/libexif/$SRC"
+
+SRC_DIR="$SRC_DIR/$PACKAGE"
+mkdir -p $SRC_DIR
+
+if [ "$RTOOL" == "wget" ] && [ ! -f "$SRC_DIR/$SRC" ]; then
+ wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+
+TMP="$TMP/$PACKAGE"
+rm -rf $TMP
+mkdir -p $TMP
+cd $TMP
+
+tar xvf $SRC_DIR/$SRC || exit $ERROR_TAR
+cd $PACKAGE-$VERSION
+
+if [ -f "$CWD/$PACKAGE-$VERSION.diff" ]; then
+ patch -p1 < $CWD/$PACKAGE-$VERSION.diff || exit $ERROR_PATCH
+fi
+
+# see http://blog.gmane.org/gmane.comp.graphics.libexif.devel/month=20060101
+export CFLAGS="-I/usr/include/libexif/"
+
+./configure --prefix=/usr --libdir=$LIBDIR || exit $ERROR_CONF
+make || exit $ERROR_MAKE
+make DESTDIR=$TMP/package-$PACKAGE install || exit $ERROR_INSTALL
+
+CWD="`pwd`"
+
+cd $TMP/package-$PACKAGE
+
+find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+mkdir install
+cat << EOF > install/slack-desc
+# 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-----------------------------------------------------|
+libexif-gtk: libexif-gtk (library to read and write EXIF data)
+libexif-gtk:
+libexif-gtk: Libexif reads and writes EXIF metainformation from and to image
+libexif-gtk: files.
+libexif-gtk:
+libexif-gtk:
+libexif-gtk:
+libexif-gtk:
+libexif-gtk:
+libexif-gtk:
+libexif-gtk:
+EOF
+
+# docs
+mkdir -p usr/doc/$PACKAGE-$VERSION
+
+DOCS="ABOUT-NLS AUTHORS COPYING ChangeLog INSTALL NEWS README"
+
+for file in $DOCS; do
+ cp $CWD/$file* usr/doc/$PACKAGE-$VERSION/
+done
+
+makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz || exit $ERROR_MKPKG
+
+if [ "$CLEANUP" == "yes" ]; then
+ rm -rf $TMP
+fi
+
diff --git a/media/libs/libgc/libgc.SlackBuild b/media/libs/libgc/libgc.SlackBuild
new file mode 100755
index 00000000..c31d8281
--- /dev/null
+++ b/media/libs/libgc/libgc.SlackBuild
@@ -0,0 +1,118 @@
+#!/bin/bash
+#
+# slackbuild script for libgc
+# by rafael at riseup.net
+#
+
+if [ -s "slack-required" ]; then
+ echo Recomended and required packages for building libgc are:
+ cat slack-required | sed -e 's/^/\t/'
+ if [ "$INTERACT" != "no" ]; then
+ echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
+ read crap
+# else
+# echo Sleeping 3 seconds...
+# sleep 3
+ fi
+fi
+
+CWD="`pwd`"
+
+if [ -f ~/.slackbuildrc ]; then
+ source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+ source /etc/slackbuildrc
+fi
+
+# default settings
+PACKAGE="gc"
+ARCH=${ARCH:=i486}
+VERSION=${VERSION:=6.8}
+BUILD=${BUILD:=1rd}
+SRC_DIR=${SRC:=$CWD}
+TMP=${TMP:=/tmp}
+REPOS=${REPOS:=$TMP}
+
+if [ "$ARCH" == "x86_64" ]; then
+ LIBDIR=/usr/lib64
+else
+ LIBDIR=/usr/lib
+fi
+
+RTOOL="wget"
+PACKAGE_EXT="gz"
+SRC="$PACKAGE$VERSION.tar.$PACKAGE_EXT"
+URL="http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/$SRC"
+
+SRC_DIR="$SRC_DIR/$PACKAGE"
+mkdir -p $SRC_DIR
+
+if [ "$PACKAGE_EXT" == "bz2" ]; then
+ tarflag="j"
+else
+ tarflag="z"
+fi
+
+if [ "$RTOOL" == "wget" ] && [ ! -f "$SRC_DIR/$SRC" ]; then
+ wget "$URL" -O "$SRC_DIR/$SRC"
+fi
+
+TMP="$TMP/$PACKAGE"
+rm -rf $TMP
+mkdir -p $TMP
+cd $TMP
+
+tar xvf$tarflag $SRC_DIR/$SRC
+cd $PACKAGE$VERSION
+
+if [ -f "$CWD/$PACKAGE-$VERSION.diff" ]; then
+ patch -p1 < $CWD/$PACKAGE-$VERSION.diff
+fi
+
+./configure --prefix=/usr --sysconfdir=/etc --libdir=$LIBDIR --with-docdir=/usr/doc/$PACKAGE-$VERSION
+make || exit 32
+make DESTDIR=$TMP/package-$PACKAGE install
+
+CWD="`pwd`"
+
+cd $TMP/package-$PACKAGE
+
+find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+mkdir install
+cat << EOF > install/slack-desc
+# 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-----------------------------------------------------|
+libgc: libgc (libgc is portable garbage colector library)
+libgc:
+libgc: The Boehm-Demers-Weiser conservative garbage collector can be used as
+libgc: a garbage collecting replacement for C malloc or C++ new. It allows
+libgc: you to allocate memory basically as you normally would, without
+libgc: explicitly deallocating memory that is no longer useful. The
+libgc: collector automatically recycles memory when it determines that it
+libgc: can no longer be otherwise accessed.
+libgc:
+libgc: http://www.hpl.hp.com/personal/Hans_Boehm/gc/
+libgc:
+EOF
+
+# docs
+mkdir -p usr/doc/$PACKAGE-$VERSION
+
+for file in README;do
+ cp $CWD/$file* usr/doc/$PACKAGE-$VERSION/
+done
+
+makepkg -c y -l y $REPOS/lib$PACKAGE-$VERSION-$ARCH-$BUILD.tgz
+
+if [ "$CLEANUP" == "yes" ]; then
+ rm -rf $TMP
+fi
+