From bb427dacc5c6cccc4e0c1b35d7733fdc1521e85d Mon Sep 17 00:00:00 2001 From: ayhanyalcinsoy Date: Fri, 19 Jun 2015 13:38:15 +0300 Subject: [PATCH] moved into main repo for pisi 2.0 --- multimedia/component.xml | 3 + multimedia/graphics/component.xml | 3 + multimedia/graphics/libjpeg-turbo/actions.py | 26 ++ .../libjpeg-turbo/files/fix_doc.patch | 18 ++ multimedia/graphics/libjpeg-turbo/pspec.xml | 102 +++++++ .../graphics/libjpeg-turbo/translations.xml | 13 + multimedia/graphics/libmng/actions.py | 42 +++ multimedia/graphics/libmng/pspec.xml | 84 +++++ multimedia/graphics/libmng/translations.xml | 10 + multimedia/graphics/tiff/actions.py | 32 ++ .../tiff/files/tiff-3.9.1-CVE-2011-0191.diff | 13 + .../tiff/files/tiff-3.9.1-no_contrib.diff | 24 ++ .../tiff/files/tiff-3.9.2-libjpeg7+.diff | 10 + multimedia/graphics/tiff/pspec.xml | 107 +++++++ multimedia/graphics/tiff/translations.xml | 26 ++ multimedia/graphics/webp/actions.py | 32 ++ multimedia/graphics/webp/pspec.xml | 99 ++++++ multimedia/graphics/webp/translations.xml | 17 ++ multimedia/misc/DirectFB/actions.py | 44 +++ multimedia/misc/DirectFB/pspec.xml | 115 +++++++ multimedia/misc/DirectFB/translations.xml | 13 + multimedia/misc/component.xml | 3 + multimedia/sound/component.xml | 3 + multimedia/sound/openal/actions.py | 41 +++ .../sound/openal/files/no-fpuextended.patch | 32 ++ multimedia/sound/openal/files/pthread.patch | 17 ++ multimedia/sound/openal/pspec.xml | 91 ++++++ multimedia/sound/openal/translations.xml | 19 ++ multimedia/sound/pulseaudio/actions.py | 101 ++++++ multimedia/sound/pulseaudio/comar/package.py | 9 + .../sound/pulseaudio/files/02PulseAudio | 98 ++++++ ...-port-available-Don-t-switch-profile.patch | 35 +++ .../pulseaudio-4.0-kde_autostart_phase.patch | 16 + .../pulseaudio-x11_device_manager.patch | 14 + .../pulseaudio/files/mandriva/pulseaudio.svg | 287 ++++++++++++++++++ .../files/mandriva/pulseaudio.sysconfig | 14 + .../files/mandriva/pulseaudio.xinit | 12 + .../files/mandriva/pulseaudio128.png | Bin 0 -> 65936 bytes .../files/mandriva/pulseaudio16.png | Bin 0 -> 1892 bytes .../files/mandriva/pulseaudio22.png | Bin 0 -> 3157 bytes .../files/mandriva/pulseaudio32.png | Bin 0 -> 5620 bytes .../files/mandriva/pulseaudio48.png | Bin 0 -> 5178 bytes .../files/mandriva/pulseaudio64.png | Bin 0 -> 18887 bytes .../files/pisilinux/pulseaudio.sysconfig | 22 ++ .../sound/pulseaudio/files/pulseaudio.conf | 1 + .../sound/pulseaudio/files/tmpfiles.conf | 1 + multimedia/sound/pulseaudio/pspec.xml | 255 ++++++++++++++++ multimedia/sound/pulseaudio/translations.xml | 38 +++ multimedia/video/component.xml | 3 + multimedia/video/gst-plugins-bad/actions.py | 46 +++ .../gst-plugins-bad/files/directfb.patch | 12 + multimedia/video/gst-plugins-bad/pspec.xml | 217 +++++++++++++ .../video/gst-plugins-bad/translations.xml | 13 + .../video/gst-plugins-base-next/actions.py | 32 ++ .../video/gst-plugins-base-next/pspec.xml | 135 ++++++++ .../gst-plugins-base-next/translations.xml | 14 + multimedia/video/gst-plugins-base/actions.py | 43 +++ multimedia/video/gst-plugins-base/pspec.xml | 189 ++++++++++++ .../video/gst-plugins-base/translations.xml | 14 + multimedia/video/gstreamer-next/actions.py | 48 +++ multimedia/video/gstreamer-next/pspec.xml | 126 ++++++++ .../video/gstreamer-next/translations.xml | 19 ++ multimedia/video/gstreamer/actions.py | 51 ++++ multimedia/video/gstreamer/files/bison3.patch | 31 ++ .../gstreamer/files/wrapper-plugins.patch | 179 +++++++++++ multimedia/video/gstreamer/pspec.xml | 107 +++++++ multimedia/video/gstreamer/translations.xml | 19 ++ 67 files changed, 3240 insertions(+) create mode 100644 multimedia/component.xml create mode 100644 multimedia/graphics/component.xml create mode 100644 multimedia/graphics/libjpeg-turbo/actions.py create mode 100644 multimedia/graphics/libjpeg-turbo/files/fix_doc.patch create mode 100644 multimedia/graphics/libjpeg-turbo/pspec.xml create mode 100644 multimedia/graphics/libjpeg-turbo/translations.xml create mode 100644 multimedia/graphics/libmng/actions.py create mode 100644 multimedia/graphics/libmng/pspec.xml create mode 100644 multimedia/graphics/libmng/translations.xml create mode 100644 multimedia/graphics/tiff/actions.py create mode 100644 multimedia/graphics/tiff/files/tiff-3.9.1-CVE-2011-0191.diff create mode 100644 multimedia/graphics/tiff/files/tiff-3.9.1-no_contrib.diff create mode 100644 multimedia/graphics/tiff/files/tiff-3.9.2-libjpeg7+.diff create mode 100644 multimedia/graphics/tiff/pspec.xml create mode 100644 multimedia/graphics/tiff/translations.xml create mode 100644 multimedia/graphics/webp/actions.py create mode 100644 multimedia/graphics/webp/pspec.xml create mode 100644 multimedia/graphics/webp/translations.xml create mode 100644 multimedia/misc/DirectFB/actions.py create mode 100644 multimedia/misc/DirectFB/pspec.xml create mode 100644 multimedia/misc/DirectFB/translations.xml create mode 100644 multimedia/misc/component.xml create mode 100644 multimedia/sound/component.xml create mode 100644 multimedia/sound/openal/actions.py create mode 100644 multimedia/sound/openal/files/no-fpuextended.patch create mode 100644 multimedia/sound/openal/files/pthread.patch create mode 100644 multimedia/sound/openal/pspec.xml create mode 100644 multimedia/sound/openal/translations.xml create mode 100644 multimedia/sound/pulseaudio/actions.py create mode 100644 multimedia/sound/pulseaudio/comar/package.py create mode 100644 multimedia/sound/pulseaudio/files/02PulseAudio create mode 100644 multimedia/sound/pulseaudio/files/fedora/0036-module-switch-on-port-available-Don-t-switch-profile.patch create mode 100644 multimedia/sound/pulseaudio/files/fedora/pulseaudio-4.0-kde_autostart_phase.patch create mode 100644 multimedia/sound/pulseaudio/files/fedora/pulseaudio-x11_device_manager.patch create mode 100644 multimedia/sound/pulseaudio/files/mandriva/pulseaudio.svg create mode 100644 multimedia/sound/pulseaudio/files/mandriva/pulseaudio.sysconfig create mode 100644 multimedia/sound/pulseaudio/files/mandriva/pulseaudio.xinit create mode 100644 multimedia/sound/pulseaudio/files/mandriva/pulseaudio128.png create mode 100644 multimedia/sound/pulseaudio/files/mandriva/pulseaudio16.png create mode 100644 multimedia/sound/pulseaudio/files/mandriva/pulseaudio22.png create mode 100644 multimedia/sound/pulseaudio/files/mandriva/pulseaudio32.png create mode 100644 multimedia/sound/pulseaudio/files/mandriva/pulseaudio48.png create mode 100644 multimedia/sound/pulseaudio/files/mandriva/pulseaudio64.png create mode 100644 multimedia/sound/pulseaudio/files/pisilinux/pulseaudio.sysconfig create mode 100644 multimedia/sound/pulseaudio/files/pulseaudio.conf create mode 100644 multimedia/sound/pulseaudio/files/tmpfiles.conf create mode 100644 multimedia/sound/pulseaudio/pspec.xml create mode 100644 multimedia/sound/pulseaudio/translations.xml create mode 100644 multimedia/video/component.xml create mode 100644 multimedia/video/gst-plugins-bad/actions.py create mode 100644 multimedia/video/gst-plugins-bad/files/directfb.patch create mode 100644 multimedia/video/gst-plugins-bad/pspec.xml create mode 100644 multimedia/video/gst-plugins-bad/translations.xml create mode 100644 multimedia/video/gst-plugins-base-next/actions.py create mode 100644 multimedia/video/gst-plugins-base-next/pspec.xml create mode 100644 multimedia/video/gst-plugins-base-next/translations.xml create mode 100644 multimedia/video/gst-plugins-base/actions.py create mode 100644 multimedia/video/gst-plugins-base/pspec.xml create mode 100644 multimedia/video/gst-plugins-base/translations.xml create mode 100644 multimedia/video/gstreamer-next/actions.py create mode 100644 multimedia/video/gstreamer-next/pspec.xml create mode 100644 multimedia/video/gstreamer-next/translations.xml create mode 100644 multimedia/video/gstreamer/actions.py create mode 100644 multimedia/video/gstreamer/files/bison3.patch create mode 100644 multimedia/video/gstreamer/files/wrapper-plugins.patch create mode 100644 multimedia/video/gstreamer/pspec.xml create mode 100644 multimedia/video/gstreamer/translations.xml diff --git a/multimedia/component.xml b/multimedia/component.xml new file mode 100644 index 0000000000..345f24ab0c --- /dev/null +++ b/multimedia/component.xml @@ -0,0 +1,3 @@ + + multimedia + diff --git a/multimedia/graphics/component.xml b/multimedia/graphics/component.xml new file mode 100644 index 0000000000..4215a068ce --- /dev/null +++ b/multimedia/graphics/component.xml @@ -0,0 +1,3 @@ + + multimedia.graphics + diff --git a/multimedia/graphics/libjpeg-turbo/actions.py b/multimedia/graphics/libjpeg-turbo/actions.py new file mode 100644 index 0000000000..85a797beec --- /dev/null +++ b/multimedia/graphics/libjpeg-turbo/actions.py @@ -0,0 +1,26 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/copyleft/gpl.txt + +from pisi.actionsapi import autotools +from pisi.actionsapi import get +from pisi.actionsapi import pisitools + +def setup(): + autotools.autoreconf("-fi") + if not get.buildTYPE() == "emul32": + autotools.configure("--with-jpeg8") + else: + pisitools.dosed("configure", "(NAFLAGS='-fel)f64( -DELF -D__x86_64__)", "\\1f32\\2") + autotools.configure("--with-jpeg8 --without-simd") + +def build(): + autotools.make() + +def install(): + autotools.rawInstall("DESTDIR=%s" % get.installDIR()) + if get.buildTYPE() == "emul32": return + + # provide jpegint.h as it is required by various software + pisitools.insinto("/usr/lib/include", "jpegint.h") diff --git a/multimedia/graphics/libjpeg-turbo/files/fix_doc.patch b/multimedia/graphics/libjpeg-turbo/files/fix_doc.patch new file mode 100644 index 0000000000..0faa663772 --- /dev/null +++ b/multimedia/graphics/libjpeg-turbo/files/fix_doc.patch @@ -0,0 +1,18 @@ +--- Makefile.am~ 2013-05-15 20:34:26.015505251 +0200 ++++ Makefile.am 2013-05-15 20:34:45.183504551 +0200 +@@ -123,14 +123,10 @@ + DOCS= install.txt coderules.txt filelist.txt jconfig.txt change.log \ + rdrle.c wrrle.c BUILDING.txt ChangeLog.txt + +-docdir = $(datadir)/doc ++docdir = $(datadir)/doc/libjpeg-turbo + dist_doc_DATA = README README-turbo.txt libjpeg.txt structure.txt usage.txt \ + wizard.txt + +-exampledir = $(datadir)/doc +-dist_example_DATA = example.c +- +- + EXTRA_DIST = win release $(DOCS) testimages CMakeLists.txt \ + sharedlib/CMakeLists.txt cmakescripts libjpeg.map.in doc doxygen.config \ + jccolext.c jdcolext.c jdmrgext.c diff --git a/multimedia/graphics/libjpeg-turbo/pspec.xml b/multimedia/graphics/libjpeg-turbo/pspec.xml new file mode 100644 index 0000000000..087f15ac97 --- /dev/null +++ b/multimedia/graphics/libjpeg-turbo/pspec.xml @@ -0,0 +1,102 @@ + + + + + libjpeg-turbo + http://www.libjpeg-turbo.org/ + + PisiLinux Community + admins@pisilinux.org + + GPLv3 + multimedia.graphics + app:gui + MMX, SSE, and SSE2 SIMD accelerated JPEG library + libjpeg-turbo is a derivative of libjpeg for x86 and x86-64 processors which uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression and decompression. libjpeg-turbo is generally 2-4x as fast as the unmodified version of libjpeg v6b, all else being equal. + mirrors://sourceforge/libjpeg-turbo/1.3.1/libjpeg-turbo-1.3.1.tar.gz + + fix_doc.patch + + + + + libjpeg-turbo + + jpeg + + + /usr/bin + /usr/lib + /usr/share/doc + /usr/share/man + + + + + libjpeg-turbo-devel + Development files for libjpeg-turbo + + libjpeg-turbo + + + jpeg-devel + + + /usr/include/ + + + + + libjpeg-turbo-32bit + emul32 + 32-bit shared libraries for jpeg + emul32 + + libjpeg-turbo + + + jpeg-32bit + + + /usr/lib32 + + + + + + 2014-05-15 + 1.3.1 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2013-05-15 + 1.2.1 + Switching from jpeg to libjpeg-turbo + Marcin Bojara + marcin@pisilinux.org + + + 2013-05-12 + 1.2.1 + Source url write mirrors + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2013-04-21 + 1.2.1 + Fixed + PisiLinux Community + admins@pisilinux.org + + + 2012-07-31 + 1.2.1 + First Release + PisiLinux Community + admins@pisilinux.org + + + diff --git a/multimedia/graphics/libjpeg-turbo/translations.xml b/multimedia/graphics/libjpeg-turbo/translations.xml new file mode 100644 index 0000000000..bb3fd4435d --- /dev/null +++ b/multimedia/graphics/libjpeg-turbo/translations.xml @@ -0,0 +1,13 @@ + + + + libjpeg-turbo + MMX, SSE, and SSE2 SIMD accelerated JPEG library + libjpeg-turbo is a derivative of libjpeg for x86 and x86-64 processors which +uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression and decompression. libjpeg-turbo is generally 2-4x as fast as the unmodified version of libjpeg v6b, all else being equal. + + + libjpeg-turbo-devel + libjpeg-turbo için geliştirme dosyaları + + diff --git a/multimedia/graphics/libmng/actions.py b/multimedia/graphics/libmng/actions.py new file mode 100644 index 0000000000..dc5e35dfd2 --- /dev/null +++ b/multimedia/graphics/libmng/actions.py @@ -0,0 +1,42 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import autotools +from pisi.actionsapi import pisitools +from pisi.actionsapi import shelltools +from pisi.actionsapi import get + + +def setup(): + shelltools.sym("makefiles/configure.in", "configure.in") + shelltools.sym("makefiles/Makefile.am", "Makefile.am") + shelltools.sym("makefiles/makefile.linux", "Makefile") + #shelltools.sym("contrib/gcc/sdl-mngplay/acinclude.m4", "acinclude.m4") + + shelltools.system("sed -i -e 's/unroll-loops/& -fPIC/' Makefile ") + + autotools.autoreconf("-fiv") + autotools.configure("--with-jpeg \ + --with-lcms \ + --disable-static \ + --disable-dependency-tracking") + + if get.buildTYPE() == "emul32": + options = " --libdir=/usr/lib32 \ + --with-jpeg \ + --disable-static \ + --disable-dependency-tracking" + shelltools.export("CFLAGS", "%s -m32" % get.CFLAGS()) + autotools.configure(options) + +def build(): + autotools.make() + +def install(): + autotools.rawInstall("DESTDIR=%s" % get.installDIR()) + + pisitools.doman("doc/man/*") + pisitools.dodoc("CHANGES", "LICENSE", "README*", "doc/doc.readme", "doc/misc/*", "doc/libmng.txt") diff --git a/multimedia/graphics/libmng/pspec.xml b/multimedia/graphics/libmng/pspec.xml new file mode 100644 index 0000000000..c381ad2c9b --- /dev/null +++ b/multimedia/graphics/libmng/pspec.xml @@ -0,0 +1,84 @@ + + + + + libmng + http://www.libmng.com/ + + PisiLinux Community + admins@pisilinux.org + + as-is + library + Multiple Image Networkgraphics lib (animated png's) + Libmng -The reference library for reading, displaying, writing and examining Multiple-Image Network Graphics. MNG is the animation extension to the popular PNG image-format. + http://sourceforge.net/projects/libmng/files/libmng-devel/2.0.2/libmng-2.0.2.tar.gz + + lcms-devel + libjpeg-turbo-devel + + + + + libmng + + libjpeg-turbo + lcms2 + + + /usr/lib + + + + + libmng-devel + + libmng + + + /usr/share/doc + /usr/share/man + /usr/include/ + + + + + libmng-32bit + emul32 + 32-bit shared libraries for libmng + emul32 + + zlib-32bit + lcms2-32bit + libjpeg-turbo-32bit + libmng + + + /usr/lib32 + + + + + + 2014-05-19 + 2.0.2 + Release bump. + Alihan Öztürk + alihan@pisilinux.org + + + 2014-01-31 + 2.0.2 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2012-12-16 + 1.0.10 + First release + Erdinç Gültekin + admins@pisilinux.org + + + diff --git a/multimedia/graphics/libmng/translations.xml b/multimedia/graphics/libmng/translations.xml new file mode 100644 index 0000000000..95233ecb33 --- /dev/null +++ b/multimedia/graphics/libmng/translations.xml @@ -0,0 +1,10 @@ + + + + libmng + Çoklu resim Networkgraphics (Animasyonlu png) + Libmng, Çoklu Görüntü Ağ Grafiklerini (MNG) okuma, görüntüleme, yazma ve denemek için başvuru kütüphanesidir. MNG popüler PNG görüntü formatı için animasyon uzantısıdır. + Libmng - La librairie de référence pour lire, afficher, écrire et examiner des Multiple-Image Network Graphics (graphiques orientés réseaux composés d'images multiples). MNG est l'extension d'animation pour le format d'image populaire PNG. + Libmng -librería de referencia para lectura, visualización, escritura y análisis de gráficos tipo Multiple-Image Network. MNG es la extensión de animación al formato popular de imágenes PNG. + + diff --git a/multimedia/graphics/tiff/actions.py b/multimedia/graphics/tiff/actions.py new file mode 100644 index 0000000000..b189da6cb3 --- /dev/null +++ b/multimedia/graphics/tiff/actions.py @@ -0,0 +1,32 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import autotools +from pisi.actionsapi import pisitools +from pisi.actionsapi import shelltools +from pisi.actionsapi import get + +def setup(): + shelltools.export("CFLAGS", "%s -fno-strict-aliasing" % get.CFLAGS()) + + autotools.autoreconf("-vfi") + autotools.configure("--disable-static \ + --disable-rpath \ + --without-x \ + --enable-cxx \ + --with-pic") + + pisitools.dosed("libtool", " -shared ", " -Wl,-O1,--as-needed -shared ") + +def build(): + autotools.make() + +def install(): + autotools.rawInstall("DESTDIR=%s" % get.installDIR()) + + if get.buildTYPE() == "emul32": return + + pisitools.rename("/%s/tiff-%s" % (get.docDIR(), get.srcVERSION()), get.srcNAME()) diff --git a/multimedia/graphics/tiff/files/tiff-3.9.1-CVE-2011-0191.diff b/multimedia/graphics/tiff/files/tiff-3.9.1-CVE-2011-0191.diff new file mode 100644 index 0000000000..ff51719b81 --- /dev/null +++ b/multimedia/graphics/tiff/files/tiff-3.9.1-CVE-2011-0191.diff @@ -0,0 +1,13 @@ +--- libtiff/tif_dir.c 2011-04-04 05:58:54.000000000 -0400 ++++ libtiff/tif_dir.c.oden 2011-04-04 05:59:08.000000000 -0400 +@@ -370,6 +370,10 @@ _TIFFVSetField(TIFF* tif, ttag_t tag, va + case TIFFTAG_YCBCRSUBSAMPLING: + td->td_ycbcrsubsampling[0] = (uint16) va_arg(ap, int); + td->td_ycbcrsubsampling[1] = (uint16) va_arg(ap, int); ++ if (td->td_ycbcrsubsampling[0] > 4) ++ td->td_ycbcrsubsampling[0] = (td->td_compression == 7) ? 1 : 2; ++ if (td->td_ycbcrsubsampling[1] > 4) ++ td->td_ycbcrsubsampling[1] = (td->td_compression == 7) ? 1 : 2; + break; + case TIFFTAG_TRANSFERFUNCTION: + v = (td->td_samplesperpixel - td->td_extrasamples) > 1 ? 3 : 1; diff --git a/multimedia/graphics/tiff/files/tiff-3.9.1-no_contrib.diff b/multimedia/graphics/tiff/files/tiff-3.9.1-no_contrib.diff new file mode 100644 index 0000000000..eff5d4ec8d --- /dev/null +++ b/multimedia/graphics/tiff/files/tiff-3.9.1-no_contrib.diff @@ -0,0 +1,24 @@ +diff -Naur tiff-3.9.1/Makefile.am tiff-3.9.1.oden/Makefile.am +--- tiff-3.9.1/Makefile.am 2009-08-21 18:46:01.000000000 +0200 ++++ tiff-3.9.1.oden/Makefile.am 2009-08-30 12:43:13.000000000 +0200 +@@ -47,7 +47,7 @@ + + dist_doc_DATA = $(docfiles) + +-SUBDIRS = port libtiff tools build contrib test man html ++SUBDIRS = port libtiff tools build test man html + + release: + (rm -f $(top_srcdir)/RELEASE-DATE && echo $(LIBTIFF_RELEASE_DATE) > $(top_srcdir)/RELEASE-DATE) +diff -Naur tiff-3.9.1/Makefile.in tiff-3.9.1.oden/Makefile.in +--- tiff-3.9.1/Makefile.in 2009-08-28 20:41:13.000000000 +0200 ++++ tiff-3.9.1.oden/Makefile.in 2009-08-30 12:43:33.000000000 +0200 +@@ -331,7 +331,7 @@ + nmake.opt + + dist_doc_DATA = $(docfiles) +-SUBDIRS = port libtiff tools build contrib test man html ++SUBDIRS = port libtiff tools build test man html + all: all-recursive + + .SUFFIXES: diff --git a/multimedia/graphics/tiff/files/tiff-3.9.2-libjpeg7+.diff b/multimedia/graphics/tiff/files/tiff-3.9.2-libjpeg7+.diff new file mode 100644 index 0000000000..ebb229c3dc --- /dev/null +++ b/multimedia/graphics/tiff/files/tiff-3.9.2-libjpeg7+.diff @@ -0,0 +1,10 @@ +--- libtiff/tif_jpeg.c 2010-09-30 13:43:31.045146032 +0200 ++++ libtiff/tif_jpeg.c.oden 2010-09-30 13:44:59.005141117 +0200 +@@ -850,6 +850,7 @@ JPEGPreDecode(TIFF* tif, tsample_t s) + if (downsampled_output) { + /* Need to use raw-data interface to libjpeg */ + sp->cinfo.d.raw_data_out = TRUE; ++ sp->cinfo.d.do_fancy_upsampling = FALSE; + tif->tif_decoderow = JPEGDecodeRaw; + tif->tif_decodestrip = JPEGDecodeRaw; + tif->tif_decodetile = JPEGDecodeRaw; diff --git a/multimedia/graphics/tiff/pspec.xml b/multimedia/graphics/tiff/pspec.xml new file mode 100644 index 0000000000..3dc29b051f --- /dev/null +++ b/multimedia/graphics/tiff/pspec.xml @@ -0,0 +1,107 @@ + + + + + tiff + http://www.remotesensing.org/libtiff/ + + PisiLinux Community + admins@pisilinux.org + + as-is + library + Library for manipulation of TIFF (Tag Image File Format) images + This software provides support for the Tag Image File Format (TIFF), a widely used format for storing image data. + ftp://ftp.remotesensing.org/pub/libtiff/tiff-4.0.3.tar.gz + + libjpeg-turbo-devel + jbigkit-devel + + + + + tiff + + libjpeg-turbo + jbigkit + + + /usr/bin + /usr/lib + + + + + tiff-devel + Developement files for tiff + + tiff + + + /usr/include + /usr/lib/pkgconfig + /usr/lib32/pkgconfig + + + + + tiff-docs + Documentation for tiff + + tiff + + + /usr/share/doc + /usr/share/man + + + + + tiff-32bit + emul32 + 32-bit shared libraries for tiff + emul32 + + libjpeg-turbo-32bit + + + tiff + libjpeg-turbo-32bit + xz-32bit + zlib-32bit + + + /usr/lib32 + + + + + 2014-05-19 + 4.0.3 + Release bump. + Alihan Öztürk + alihan@pisilinux.org + + + 2014-02-08 + 4.0.3 + Rebuild Unused + Varol Maksutoğlu + waroi@pisilinux.org + + + 2013-07-26 + 4.0.3 + Version bump. + Serdar Soytetir + kaptan@pisilinux.org + + + 2012-08-29 + 4.0.2 + First release + PisiLinux Community + admins@pisilinux.org + + + diff --git a/multimedia/graphics/tiff/translations.xml b/multimedia/graphics/tiff/translations.xml new file mode 100644 index 0000000000..10eb85863e --- /dev/null +++ b/multimedia/graphics/tiff/translations.xml @@ -0,0 +1,26 @@ + + + + tiff + TIFF (Tag Image File Format) türündeki resimleri işlemeye aracılık eden kütüphane + Bu kütüphane TIFF (Tag Image File Format) resim biçimi desteği sağlar. Bu biçim resim bilgisi saklamak için pek çok yerde kullanılır. + Ce logiciel fournit le support pour le format "Tag Image File Format" (TIFF), un format très employé pour stocker des informations d'image. + Este software facilita soporte para el formato de imagen etiqueteado (TIFF), un formato para almacenamiento de imágenes de uso común. + Biblioteka do manipulacji plikami w formacie TIFF. + + + + tiff-docs + tiff için belgelendirme dosyaları + + + + tiff-devel + tiff için geliştirme dosyaları + + + + tiff-32bit + tiff için 32-bit paylaşımlı kitaplıklar + + diff --git a/multimedia/graphics/webp/actions.py b/multimedia/graphics/webp/actions.py new file mode 100644 index 0000000000..18d47cc67d --- /dev/null +++ b/multimedia/graphics/webp/actions.py @@ -0,0 +1,32 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 2 +# See the file http://www.gnu.org/copyleft/gpl.txt + +from pisi.actionsapi import get +from pisi.actionsapi import autotools +from pisi.actionsapi import pisitools +from pisi.actionsapi import shelltools + +def setup(): + autotools.configure("\ + --disable-static \ + --enable-experimental \ + --enable-libwebpdecoder \ + --enable-libwebpdemux \ + --enable-libwebpmux \ + --enable-swap-16bit-csp \ + ") + + pisitools.dosed("libtool", " -shared ", " -Wl,-O1,--as-needed -shared ") + +def build(): + autotools.make() + +def install(): + autotools.rawInstall("DESTDIR=%s" % get.installDIR()) + + pisitools.dodoc("AUTHORS", "COPYING", "ChangeLog", "NEWS", "PATENTS", "README") + #shelltools.move("%s/libwebp-0.2.1/doc/*" % get.workDIR(),"%s/usr/share/doc/webp" % get.installDIR()) + #shelltools.move("%s/libwebp-0.2.1/README" % get.workDIR(),"%s/usr/share/doc/webp" % get.installDIR()) diff --git a/multimedia/graphics/webp/pspec.xml b/multimedia/graphics/webp/pspec.xml new file mode 100644 index 0000000000..8c429afb5f --- /dev/null +++ b/multimedia/graphics/webp/pspec.xml @@ -0,0 +1,99 @@ + + + + + webp + http://code.google.com/p/webp/downloads/list + + PisiLinux Community + admins@pisilinux.org + + Copyright (c) 2010, Google Inc. All rights reserved. + application + webp image format and format conversion png,jpeg,tiff + webp image format and format conversion png,jpeg,tiff + http://downloads.webmproject.org/releases/webp/libwebp-0.4.3.tar.gz + + mesa-devel + tiff-devel + giflib-devel + mesa-glu-devel + freeglut-devel + libjpeg-turbo-devel + + + + + webp + + tiff + mesa + giflib + libpng + freeglut + libjpeg-turbo + + + /usr/lib/libwebp* + /usr/bin + /usr/share/man + /usr/share/doc/webp + + + + + webp-devel + + webp + + + /usr/include + /usr/lib/pkgconfig + + + + + + 2015-04-06 + 0.4.3 + Version bump. + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + + 2014-05-21 + 0.4.0 + rebuild + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2014-04-21 + 0.4.0 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2014-01-25 + 0.3.1 + rebuild for unused + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2013-07-19 + 0.3.1 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2012-12-11 + 0.2.1 + First release + can + qazsew@mynet.com + + + diff --git a/multimedia/graphics/webp/translations.xml b/multimedia/graphics/webp/translations.xml new file mode 100644 index 0000000000..41441bffd0 --- /dev/null +++ b/multimedia/graphics/webp/translations.xml @@ -0,0 +1,17 @@ + + + + webp + webp resim formatı kütüphanesi ve png,jpeg,tiff resim formatlarına dönüştürme aracı + webp resim formatı kütüphanesi ve png,jpeg,tiff resim formatlarına dönüştürme aracı + + + + webp + webp resim formatı kütüphanesi ve png,jpeg,tiff resim formatlarına dönüştürme aracı + + + webp-devel + webp için geliştirme dosyaları + + diff --git a/multimedia/misc/DirectFB/actions.py b/multimedia/misc/DirectFB/actions.py new file mode 100644 index 0000000000..9c928c1a20 --- /dev/null +++ b/multimedia/misc/DirectFB/actions.py @@ -0,0 +1,44 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import autotools +from pisi.actionsapi import pisitools +from pisi.actionsapi import shelltools +from pisi.actionsapi import get + +def setup(): + autotools.configure('--enable-fbdev \ + --enable-mmx \ + --enable-sse \ + --enable-jpeg \ + --enable-png \ + --enable-gif \ + --enable-freetype \ + --enable-multi \ + --enable-sysfs \ + --disable-sdl \ + --disable-multi \ + --disable-debug \ + --disable-static \ + --enable-zlib \ + --enable-x11 \ + --enable-video4linux \ + --enable-video4linux2 \ + --with-inputdrivers="all" \ + --with-gfxdrivers="all" \ + --disable-vnc') + + pisitools.dosed("libtool", " -shared ", " -Wl,-O1,--as-needed -shared ") + +def build(): + autotools.make() + +def install(): + autotools.rawInstall("DESTDIR=%s" % get.installDIR()) + + pisitools.dohtml("docs/html/") + pisitools.dodoc("AUTHORS", "ChangeLog", "NEWS", "README*", "TODO", "fb.modes") + diff --git a/multimedia/misc/DirectFB/pspec.xml b/multimedia/misc/DirectFB/pspec.xml new file mode 100644 index 0000000000..aeaba3efcd --- /dev/null +++ b/multimedia/misc/DirectFB/pspec.xml @@ -0,0 +1,115 @@ + + + + + DirectFB + http://www.directfb.org/ + + PisiLinux Community + admins@pisilinux.org + + LGPLv2.1 + library + Thin library on top of the Linux framebuffer devices + DirectFB is a thin library that provides hardware graphics acceleration, input device handling and abstraction, integrated windowing system with support for translucent windows and multiple display layers. + http://www.directfb.org/downloads/Core/DirectFB-1.7/DirectFB-1.7.1.tar.gz + + giflib-devel + libX11-devel + libXext-devel + mesa-devel + mesa-glu-devel + libdrm-devel + libjpeg-turbo-devel + libmng-devel + libvdpau-devel + + + + + + + DirectFB-docs + + DirectFB + + + /usr/share/doc + + + + + DirectFB + + giflib + libX11 + libXext + mesa + mesa-glu + libdrm + libjpeg-turbo + libmng + libvdpau + webp + tiff + jasper + libkms + + + /usr/bin + /usr/lib + /usr/share/man + /usr/share + + + + + DirectFB-devel + Development files for DirectFB + + DirectFB + + + /usr/include + /usr/lib/pkgconfig + + + + + + 2014-05-21 + 1.7.1 + Rebuild + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2014-04-23 + 1.7.1 + Rebuild for webp + Kamil Atlı + suvarice@gmail.com + + + 2014-01-28 + 1.7.1 + Rebuild Unused + Varol Maksutoğlu + waroi@pisilinux.org + + + 2013-10-14 + 1.7.1 + version bump + Erdinç >Gültekin + erdincgultekin@pisilinux.org + + + 2012-08-29 + 1.5.3 + First release + PisiLinux Community + admins@pisilinux.org + + + diff --git a/multimedia/misc/DirectFB/translations.xml b/multimedia/misc/DirectFB/translations.xml new file mode 100644 index 0000000000..0a65572c30 --- /dev/null +++ b/multimedia/misc/DirectFB/translations.xml @@ -0,0 +1,13 @@ + + + + DirectFB + Linux framebuffer aygıtlarının üstünde çalışan hafif bir kütüphane + DirectFB donanımsal grafik hızlandırması, giriş aygıtları işleme ve soyutlama sağlayan yarısaydam pencereler ve çoklu görüntü katmanlarını destekleyen pencere sistemi ile bütünleşik bir kütüphanedir. + + + + DirectFB-devel + DirectFB için geliştirme dosyaları + + diff --git a/multimedia/misc/component.xml b/multimedia/misc/component.xml new file mode 100644 index 0000000000..fa8d512866 --- /dev/null +++ b/multimedia/misc/component.xml @@ -0,0 +1,3 @@ + + multimedia.misc + diff --git a/multimedia/sound/component.xml b/multimedia/sound/component.xml new file mode 100644 index 0000000000..60d7faf29e --- /dev/null +++ b/multimedia/sound/component.xml @@ -0,0 +1,3 @@ + + multimedia.sound + diff --git a/multimedia/sound/openal/actions.py b/multimedia/sound/openal/actions.py new file mode 100644 index 0000000000..f80d78493a --- /dev/null +++ b/multimedia/sound/openal/actions.py @@ -0,0 +1,41 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import cmaketools +from pisi.actionsapi import pisitools +from pisi.actionsapi import shelltools +from pisi.actionsapi import get + +WorkDir = "openal-soft-%s" % get.srcVERSION() + +def setup(): + options = "-DALSA=1 \ + -DPULSEAUDIO=1 \ + -DOSS=1 \ + -DEXAMPLES=OFF" + + if get.buildTYPE() == "emul32": + options += " -DCMAKE_INSTALL_PREFIX=/emul32 \ + -DLIB_SUFFIX=32" + shelltools.export("CFLAGS", "%s -m32" % get.CFLAGS()) + + cmaketools.configure(options) + +def build(): + cmaketools.make() + +def install(): + cmaketools.rawInstall("DESTDIR=%s" % get.installDIR()) + + # is there any "libdir" prefix for cmake ? + if get.buildTYPE() == "emul32": + from distutils.dir_util import copy_tree + copy_tree("%s/emul32/lib32/" % get.installDIR(), "%s/usr/lib32" % get.installDIR()) + pisitools.removeDir("/emul32") + pisitools.dosed("%s/usr/lib32/pkgconfig/openal.pc" % get.installDIR(), "emul32", "usr") + return + + pisitools.dodoc("COPYING", "alsoftrc.sample") diff --git a/multimedia/sound/openal/files/no-fpuextended.patch b/multimedia/sound/openal/files/no-fpuextended.patch new file mode 100644 index 0000000000..d6a6834d16 --- /dev/null +++ b/multimedia/sound/openal/files/no-fpuextended.patch @@ -0,0 +1,32 @@ +--- OpenAL32/Include/alu.h.orig ++++ OpenAL32/Include/alu.h +@@ -224,6 +224,29 @@ + return a0*mu*mu2 + a1*mu2 + a2*mu + a3; + } + ++#if defined(_FPU_GETCW) && defined(_FPU_SETCW) ++ #ifndef _FPU_EXTENDED ++ #define _FPU_EXTENDED 0 ++ #endif ++ #ifndef _FPU_DOUBLE ++ #define _FPU_DOUBLE 0 ++ #endif ++ #ifndef _FPU_SINGLE ++ #define _FPU_SINGLE 0 ++ #endif ++ #ifndef _FPU_RC_NEAREST ++ #define _FPU_RC_NEAREST 0 ++ #endif ++ #ifndef _FPU_RC_DOWN ++ #define _FPU_RC_DOWN 0 ++ #endif ++ #ifndef _FPU_RC_UP ++ #define _FPU_RC_UP 0 ++ #endif ++ #ifndef _FPU_RC_ZERO ++ #define _FPU_RC_ZERO 0 ++ #endif ++#endif + + static __inline int SetMixerFPUMode(void) + { \ No newline at end of file diff --git a/multimedia/sound/openal/files/pthread.patch b/multimedia/sound/openal/files/pthread.patch new file mode 100644 index 0000000000..44ab94187b --- /dev/null +++ b/multimedia/sound/openal/files/pthread.patch @@ -0,0 +1,17 @@ +diff -Nur openal-soft-1.13-old//CMakeLists.txt openal-soft-1.13/CMakeLists.txt +--- openal-soft-1.13-old//CMakeLists.txt 2011-04-15 10:39:56.860000093 +0300 ++++ openal-soft-1.13/CMakeLists.txt 2011-04-15 11:30:47.593000620 +0300 +@@ -246,10 +246,10 @@ + MESSAGE(FATAL_ERROR "No sleep function found!") + ENDIF() + +- CHECK_C_COMPILER_FLAG(-pthread HAVE_PTHREAD) ++ CHECK_C_COMPILER_FLAG(-lpthread HAVE_PTHREAD) + IF(HAVE_PTHREAD) +- ADD_DEFINITIONS(-pthread) +- SET(EXTRA_LIBS ${EXTRA_LIBS} -pthread) ++ ADD_DEFINITIONS(-lpthread) ++ SET(EXTRA_LIBS ${EXTRA_LIBS} -lpthread) + ENDIF() + + # We need pthreads outside of Windows diff --git a/multimedia/sound/openal/pspec.xml b/multimedia/sound/openal/pspec.xml new file mode 100644 index 0000000000..a062aa84bc --- /dev/null +++ b/multimedia/sound/openal/pspec.xml @@ -0,0 +1,91 @@ + + + + + openal + http://kcat.strangesoft.net/openal.html + + PisiLinux Community + admins@pisilinux.org + + LGPLv2 + library + Open Audio Library is a vendor-neutral API for interactive spatialized audio + OpenAL is a cross-platform 3D audio API appropriate for use with gaming applications and many other types of audio applications. The basic OpenAL objects are a Listener, a Source, and a Buffer. + http://kcat.strangesoft.net/openal-releases/openal-soft-1.15.1.tar.bz2 + + alsa-lib-devel + pulseaudio-libs-devel + + + pthread.patch + no-fpuextended.patch + + + + + + + openal + + alsa-lib + + + /usr/bin + /usr/lib + /usr/share/doc/openal + /usr/share/openal + + + + + openal-devel + Development files for openal + + openal + pulseaudio + + + /usr/include + /usr/lib/pkgconfig/openal.pc + /usr/lib32/pkgconfig/openal.pc + + + + + openal-32bit + emul32 + 32-bit shared libraries for openal + emul32 + + openal + + + /usr/lib32 + + + + + + 2014-05-25 + 1.15.1 + Rebuild. + Alihan Öztürk + alihan@pisilinux.org + + + 2014-02-01 + 1.15.1 + Version Bump. + Alihan Öztürk + alihan@pisilinux.org + + + 2012-08-31 + 1.14 + First release + Fatih Turgel + admins@pisilinux.org + + + diff --git a/multimedia/sound/openal/translations.xml b/multimedia/sound/openal/translations.xml new file mode 100644 index 0000000000..3a49170a16 --- /dev/null +++ b/multimedia/sound/openal/translations.xml @@ -0,0 +1,19 @@ + + + + openal + Açık ses kütüphanesi + OpenAL, oyun uygulamaları ve diğer birçok audio uygulama tipleriyle kullanılmaya tahsisli bir üç boyutlu audio API(Uygulama Programlama Arayüzü) çapraz platformudur. + OpenAL est une API audio 3D multi-plateforme utilisable pour les jeux et beaucoup d'autre types d'application audio. Les objets de base d'OpenAL sont le Listener (auditeur), a Source (source), et le Buffer (tampon). + + + + openal-devel + openal için geliştirme dosyaları + + + + openal-32bit + openal için 32-bit paylaşımlı kitaplıklar + + diff --git a/multimedia/sound/pulseaudio/actions.py b/multimedia/sound/pulseaudio/actions.py new file mode 100644 index 0000000000..3d3c7f72d6 --- /dev/null +++ b/multimedia/sound/pulseaudio/actions.py @@ -0,0 +1,101 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import get +from pisi.actionsapi import libtools +from pisi.actionsapi import autotools +from pisi.actionsapi import pisitools +from pisi.actionsapi import shelltools + +# FIXME: libpulsedsp.la should be added, but it doesn't build on our system +emul32_libs = "libpulsecommon-%s.la \ + libpulse.la \ + libpulse-simple.la \ + libpulse-mainloop-glib.la \ + " % get.srcVERSION() + +def setup(): + options = "--prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --libexecdir=/usr/libexec \ + --disable-dependency-tracking \ + --disable-static \ + --disable-rpath \ + --disable-jack \ + --disable-systemd \ + --disable-bluez4 \ + --disable-oss-output \ + --enable-largefile \ + --with-system-user=pulse \ + --with-system-group=pulse \ + --with-access-group=pulse-access \ + --with-database=tdb \ + --with-module-dir=/usr/lib/pulse/modules \ + --with-udev-rules-dir=/lib/udev/rules.d" + + if get.buildTYPE() == "emul32": + options += " --libdir=/usr/lib32 \ + --libexecdir=/usr/lib32 \ + --disable-gconf \ + --disable-gtk2 \ + --disable-jack \ + --disable-bluez4 \ + --disable-bluez5 \ + --disable-asyncns \ + --disable-lirc \ + --disable-x11 \ + --disable-oss-output \ + --disable-oss-wrapper \ + --disable-solaris \ + --disable-manpages \ + --disable-samplerate \ + --disable-default-build-tests" + + shelltools.echo(".tarball-version", get.srcVERSION()) + #shelltools.system("NOCONFIGURE=1 ./bootstrap.sh") + autotools.configure(options) + + pisitools.dosed("libtool", "CC(\s-shared\s)", r"CC -Wl,-O1,--as-needed\1") + +def build(): + if get.buildTYPE() == "emul32": + autotools.make("-C src %s" % emul32_libs) + return + + autotools.make() + + #generate html docs + autotools.make("doxygen") + +def install(): + if get.buildTYPE() == "emul32": + autotools.rawInstall("-C src \ + lib_LTLIBRARIES=\"%s\" \ + DESTDIR=%s" % (emul32_libs, get.installDIR()), + "install-libLTLIBRARIES") + autotools.rawInstall("DESTDIR=%s" % get.installDIR(), "install-pkgconfigDATA") + return + + autotools.rawInstall("DESTDIR=%s" % get.installDIR()) + + # Disable autospawn by default + shelltools.system("sed -e '/autospawn/iautospawn=yes' -i '%s/etc/pulse/client.conf'" % get.installDIR()) + # Speed up pulseaudio shutdown + # Lower resample quality, saves CPU + shelltools.system("sed -e '/exit-idle-time/iexit-idle-time=0' \ + -e '/resample-method/iresample-method=speex-float-0' \ + -i '%s/etc/pulse/daemon.conf'" % get.installDIR()) + + # Needed for service.py + pisitools.dodir("/run/pulse") + pisitools.dodir("/var/lib/pulse") + + # HAL is no longer supported by default + pisitools.removeDir("/etc/dbus-1") + + pisitools.dodoc("README", "LICENSE", "GPL", "LGPL") + pisitools.dohtml("doxygen/html/*") diff --git a/multimedia/sound/pulseaudio/comar/package.py b/multimedia/sound/pulseaudio/comar/package.py new file mode 100644 index 0000000000..3b22bcb3b3 --- /dev/null +++ b/multimedia/sound/pulseaudio/comar/package.py @@ -0,0 +1,9 @@ +#!/usr/bin/python + +import os + +PULSE_DIR="/var/lib/pulse" + +def postInstall(fromVersion, fromRelease, toVersion, toRelease): + os.system("/bin/chown pulse:pulse %s" % PULSE_DIR) + os.chmod(PULSE_DIR, 0700) \ No newline at end of file diff --git a/multimedia/sound/pulseaudio/files/02PulseAudio b/multimedia/sound/pulseaudio/files/02PulseAudio new file mode 100644 index 0000000000..b631f48072 --- /dev/null +++ b/multimedia/sound/pulseaudio/files/02PulseAudio @@ -0,0 +1,98 @@ +#! /bin/sh + +. "${PM_FUNCTIONS}" + +test_pulse_system() { + getent passwd pulse | awk -F: '{print $3}' +} + +get_pulse_users() { + PULSE_SYSTEM_USER=$(test_pulse_system) + if [ -z "${PULSE_SYSTEM_USER}" ]; then + ps -C pulseaudio -o uid= | tr -d ' ' + else + ps -C pulseaudio -o uid= | tr -d ' ' | sed s/${PULSE_SYSTEM_USER}// + fi +} + +# $1 = sink|source +# $2 = username +save_pulse_state() { + su "${2}" -c -- "pacmd list-${1}s" | \ + sed -n "s/^[[:space:]*]*//; /\(index\|mute\)/p" | \ + (index=""; + while read field value; do + if [ ${field%:} = "index" ]; then + index=${value} + else + savestate pulse:"${2}":${1}${index} ${value} + fi + done) +} + +# $1 = sink|source +# $2 = username +restore_pulse_state() { + su "${2}" -c -- "pacmd list-${1}s" | \ + sed -n "s/^[[:space:]*]*index: //p" | \ + while read index; do + if state_exists pulse:"${2}":${1}${index}; then + su "${2}" -c -- "pacmd \ + set-${1}-mute \ + ${index} \ + $(restorestate pulse:"${2}":${1}${index})" + fi + done +} + +# $1 = sink|source +# $2 = username +mute_pulse() { + su "${2}" -c -- "pacmd list-${1}s" | \ + sed -n "s/^[[:space:]*]*//; /\(index\|mute\)/p" | \ + (index=""; + while read field value; do + if [ ${field%:} = "index" ]; then + index=${value} + su "${2}" -c -- "pacmd \ + set-${1}-mute ${index} yes" + fi + done) +} + +suspend_pulse() { + for i in $(get_pulse_users); do + THIS_USER="$(getent passwd ${i} | cut -f1 -d:)" + save_pulse_state sink "${THIS_USER}" + save_pulse_state source "${THIS_USER}" + su "${THIS_USER}" -c -- 'pacmd suspend true' > /dev/null 2>&1 + done + for i in $(get_pulse_users); do + THIS_USER="$(getent passwd ${i} | cut -f1 -d:)" + if su "${THIS_USER}" -c -- 'ck-list-sessions | grep "active = TRUE"' > /dev/null 2>&1; then + mute_pulse sink "${THIS_USER}" + mute_pulse source "${THIS_USER}" + break + fi + done +} + +resume_pulse() { + for i in $(get_pulse_users); do + THIS_USER="$(getent passwd ${i} | cut -f1 -d:)" + restore_pulse_state sink "${THIS_USER}" + restore_pulse_state source "${THIS_USER}" + su "${THIS_USER}" -c -- 'pacmd suspend false' > /dev/null 2>&1 + done +} + +case $1 in + hibernate|suspend) + suspend_pulse + ;; + thaw|resume) + resume_pulse + ;; + *) exit $NA + ;; +esac diff --git a/multimedia/sound/pulseaudio/files/fedora/0036-module-switch-on-port-available-Don-t-switch-profile.patch b/multimedia/sound/pulseaudio/files/fedora/0036-module-switch-on-port-available-Don-t-switch-profile.patch new file mode 100644 index 0000000000..e8ff6e051a --- /dev/null +++ b/multimedia/sound/pulseaudio/files/fedora/0036-module-switch-on-port-available-Don-t-switch-profile.patch @@ -0,0 +1,35 @@ +From ef4a41e8b0ef81a53769d853dbc7679b25252327 Mon Sep 17 00:00:00 2001 +From: David Henningsson +Date: Fri, 28 Mar 2014 11:59:09 +0100 +Subject: [PATCH 36/38] module-switch-on-port-available: Don't switch profiles + on uninitialized cards + +This could cause the HDMI port to become the default on some systems +where analog output was available. + +BugLink: https://bugs.launchpad.net/ubuntu/+source/pulseaudio/+bug/1256511 +BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=73375 +Signed-off-by: David Henningsson +--- + src/modules/module-switch-on-port-available.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/src/modules/module-switch-on-port-available.c b/src/modules/module-switch-on-port-available.c +index 2c7ad17..c560306 100644 +--- a/src/modules/module-switch-on-port-available.c ++++ b/src/modules/module-switch-on-port-available.c +@@ -173,6 +173,11 @@ static pa_hook_result_t port_available_hook_callback(pa_core *c, pa_device_port + return PA_HOOK_OK; + } + ++ if (pa_idxset_size(card->sinks) == 0 && pa_idxset_size(card->sources) == 0) ++ /* This card is not initialized yet. We'll handle it in ++ sink_new / source_new callbacks later. */ ++ return PA_HOOK_OK; ++ + find_sink_and_source(card, port, &sink, &source); + + is_active_profile = card->active_profile == pa_hashmap_get(port->profiles, card->active_profile->name); +-- +1.9.0 + diff --git a/multimedia/sound/pulseaudio/files/fedora/pulseaudio-4.0-kde_autostart_phase.patch b/multimedia/sound/pulseaudio/files/fedora/pulseaudio-4.0-kde_autostart_phase.patch new file mode 100644 index 0000000000..853f665c3f --- /dev/null +++ b/multimedia/sound/pulseaudio/files/fedora/pulseaudio-4.0-kde_autostart_phase.patch @@ -0,0 +1,16 @@ +diff -up pulseaudio-4.0-266-gf81e3/src/daemon/pulseaudio-kde.desktop.in.kde_autostart_phase pulseaudio-4.0-266-gf81e3/src/daemon/pulseaudio-kde.desktop.in +--- pulseaudio-4.0-266-gf81e3/src/daemon/pulseaudio-kde.desktop.in.kde_autostart_phase 2013-10-10 17:02:01.000000000 -0500 ++++ pulseaudio-4.0-266-gf81e3/src/daemon/pulseaudio-kde.desktop.in 2013-12-07 13:15:24.034110082 -0600 +@@ -9,3 +9,4 @@ Type=Application + Categories= + GenericName= + OnlyShowIn=KDE; ++X-KDE-autostart-phase=1 +diff -up pulseaudio-4.0-266-gf81e3/src/daemon/pulseaudio.desktop.in.kde_autostart_phase pulseaudio-4.0-266-gf81e3/src/daemon/pulseaudio.desktop.in +--- pulseaudio-4.0-266-gf81e3/src/daemon/pulseaudio.desktop.in.kde_autostart_phase 2013-10-10 17:02:01.000000000 -0500 ++++ pulseaudio-4.0-266-gf81e3/src/daemon/pulseaudio.desktop.in 2013-12-07 13:15:17.579180709 -0600 +@@ -9,3 +9,4 @@ Type=Application + Categories= + GenericName= + X-GNOME-Autostart-Phase=Initialization ++X-KDE-autostart-phase=1 diff --git a/multimedia/sound/pulseaudio/files/fedora/pulseaudio-x11_device_manager.patch b/multimedia/sound/pulseaudio/files/fedora/pulseaudio-x11_device_manager.patch new file mode 100644 index 0000000000..f8e4cdf2b0 --- /dev/null +++ b/multimedia/sound/pulseaudio/files/fedora/pulseaudio-x11_device_manager.patch @@ -0,0 +1,14 @@ +diff -up pulseaudio-4.0-266-gf81e3/src/daemon/start-pulseaudio-x11.in.x11_device_manager pulseaudio-4.0-266-gf81e3/src/daemon/start-pulseaudio-x11.in +--- pulseaudio-4.0-266-gf81e3/src/daemon/start-pulseaudio-x11.in.x11_device_manager 2013-10-10 17:02:01.000000000 -0500 ++++ pulseaudio-4.0-266-gf81e3/src/daemon/start-pulseaudio-x11.in 2013-10-14 09:44:04.375542726 -0500 +@@ -26,6 +26,10 @@ if [ x"$DISPLAY" != x ] ; then + @PACTL_BINARY@ load-module module-x11-publish "display=$DISPLAY" > /dev/null + @PACTL_BINARY@ load-module module-x11-cork-request "display=$DISPLAY" > /dev/null + ++ if [ x"$KDE_FULL_SESSION" = x"true" ]; then ++ @PACTL_BINARY@ load-module module-device-manager "do_routing=1" > /dev/null ++ fi ++ + if [ x"$SESSION_MANAGER" != x ] ; then + @PACTL_BINARY@ load-module module-x11-xsmp "display=$DISPLAY session_manager=$SESSION_MANAGER" > /dev/null + fi diff --git a/multimedia/sound/pulseaudio/files/mandriva/pulseaudio.svg b/multimedia/sound/pulseaudio/files/mandriva/pulseaudio.svg new file mode 100644 index 0000000000..a79e03daf7 --- /dev/null +++ b/multimedia/sound/pulseaudio/files/mandriva/pulseaudio.svg @@ -0,0 +1,287 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + PulseAudio logotype + 2006-08-28 + + + Pierre Ossman <ossman@cendio.se> for Cendio AB + + + + + + + + + + Rafael Jannone (basic idea) + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/multimedia/sound/pulseaudio/files/mandriva/pulseaudio.sysconfig b/multimedia/sound/pulseaudio/files/mandriva/pulseaudio.sysconfig new file mode 100644 index 0000000000..2d125fa37f --- /dev/null +++ b/multimedia/sound/pulseaudio/files/mandriva/pulseaudio.sysconfig @@ -0,0 +1,14 @@ +# Set the below variable to suit your needs. +# Possible values are: +# personal Start a personal pulseaudio server per-user (recommended) +# system Start a system wide daemon (not yet implemented) +# none Don't start pulse +# +# NB For the system wide daemon, users need to be in the group pulse-access. +# +PULSE_SERVER_TYPE=personal + +# Set the various arguments to the daemon here +# This defaults to: +# --log-target=syslog for "personal" +#PULSE_ARGS= diff --git a/multimedia/sound/pulseaudio/files/mandriva/pulseaudio.xinit b/multimedia/sound/pulseaudio/files/mandriva/pulseaudio.xinit new file mode 100644 index 0000000000..b2ce7151e7 --- /dev/null +++ b/multimedia/sound/pulseaudio/files/mandriva/pulseaudio.xinit @@ -0,0 +1,12 @@ +#!/bin/sh +# to be sourced + +case "$SESSION" in + GNOME|KDE*|xfce4) + # XDG is supported so we don't need to do anything. + # as XDG Autostart will "just work"(tm) + ;; + *) + /usr/bin/start-pulseaudio-x11 + ;; +esac diff --git a/multimedia/sound/pulseaudio/files/mandriva/pulseaudio128.png b/multimedia/sound/pulseaudio/files/mandriva/pulseaudio128.png new file mode 100644 index 0000000000000000000000000000000000000000..49706c8cce3f1c0500c7b7018d74d42dfb93ef4d GIT binary patch literal 65936 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ðt+P;2CAU~-L}7e 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

;LuBwWrxON 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 literal 0 HcmV?d00001 diff --git a/multimedia/sound/pulseaudio/files/mandriva/pulseaudio16.png b/multimedia/sound/pulseaudio/files/mandriva/pulseaudio16.png new file mode 100644 index 0000000000000000000000000000000000000000..3cedaa17830a8e8f7334b1f8a8730ff967a2da50 GIT binary patch literal 1892 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 O7GPy=Z&qoFA^!(mpz3`9 literal 0 HcmV?d00001 diff --git a/multimedia/sound/pulseaudio/files/mandriva/pulseaudio32.png b/multimedia/sound/pulseaudio/files/mandriva/pulseaudio32.png new file mode 100644 index 0000000000000000000000000000000000000000..04308a86862de587de5d7a73b51d14b99e8b7446 GIT binary patch literal 5620 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 WJ5JE?4;EIY!@4X757XiHr5owC_ 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 literal 0 HcmV?d00001 diff --git a/multimedia/sound/pulseaudio/files/pisilinux/pulseaudio.sysconfig b/multimedia/sound/pulseaudio/files/pisilinux/pulseaudio.sysconfig new file mode 100644 index 0000000000..9c7c0ebce9 --- /dev/null +++ b/multimedia/sound/pulseaudio/files/pisilinux/pulseaudio.sysconfig @@ -0,0 +1,22 @@ +# Set the below variable to suit your needs. +# Possible values are: +# personal Start a personal pulseaudio server per-user (recommended) +# system Start a system wide daemon (not yet implemented) +# none Don't start pulse +# +# NB For the system wide daemon, users need to be in the group pulse-access. +# +PULSE_SERVER_TYPE=personal + +# Set the various arguments to the daemon here +# This defaults to: +# --log-target=syslog for "personal" +#PULSE_ARGS= +## Path: Hardware/Soundcard/PulseAudio +## Description: PulseAudio configuration +## Type: list(yes,no,custom) +# +# Enable or disable PulseAudio system. Can be set to "custom" to not have +# scripts automatically change sound-related configuration for PulseAudio. +# +PULSEAUDIO_ENABLE="yes" diff --git a/multimedia/sound/pulseaudio/files/pulseaudio.conf b/multimedia/sound/pulseaudio/files/pulseaudio.conf new file mode 100644 index 0000000000..699915f6b2 --- /dev/null +++ b/multimedia/sound/pulseaudio/files/pulseaudio.conf @@ -0,0 +1 @@ +d /run/pulse 0755 root root \ No newline at end of file diff --git a/multimedia/sound/pulseaudio/files/tmpfiles.conf b/multimedia/sound/pulseaudio/files/tmpfiles.conf new file mode 100644 index 0000000000..b04555ea28 --- /dev/null +++ b/multimedia/sound/pulseaudio/files/tmpfiles.conf @@ -0,0 +1 @@ +d //run/pulse 0755 root root diff --git a/multimedia/sound/pulseaudio/pspec.xml b/multimedia/sound/pulseaudio/pspec.xml new file mode 100644 index 0000000000..28430f1a28 --- /dev/null +++ b/multimedia/sound/pulseaudio/pspec.xml @@ -0,0 +1,255 @@ + + + + + pulseaudio + http://pulseaudio.org/ + + PisiLinux Community + admins@pisilinux.org + + LGPLv2 + GPLv2 + BSD + app:console + library +

A networked sound server with an advanced plugin system + pulseaudio is a sound server for POSIX and Win32 systems. It allows you to do advanced operations on your sound data as it passes between your application and your hardware. + http://freedesktop.org/software/pulseaudio/releases/pulseaudio-6.0.tar.xz + + orc-devel + sbc-devel + fftw3-devel + doxygen + xcb-proto + gtk2-devel + lirc-devel + gconf-devel + avahi-devel + speex-devel + libSM-devel + libtdb-devel + libICE-devel + libXtst-devel + xcb-util-devel + alsa-lib-devel + bluez-libs-devel + libsndfile-devel + libasyncns-devel + libatomic_ops-devel + libsamplerate-devel + libasyncns-devel + + + + + pulseaudio-libs + Libraries for PulseAudio clients + + orc + sbc + lirc + fftw3 + libSM + speex + libICE + libXtst + alsa-lib + avahi-libs + libasyncns + libsndfile + + + /usr/bin/pa* + /etc/pulse/client.conf + /usr/lib/libpulse.so + /usr/lib/libpulse.so* + /usr/lib/libpulse-simple.so + /usr/lib/libpulse-simple.so* + /usr/lib/pulseaudio/libpulsecommon-* + /usr/lib/libpulse-mainloop-glib.so + /usr/lib/libpulse-mainloop-glib.so* + /usr/lib/pulseaudio/libpulsedsp.* + /usr/lib/pulse/modules + /usr/lib/udev/rules.d + + + + + pulseaudio-libs-devel + Development files for pulseaudio-libs + + pulseaudio-libs + + + /usr/include + /usr/lib/pkgconfig + /usr/lib32/pkgconfig + /usr/share/vala/vapi + /usr/lib/cmake/PulseAudio + + + + pulseaudio-docs + doxygen generated API documentation for PulseAudio + + /usr/share/doc/pulseaudio/html + + + + + pulseaudio + + orc + speex + libtdb + libsndfile + pulseaudio-libs + + + /usr/bin/pulseaudio + /usr/bin/qpaeq + /usr/bin/start-pulseaudio-kde + /usr/bin/esdcompat + /usr/bin/start-pulseaudio-x11 + /usr/lib/pm-utils/sleep.d + /usr/libexec + /usr/lib/pulse-5.0/modules + /usr/lib/libpulsecore-*.so + /etc + /usr/lib/tmpfiles.d/pulseaudio.conf + /lib/udev/rules.d + /usr/share/pulseaudio/alsa-mixer + /usr/share + /usr/share/icons + /var/lib/pulse + /run/pulse + + + pulseaudio.conf + + pisilinux/pulseaudio.sysconfig + + mandriva/pulseaudio.svg + mandriva/pulseaudio.svg + + mandriva/pulseaudio16.png + mandriva/pulseaudio22.png + mandriva/pulseaudio32.png + mandriva/pulseaudio48.png + mandriva/pulseaudio64.png + mandriva/pulseaudio128.png + + mandriva/pulseaudio16.png + mandriva/pulseaudio22.png + mandriva/pulseaudio32.png + mandriva/pulseaudio48.png + mandriva/pulseaudio64.png + mandriva/pulseaudio128.png + + + + System.Package + + + + + pulseaudio-gconf + GConf configuration backend for the PulseAudio sound server + + pulseaudio-libs + gconf + + + /usr/lib/pulse-2.1/modules/module-gconf.so + /usr/libexec/pulse/gconf-helper + + + + + pulseaudio-libs-32bit + emul32 + 32-bit shared libraries for pulseaudio-libs + emul32 + + json-c-32bit + dbus-32bit + glib2-32bit + speex-32bit + libcap-32bit + libsndfile-32bit + libtool-ltdl-32bit + + + pulseaudio-libs + dbus-32bit + glib2-32bit + libsndfile-32bit + json-c-32bit + + + /usr/lib32 + + + + + + 2015-02-20 + 6.0 + Version bump. Dep fixed + Hakan Yıldız + hknyldz93@gmail.com + + + 2014-07-25 + 5.0 + Rebuild for smplayer + Vedat Demir + vedat@pisilinux.org + + + 2014-05-12 + 5.0 + version bump + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2014-02-14 + 4.0 + add git version + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2014-01-11 + 4.0 + Add tmpfiles.con; add updates from git. + Marcin Bojara + marcin@pisilinux.org + + + 2013-07-06 + 4.0 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-04-16 + 3.99 + Version bump + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2012-12-18 + 3.0 + First release + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + diff --git a/multimedia/sound/pulseaudio/translations.xml b/multimedia/sound/pulseaudio/translations.xml new file mode 100644 index 0000000000..e9a8a6f2cb --- /dev/null +++ b/multimedia/sound/pulseaudio/translations.xml @@ -0,0 +1,38 @@ + + + + pulseaudio + Gelişmiş eklenti desteğine sahip ağ temelli bir ses sunucusu + pulseaudio, POSIX ve Win32 sistemler için tasarlanmış, donanım ve uygulamalar arasında gezinen ses verilerinin üzerinde gelişmiş işlemler yapılmasına olanak sağlayan bir ses sunucusudur. + + + + pulseaudio-gconf + pulseaudio ses sunucusu için Gconf yapılandırma arayüzü + + + + pulseaudio-docs + Doxygen tarafından üretilmiş PulseAudio API belgeleri + + + + pulseaudio-jack + JACK ses arayüzü için PulseAudio modülleri + + + + pulseaudio-libs + PulseAudio istemci kitaplığı + + + + pulseaudio-libs-devel + pulseaudio-libs için geliştirme dosyaları + + + + pulseaudio-libs-32bit + pulseaudio-libs için 32-bit paylaşımlı kitaplıklar + + diff --git a/multimedia/video/component.xml b/multimedia/video/component.xml new file mode 100644 index 0000000000..057c7822fe --- /dev/null +++ b/multimedia/video/component.xml @@ -0,0 +1,3 @@ + + multimedia.video + diff --git a/multimedia/video/gst-plugins-bad/actions.py b/multimedia/video/gst-plugins-bad/actions.py new file mode 100644 index 0000000000..b2be714676 --- /dev/null +++ b/multimedia/video/gst-plugins-bad/actions.py @@ -0,0 +1,46 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import autotools +from pisi.actionsapi import pisitools +from pisi.actionsapi import shelltools +from pisi.actionsapi import get + +def setup(): + shelltools.export("AUTOPOINT", "true") + pisitools.dosed("autogen.sh", "tool_run.*autopoint --force.*") + + pisitools.dosed("ext/modplug/gstmodplug.cc", "stdafx.h", "libmodplug/stdafx.h") + + shelltools.export("NOCONFIGURE", "1") + shelltools.system("./autogen.sh") + + autotools.configure("--disable-static \ + --disable-examples \ + --disable-gtk-doc \ + --disable-rpath \ + --with-package-name='PisiLinux gstreamer-plugins-bad package' \ + --with-package-origin='http://www.pisilinux.org' \ + --disable-experimental \ + --disable-assrender") + + # for fix unused dependency + pisitools.dosed("libtool"," -shared ", " -Wl,--as-needed -shared ") + + +def build(): + autotools.make() + +#FIXME: tests now tries to +#def check(): +# # for sandbox violations +# autotools.make("-C tests/check check") + +def install(): + autotools.rawInstall("DESTDIR=%s" % get.installDIR()) + + pisitools.dodoc("ABOUT-NLS", "AUTHORS", "ChangeLog", "COPYING*", "NEWS", "README", "RELEASE", "REQUIREMENTS") + diff --git a/multimedia/video/gst-plugins-bad/files/directfb.patch b/multimedia/video/gst-plugins-bad/files/directfb.patch new file mode 100644 index 0000000000..b96a26d5fc --- /dev/null +++ b/multimedia/video/gst-plugins-bad/files/directfb.patch @@ -0,0 +1,12 @@ +diff -ur gst-plugins-bad-0.10.23.orig/ext/directfb/dfb-example.c gst-plugins-bad-0.10.23/ext/directfb/dfb-example.c +--- ext/directfb/dfb-example.c 2011-12-11 20:49:11.000000000 +0200 ++++ ext/directfb/dfb-example.c 2012-11-07 20:57:47.614763209 +0200 +@@ -1,7 +1,7 @@ + +-#include + #include + #include ++#include + + static IDirectFB *dfb = NULL; + static IDirectFBSurface *primary = NULL; diff --git a/multimedia/video/gst-plugins-bad/pspec.xml b/multimedia/video/gst-plugins-bad/pspec.xml new file mode 100644 index 0000000000..8b585bf008 --- /dev/null +++ b/multimedia/video/gst-plugins-bad/pspec.xml @@ -0,0 +1,217 @@ + + + + + gst-plugins-bad + http://gstreamer.freedesktop.org/modules/gst-plugins-bad.html + + PisiLinux Community + admins@pisilinux.org + + GPLv2 + library + A set of GStreamer plug-ins that aren't up to par compared to the rest + GStreamer Bad Plug-ins is a set of plug-ins that aren't up to par compared to the rest. They might be close to being good quality, but they're missing something - be it a good code review, some documentation, a set of tests, a real live maintainer, or some actual wide use. + http://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-0.10.23.tar.bz2 + + gst-plugins-base-devel + gstreamer-devel + DirectFB-devel + libcdaudio-devel + libdc1394-devel + libdca-devel + faac-devel + faad2-devel + jasper-devel + gsm-devel + alsa-lib-devel + jack-audio-connection-kit-devel + ladspa-sdk-devel + libmms-devel + liblrdf-devel + libmimic-devel + libmodplug-devel + libmpcdec-devel + mjpegtools-devel + musicbrainz-devel + neon-devel + libofa-devel + libsdl-devel + liboil-devel + soundtouch-devel + libdvdnav-devel + libtheora-devel + libsndfile-devel + xvid-devel + libdvdread-devel + exempi-devel + slv2-devel + libvdpau-devel + libkate-devel + cairo-devel + librsvg-devel + libvpx-devel + flite-devel + rtmpdump-devel + opencv-devel + schroedinger-devel + libopus-devel + orc-devel + zvbi-devel + openal-devel + gdk-pixbuf-devel + libvo-aacenc-devel + libvo-amrwbenc-devel + nas-devel + libSM-devel + libICE-devel + celt-devel + + + + directfb.patch + + + + + gst-plugins-bad + + gst-plugins-base + gstreamer + DirectFB + libcdaudio + nas + celt + libSM + libICE + libdc1394 + libdca + faac + faad2 + jasper + gsm + alsa-lib + jack-audio-connection-kit + ladspa-sdk + libmms + liblrdf + libmimic + libmodplug + libmpcdec + mjpegtools + musicbrainz + neon + libofa + libsdl + liboil + soundtouch + libdvdnav + libtheora + libsndfile + libexif + xvid + libdvdread + exempi + slv2 + libvdpau + libkate + cairo + librsvg + libvpx + flite + rtmpdump + opencv + schroedinger + libopus + orc + zvbi + openal + gdk-pixbuf + libvo-aacenc + libvo-amrwbenc + + + /usr/bin + /usr/lib + /usr/share/locale + /usr/share/gstreamer-0.10 + /usr/share/doc + /usr/share/gtk-doc + /usr/share/glib-2.0/schemas + + + + + gst-plugins-bad-devel + Development files for gst-plugins-bad + + gst-plugins-bad + gstreamer-devel + + + /usr/lib/pkgconfig + /usr/include + + + + + + 2014-05-26 + 0.10.23 + Rebuild. + Alihan Öztürk + alihan@pisilinux.org + + + 2014-02-13 + 0.10.23 + Rebuild for mjpegtools + Kamil Atlı + suvarice@gmail.com + + + 2013-10-19 + 0.10.23 + Fix build dependency's. + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2013-10-14 + 0.10.23 + clean build. + Erdinç Gültekin + erdincgultekin@pisilinux.org + + + 2013-10-14 + 0.10.23 + rebuild for DirectFB. + Erdinç Gültekin + erdincgultekin@pisilinux.org + + + 2013-07-28 + 0.10.23 + Dep Fixed. + Erdinç Gültekin + erdincgultekin@pisilinux.org + + + 2013-05-25 + 0.10.23 + Dep Fixed. + Osman Erkan + osman.erkan@pisilinux.org + + + 2012-11-09 + 0.10.23 + First release + Serdar Soytetir + kaptan@pisilinux.org + + + diff --git a/multimedia/video/gst-plugins-bad/translations.xml b/multimedia/video/gst-plugins-bad/translations.xml new file mode 100644 index 0000000000..9489ea72f0 --- /dev/null +++ b/multimedia/video/gst-plugins-bad/translations.xml @@ -0,0 +1,13 @@ + + + + gst-plugins-bad + Diğer eklentilerle karşılaştırıldığında çok iyi durumda olmayan gstreamer eklentileri + gst-plugins-bad, iyiye yakın kalitede olan ancak gerçek bir geliştirici, belgelendirme, test seti gibi eksikleri bulunan eklentilerdir. + + + + gst-plugins-bad-devel + gst-plugins-bad için geliştirme dosyaları + + diff --git a/multimedia/video/gst-plugins-base-next/actions.py b/multimedia/video/gst-plugins-base-next/actions.py new file mode 100644 index 0000000000..9461f54231 --- /dev/null +++ b/multimedia/video/gst-plugins-base-next/actions.py @@ -0,0 +1,32 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import autotools +from pisi.actionsapi import pisitools +from pisi.actionsapi import shelltools +from pisi.actionsapi import get + + +def setup(): + autotools.autoreconf("-vfi") + autotools.configure("--disable-static \ + --enable-experimental \ + --with-package-name='PisiLinux gstreamer-plugins-base package' \ + --with-package-origin='http://www.pisilinux.org'") + + pisitools.dosed("libtool", " -shared ", " -Wl,-O1,--as-needed -shared ") + +def build(): + autotools.make() + +# tests fail sandbox +#def check(): +# autotools.make("-C tests/check check") + +def install(): + autotools.install() + + pisitools.dodoc("AUTHORS", "ChangeLog", "COPYING", "README") diff --git a/multimedia/video/gst-plugins-base-next/pspec.xml b/multimedia/video/gst-plugins-base-next/pspec.xml new file mode 100644 index 0000000000..35f9946e0d --- /dev/null +++ b/multimedia/video/gst-plugins-base-next/pspec.xml @@ -0,0 +1,135 @@ + + + + + gst-plugins-base-next + http://gstreamer.net/ + + PisiLinux Community + admins@pisilinux.org + + GPLv2 + library + Basepack of plugins for gstreamer + GStreamer base plugins are a well-groomed and well-maintained collection of GStreamer plugins and elements, spanning the range of possible types of elements one would want to write for GStreamer. It also contains helper libraries and base classes useful for writing elements. A wide range of video and audio decoders, encoders, and filters are included. + http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.4.5.tar.xz + + gstreamer-next-devel + cdparanoia + pango-devel + cairo-devel + libXv-devel + liboil-devel + libogg-devel + libXext-devel + alsa-lib-devel + libvorbis-devel + libtheora-devel + libvisual-devel + gobject-introspection-devel + orc-devel + + + + + + gst-plugins-base-next + + gstreamer-next + cdparanoia + pango + cairo + libXv + liboil + libogg + libXext + alsa-lib + libvorbis + libvisual + libtheora + orc + libSM + libICE + + + /usr/bin + /usr/lib + /usr/share/doc + /usr/share/gtk-doc + /usr/share/gir-1.0 + /usr/share/man + /usr/share/locale + /usr/share/gst-plugins-base/1.0 + + + + + gst-plugins-base-next-devel + Development files for gst-plugins-base + + gst-plugins-base-next + gstreamer-next-devel + + + /usr/include + /usr/lib/pkgconfig + + /usr/share/man/man3 + + + + + + 2015-04-18 + 1.4.5 + Version bump. + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2014-08-22 + 1.4.0 + Version bump. + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2014-05-28 + 1.2.4 + Version bump. + Alihan Öztürk + alihan@pisilinux.org + + + 2014-02-14 + 1.2.3 + Version bump. + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2013-11-20 + 1.2.1 + Version bump + Richard de Bruin + richdb@pisilinux.org + + + 2013-10-14 + 1.2 + bump + Erdinç Gültekin + erdincgultekin@pisilinux.org + + + 2013-08-30 + 1.1.4 + First release + PisiLinux Community + admins@pisilinux.org + + + diff --git a/multimedia/video/gst-plugins-base-next/translations.xml b/multimedia/video/gst-plugins-base-next/translations.xml new file mode 100644 index 0000000000..5b1cb10920 --- /dev/null +++ b/multimedia/video/gst-plugins-base-next/translations.xml @@ -0,0 +1,14 @@ + + + + gst-plugins-base + Gstreamer için temel eklentiler paketi + Bu paket, Gstreamer'ın rahatlıkla genişleyebilmesini sağlayan ve bakımları sürekli yapılan temel eklentileri içerir. Program parçacığı yazmak için yardımcı kütüphaneler ve temel sınıflar da bulunur. + Les plug-ins (greffons) de base GStreamer est une collection bien peaufinée et bien maintenues de plug-ins et d'éléments GStreamer, couvrant l'éventail des types d'éléments que quelqu'un pourrait vouloir écrire pour GStreamer. Il contient également des librairies d'aide ainsi que les classes de bases utiles pour l'écriture d'éléments. Un grand nombre de décodeurs, d'encodeurs et de filtres audio et vidéos sont également inclus. + + + + gst-plugins-base-devel + gst-plugins-base için geliştirme dosyaları + + diff --git a/multimedia/video/gst-plugins-base/actions.py b/multimedia/video/gst-plugins-base/actions.py new file mode 100644 index 0000000000..d1fd9bec31 --- /dev/null +++ b/multimedia/video/gst-plugins-base/actions.py @@ -0,0 +1,43 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import get +from pisi.actionsapi import autotools +from pisi.actionsapi import pisitools +from pisi.actionsapi import shelltools + +def setup(): + pisitools.dosed("configure.ac", "AM_CONFIG_HEADER", "AC_CONFIG_HEADERS") + opts = { + "introspection": "no" if get.buildTYPE() == "emul32" else "yes", + "gnome-vfs": "dis" if get.buildTYPE() == "emul32" else "en" + } + autotools.configure("--disable-static \ + --disable-rpath \ + --disable-examples \ + --%(gnome-vfs)sable-gnome-vfs \ + --enable-libvisual \ + --enable-experimental \ + --enable-introspection=%(introspection)s \ + --with-package-name='PisiLinux gstreamer-plugins-base package' \ + --with-package-origin='http://www.pisilinux.org' \ + " % opts) + + pisitools.dosed("libtool", " -shared ", " -Wl,-O1,--as-needed -shared ") + +def build(): + autotools.make() + +# tests fail sandbox +#def check(): + #autotools.make("-C tests/check check") + +def install(): + autotools.rawInstall("DESTDIR=%s" % get.installDIR()) + + pisitools.removeDir("/usr/share/gtk-doc") + + pisitools.dodoc("AUTHORS", "ChangeLog", "COPYING", "README") \ No newline at end of file diff --git a/multimedia/video/gst-plugins-base/pspec.xml b/multimedia/video/gst-plugins-base/pspec.xml new file mode 100644 index 0000000000..04c8425212 --- /dev/null +++ b/multimedia/video/gst-plugins-base/pspec.xml @@ -0,0 +1,189 @@ + + + + + gst-plugins-base + http://gstreamer.net/ + + PisiLinux Community + admins@pisilinux.org + + GPLv2 + library + Basepack of plugins for gstreamer + GStreamer base plugins are a well-groomed and well-maintained collection of GStreamer plugins and elements, spanning the range of possible types of elements one would want to write for GStreamer. It also contains helper libraries and base classes useful for writing elements. A wide range of video and audio decoders, encoders, and filters are included. + http://ftp.gnome.org/pub/gnome/sources/gst-plugins-base/0.10/gst-plugins-base-0.10.36.tar.xz + + gstreamer-devel + libcdio-devel + cdparanoia-devel + pango-devel + cairo-devel + libXv-devel + liboil-devel + libogg-devel + libXext-devel + alsa-lib-devel + libvorbis-devel + libtheora-devel + libvisual-devel + gobject-introspection-devel + orc-devel + gnome-vfs-devel + + + + + gst-plugins-base + + gstreamer + libcdio + cdparanoia + pango + cairo + libXv + libogg + libXext + alsa-lib + libvorbis + libvisual + libtheora + orc + gnome-vfs + + + /usr/bin + /usr/lib/girepository-1.0 + /usr/lib/gstreamer-0.10 + /usr/lib/libgst* + /usr/share/doc + /usr/share/gir-1.0 + /usr/share/gst-plugins-base + /usr/share/man + /usr/share/locale + + + + + gst-plugins-base-32bit + emul32 + 32-bit shared libraries for gst-plugins-base + emul32 + + orc-32bit + zlib-32bit + glib2-32bit + libXv-32bit + cairo-32bit + pango-32bit + libSM-32bit + libogg-32bit + libICE-32bit + libX11-32bit + libxml2-32bit + libXext-32bit + alsa-lib-32bit + libtheora-32bit + gstreamer-32bit + libvorbis-32bit + libvisual-32bit + + + gst-plugins-base + orc-32bit + zlib-32bit + glib2-32bit + libXv-32bit + cairo-32bit + pango-32bit + libogg-32bit + libX11-32bit + libxml2-32bit + libXext-32bit + alsa-lib-32bit + libtheora-32bit + gstreamer-32bit + libvorbis-32bit + libvisual-32bit + + + /usr/lib32/gstreamer-0.10 + /usr/lib32/libgst* + + + + + gst-plugins-base-devel + Development files for gst-plugins-base + + gst-plugins-base + gstreamer-devel + + + /usr/include + /usr/lib/pkgconfig + /usr/lib32/pkgconfig/gstreamer*.pc + + /usr/share/man/man3 + + + + + + 2014-05-20 + 0.10.36 + Release bump. + Alihan Öztürk + alihan@pisilinux.org + + + 2014-02-27 + 0.10.36 + Rebuild Unused + Varol Maksutoğlu + waroi@pisilinux.org + + + 2014-01-01 + 0.10.36 + Fixed. + PisiLinux Community + admins@pisilinux.org + + + 2013-07-27 + 0.10.36 + Move pc files to devel pack, rebuild. + PisiLinux Community + admins@pisilinux.org + + + 2013-07-07 + 0.10.36 + Rebuild for libcdio-0.90 + Marcin Bojara + marcin@pisilinux.org + + + 2013-05-25 + 0.10.36 + configure fix. + PisiLinux Community + admins@pisilinux.org + + + 2013-02-14 + 0.10.36 + Add emul32 + Marcin Bojara + marcin@pisilinux.org + + + 2012-11-09 + 0.10.36 + First release + Serdar Soytetir + kaptan@pisilinux.org + + + diff --git a/multimedia/video/gst-plugins-base/translations.xml b/multimedia/video/gst-plugins-base/translations.xml new file mode 100644 index 0000000000..5b1cb10920 --- /dev/null +++ b/multimedia/video/gst-plugins-base/translations.xml @@ -0,0 +1,14 @@ + + + + gst-plugins-base + Gstreamer için temel eklentiler paketi + Bu paket, Gstreamer'ın rahatlıkla genişleyebilmesini sağlayan ve bakımları sürekli yapılan temel eklentileri içerir. Program parçacığı yazmak için yardımcı kütüphaneler ve temel sınıflar da bulunur. + Les plug-ins (greffons) de base GStreamer est une collection bien peaufinée et bien maintenues de plug-ins et d'éléments GStreamer, couvrant l'éventail des types d'éléments que quelqu'un pourrait vouloir écrire pour GStreamer. Il contient également des librairies d'aide ainsi que les classes de bases utiles pour l'écriture d'éléments. Un grand nombre de décodeurs, d'encodeurs et de filtres audio et vidéos sont également inclus. + + + + gst-plugins-base-devel + gst-plugins-base için geliştirme dosyaları + + diff --git a/multimedia/video/gstreamer-next/actions.py b/multimedia/video/gstreamer-next/actions.py new file mode 100644 index 0000000000..d45dd015a9 --- /dev/null +++ b/multimedia/video/gstreamer-next/actions.py @@ -0,0 +1,48 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import shelltools +from pisi.actionsapi import autotools +from pisi.actionsapi import pisitools +from pisi.actionsapi import get + +def setup(): + shelltools.export("AUTOPOINT", "true") + autotools.autoreconf("-vfi") + + options = '--with-package-name="GStreamer for PisiLinux" \ + --with-package-origin="http://www.pisilinux.org" \ + --enable-nls \ + --disable-dependency-tracking \ + --disable-examples \ + --enable-introspection \ + --disable-static \ + --disable-rpath \ + --disable-valgrind \ + --disable-gtk-doc' + + if get.buildTYPE() == "emul32": + options += " --bindir=/usr/bin32 \ + --libexecdir=/usr/libexec32 \ + --disable-introspection" + + shelltools.export("PKG_CONFIG_PATH", "/usr/lib32/pkgconfig") + + autotools.configure(options) + + pisitools.dosed("libtool", " -shared ", " -Wl,-O1,--as-needed -shared ") + +def build(): + autotools.make() + +def install(): + autotools.rawInstall("DESTDIR=%s" % get.installDIR()) + + if get.buildTYPE() == "emul32": + pisitools.removeDir("/usr/bin32") + pisitools.removeDir("/usr/libexec32") + + pisitools.dodoc("AUTHORS", "ChangeLog", "COPYING*", "NEWS", "README") \ No newline at end of file diff --git a/multimedia/video/gstreamer-next/pspec.xml b/multimedia/video/gstreamer-next/pspec.xml new file mode 100644 index 0000000000..3e7d094b82 --- /dev/null +++ b/multimedia/video/gstreamer-next/pspec.xml @@ -0,0 +1,126 @@ + + + + + gstreamer-next + http://gstreamer.freedesktop.org/ + + PisiLinux Community + admins@pisilinux.org + + LGPLv2.1 + library + app:console + GStreamer streaming media framework runtime + GStreamer is a streaming media framework, based on graphs of filters which operate on media data. Applications using this library can do anything from real-time sound processing to playing videos, and just about anything else media-related. + http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.4.5.tar.xz + + check + valgrind + gobject-introspection-devel + libxml2-devel + ghostscript-devel + clutter + + + + + gstreamer-next + + + + + /usr/bin + /usr/lib + /usr/libexec + /usr/share/gir-1.0 + /usr/share/doc + /usr/share/gtk-doc + /usr/share/locale + /usr/share/man + + + + + gstreamer-next-32bit + emul32 + 32-bit shared libraries for gstreamer + emul32 + + glib2-32bit + + + glib2-32bit + gstreamer-next + + + /usr/lib32 + + + + + gstreamer-next-devel + Development files for gstreamer + + gstreamer-next + + + /usr/include + /usr/lib/pkgconfig + /usr/lib32/pkgconfig + /usr/share/aclocal + + + + + + 2015-04-18 + 1.4.5 + Version bump. + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2014-08-22 + 1.4.0 + Version bump. + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2014-05-26 + 1.2.4 + Version bump. + Alihan Öztürk + alihan@pisilinux.org + + + 2014-02-13 + 1.2.3 + Version bump. + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2013-11-20 + 1.2.1 + Version bump + Richard de Bruin + richdb@pisilinux.org + + + 2013-10-11 + 1.2.0 + bump + Erdinç Gültekin + erdincgultekin@pisilinux.org + + + 2013-08-30 + 1.1.4 + First release + PisiLinux Community + admins@pisilinux.org + + + diff --git a/multimedia/video/gstreamer-next/translations.xml b/multimedia/video/gstreamer-next/translations.xml new file mode 100644 index 0000000000..bd76538442 --- /dev/null +++ b/multimedia/video/gstreamer-next/translations.xml @@ -0,0 +1,19 @@ + + + + gstreamer + GStreamer ses yayın altyapısı + gstreamer bir ses yayın altyapısı kütüphanesidir. Bu kütüphaneyi kullanan uygulamalar, gerçek zamanlı ses işleme, görüntü oynatma gibi çokluortam ile ilgili birçok işlem gerçekleştirebilirler. + GStreamer est la librairies principale. Elle contient les entêtes, les fichiers et les éléments centraux. + + + + gstreamer-devel + gstreamer için geliştirme dosyaları + + + + gstreamer-32bit + gstreamer için 32-bit paylaşımlı kitaplıklar + + diff --git a/multimedia/video/gstreamer/actions.py b/multimedia/video/gstreamer/actions.py new file mode 100644 index 0000000000..8eb4ee7e5b --- /dev/null +++ b/multimedia/video/gstreamer/actions.py @@ -0,0 +1,51 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import shelltools +from pisi.actionsapi import autotools +from pisi.actionsapi import pisitools +from pisi.actionsapi import get + +def setup(): + shelltools.export("AUTOPOINT", "true") + autotools.autoreconf("-vfi") + #shelltools.system("./autogen.sh --disable-gtk-doc --disable-docbook") + + options = '--with-package-name="GStreamer for PisiLinux" \ + --with-package-origin="http://www.pisilinux.org" \ + --enable-nls \ + --disable-dependency-tracking \ + --disable-examples \ + --enable-introspection \ + --disable-static \ + --disable-rpath \ + --disable-valgrind \ + --disable-gtk-doc' + + if get.buildTYPE() == "emul32": + options += " --bindir=/usr/bin32 \ + --libexecdir=/usr/libexec32 \ + --disable-introspection" + + shelltools.export("PKG_CONFIG_PATH", "/usr/lib32/pkgconfig") + + autotools.configure(options) + + pisitools.dosed("libtool", " -shared ", " -Wl,-O1,--as-needed -shared ") + +def build(): + autotools.make() + +def install(): + autotools.rawInstall("DESTDIR=%s" % get.installDIR()) + + if get.buildTYPE() == "emul32": + pisitools.removeDir("/usr/bin32") + pisitools.removeDir("/usr/libexec32") + + pisitools.removeDir("/usr/share/gtk-doc") + + pisitools.dodoc("AUTHORS", "ChangeLog", "COPYING*", "NEWS", "README") diff --git a/multimedia/video/gstreamer/files/bison3.patch b/multimedia/video/gstreamer/files/bison3.patch new file mode 100644 index 0000000000..4f4f521116 --- /dev/null +++ b/multimedia/video/gstreamer/files/bison3.patch @@ -0,0 +1,31 @@ +From bd2a01cfe222367493a71f3269f12250c8972db0 Mon Sep 17 00:00:00 2001 +From: Kerrick Staley +Date: Wed, 21 Aug 2013 06:59:29 +0000 +Subject: parse: make grammar.y work with Bison 3 + +YYLEX_PARAM is no longer supported in Bison 3. + +https://bugzilla.gnome.org/show_bug.cgi?id=706462 +--- +diff --git a/gst/parse/grammar.y b/gst/parse/grammar.y +index 8a9019c..f533389 100644 +--- a/gst/parse/grammar.y ++++ b/gst/parse/grammar.y +@@ -26,7 +26,6 @@ + */ + + #define YYERROR_VERBOSE 1 +-#define YYLEX_PARAM scanner + + #define YYENABLE_NLS 0 + +@@ -659,6 +658,7 @@ static int yyerror (void *scanner, graph_t *graph, const char *s); + %right '.' + %left '!' '=' + ++%lex-param { void *scanner } + %parse-param { void *scanner } + %parse-param { graph_t *graph } + %pure-parser +-- +cgit v0.9.0.2-2-gbebe diff --git a/multimedia/video/gstreamer/files/wrapper-plugins.patch b/multimedia/video/gstreamer/files/wrapper-plugins.patch new file mode 100644 index 0000000000..8810da1dea --- /dev/null +++ b/multimedia/video/gstreamer/files/wrapper-plugins.patch @@ -0,0 +1,179 @@ +diff -Nur gstreamer-0.10.32.4-old//gst/gstplugin.c gstreamer-0.10.32.4/gst/gstplugin.c +--- gstreamer-0.10.32.4-old//gst/gstplugin.c 2011-05-03 10:00:04.763000288 +0300 ++++ gstreamer-0.10.32.4/gst/gstplugin.c 2011-05-03 10:02:15.244000278 +0300 +@@ -68,6 +68,8 @@ + + #include + ++#include ++ + #define GST_CAT_DEFAULT GST_CAT_PLUGIN_LOADING + + static guint _num_static_plugins; /* 0 */ +@@ -753,6 +755,74 @@ + goto return_error; + } + ++ /* Workarounds for all known plugins that might have changed features ++ * although the plugin timestamp didn't change */ ++ ++ /* GnomeVFS */ ++ if (g_str_has_suffix (filename, "/libgstgnomevfs.so")) { ++ struct stat tmp_status; ++ ++ if (!g_stat (LIBDIR "/gnome-vfs-2.0/modules", &tmp_status)) { ++ file_status.st_mtime = MAX (file_status.st_mtime, tmp_status.st_mtime); ++ } ++ } ++ ++ /* LADSPA */ ++ if (g_str_has_suffix (filename, "/libgstladspa.so")) { ++ struct stat tmp_status; ++ ++ if (!g_stat (LIBDIR "/ladspa", &tmp_status)) { ++ file_status.st_mtime = MAX (file_status.st_mtime, tmp_status.st_mtime); ++ } ++ } ++ ++ /* libvisual */ ++ if (g_str_has_suffix (filename, "/libgstlibvisual.so")) { ++ struct stat tmp_status; ++ ++ if (!g_stat (LIBDIR "/libvisual-0.4", &tmp_status)) { ++ GDir *dir; ++ const gchar *file; ++ ++ file_status.st_mtime = MAX (file_status.st_mtime, tmp_status.st_mtime); ++ dir = g_dir_open (LIBDIR "/libvisual-0.4", 0, NULL); ++ if (dir) { ++ while ((file = g_dir_read_name (dir))) { ++ gchar *filename = g_strdup_printf (LIBDIR "/libvisual-0.4/%s", file); ++ ++ if (!g_stat (filename, &tmp_status)) { ++ file_status.st_mtime = ++ MAX (file_status.st_mtime, tmp_status.st_mtime); ++ } ++ g_free (filename); ++ } ++ g_dir_close (dir); ++ } ++ } ++ } ++ ++ /* FFMPEG */ ++ if (g_str_has_suffix (filename, "/libgstffmpeg.so") || ++ g_str_has_suffix (filename, "/libgstpostproc.so")) { ++ struct stat tmp_status; ++ glob_t gl = { 0, }; ++ int i; ++ ++ glob (LIBDIR "/libavcodec.so.*.*", GLOB_NOSORT, NULL, &gl); ++ glob (LIBDIR "/libavutil.so.*.*", GLOB_APPEND | GLOB_NOSORT, NULL, &gl); ++ glob (LIBDIR "/libavformat.so.*.*", GLOB_APPEND | GLOB_NOSORT, NULL, &gl); ++ glob (LIBDIR "/libpostproc.so.*.*", GLOB_APPEND | GLOB_NOSORT, NULL, &gl); ++ glob (LIBDIR "/libswscale.so.*.*", GLOB_APPEND | GLOB_NOSORT, NULL, &gl); ++ ++ for (i = 0; i < gl.gl_pathc; i++) { ++ if (!g_stat (gl.gl_pathv[i], &tmp_status)) { ++ file_status.st_mtime = MAX (file_status.st_mtime, tmp_status.st_mtime); ++ } ++ } ++ ++ globfree (&gl); ++ } ++ + flags = G_MODULE_BIND_LOCAL; + /* libgstpython.so is the gst-python plugin loader. It needs to be loaded with + * G_MODULE_BIND_LAZY. +diff -Nur gstreamer-0.10.32.4-old//gst/gstregistry.c gstreamer-0.10.32.4/gst/gstregistry.c +--- gstreamer-0.10.32.4-old//gst/gstregistry.c 2011-05-03 10:00:04.770000288 +0300 ++++ gstreamer-0.10.32.4/gst/gstregistry.c 2011-05-03 10:00:25.707000262 +0300 +@@ -142,6 +142,8 @@ + extern HMODULE _priv_gst_dll_handle; + #endif + ++#include ++ + #define GST_CAT_DEFAULT GST_CAT_REGISTRY + + struct _GstRegistryPrivate +@@ -1203,6 +1205,79 @@ + * update the plugin to ensure the registry cache will reflect up + * to date information */ + ++ /* Workarounds for all known plugins that might have changed features ++ * although the plugin timestamp didn't change */ ++ ++ /* GnomeVFS */ ++ if (g_str_has_suffix (filename, "/libgstgnomevfs.so")) { ++ struct stat tmp_status; ++ ++ if (!g_stat (LIBDIR "/gnome-vfs-2.0/modules", &tmp_status)) { ++ file_status.st_mtime = ++ MAX (file_status.st_mtime, tmp_status.st_mtime); ++ } ++ } ++ ++ /* LADSPA */ ++ if (g_str_has_suffix (filename, "/libgstladspa.so")) { ++ struct stat tmp_status; ++ ++ if (!g_stat (LIBDIR "/ladspa", &tmp_status)) { ++ file_status.st_mtime = ++ MAX (file_status.st_mtime, tmp_status.st_mtime); ++ } ++ } ++ ++ /* libvisual */ ++ if (g_str_has_suffix (filename, "/libgstlibvisual.so")) { ++ struct stat tmp_status; ++ ++ if (!g_stat (LIBDIR "/libvisual-0.4", &tmp_status)) { ++ GDir *dir; ++ const gchar *file; ++ ++ file_status.st_mtime = ++ MAX (file_status.st_mtime, tmp_status.st_mtime); ++ dir = g_dir_open (LIBDIR "/libvisual-0.4", 0, NULL); ++ if (dir) { ++ while ((file = g_dir_read_name (dir))) { ++ gchar *filename = ++ g_strdup_printf (LIBDIR "/libvisual-0.4/%s", file); ++ ++ if (!g_stat (filename, &tmp_status)) { ++ file_status.st_mtime = ++ MAX (file_status.st_mtime, tmp_status.st_mtime); ++ } ++ g_free (filename); ++ } ++ g_dir_close (dir); ++ } ++ } ++ } ++ ++ /* FFMPEG */ ++ if (g_str_has_suffix (filename, "/libgstffmpeg.so") || ++ g_str_has_suffix (filename, "/libgstpostproc.so")) { ++ struct stat tmp_status; ++ glob_t gl = { 0, }; ++ int i; ++ ++ glob (LIBDIR "/libavcodec.so.*.*", GLOB_NOSORT, NULL, &gl); ++ glob (LIBDIR "/libavutil.so.*.*", GLOB_APPEND | GLOB_NOSORT, NULL, &gl); ++ glob (LIBDIR "/libavformat.so.*.*", GLOB_APPEND | GLOB_NOSORT, NULL, &gl); ++ glob (LIBDIR "/libpostproc.so.*.*", GLOB_APPEND | GLOB_NOSORT, NULL, &gl); ++ glob (LIBDIR "/libswscale.so.*.*", GLOB_APPEND | GLOB_NOSORT, NULL, &gl); ++ ++ for (i = 0; i < gl.gl_pathc; i++) { ++ if (!g_stat (gl.gl_pathv[i], &tmp_status)) { ++ file_status.st_mtime = ++ MAX (file_status.st_mtime, tmp_status.st_mtime); ++ } ++ } ++ ++ globfree (&gl); ++ } ++ + if (plugin->file_mtime == file_status.st_mtime && + plugin->file_size == file_status.st_size && !env_vars_changed && + !(deps_changed = _priv_plugin_deps_files_changed (plugin)) && diff --git a/multimedia/video/gstreamer/pspec.xml b/multimedia/video/gstreamer/pspec.xml new file mode 100644 index 0000000000..87a1071184 --- /dev/null +++ b/multimedia/video/gstreamer/pspec.xml @@ -0,0 +1,107 @@ + + + + + gstreamer + http://gstreamer.freedesktop.org/ + + PisiLinux Community + admins@pisilinux.org + + LGPLv2.1 + library + app:console + GStreamer streaming media framework runtime + GStreamer is a streaming media framework, based on graphs of filters which operate on media data. Applications using this library can do anything from real-time sound processing to playing videos, and just about anything else media-related. + http://ftp.gnome.org/pub/gnome/sources/gstreamer/0.10/gstreamer-0.10.36.tar.xz + + + wrapper-plugins.patch + bison3.patch + + + + + gstreamer + + /usr/bin + /usr/lib + /usr/libexec + /usr/share/gir-1.0 + /usr/share/doc + /usr/share/locale + /usr/share/man + + + + + gstreamer-devel + Development files for gstreamer + + gstreamer + + + /usr/include + /usr/lib/pkgconfig + /usr/lib32/pkgconfig + /usr/share/aclocal + + + + + gstreamer-32bit + emul32 + 32-bit shared libraries for gstreamer + emul32 + + glib2-32bit + libxml2-32bit + + + gstreamer + glib2-32bit + libxml2-32bit + + + /usr/lib32 + + + + + + 2014-05-19 + 0.10.36 + Release bump. + Alihan Öztürk + alihan@pisilinux.org + + + 2014-04-23 + 0.10.36 + Rebuild for webp + Kamil Atlı + suvarice@gmail.com + + + 2014-02-27 + 0.10.36 + Rebuild Unused + Varol Maksutoğlu + waroi@pisilinux.org + + + 2014-01-26 + 0.10.36 + Release Bump + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2012-08-20 + 0.10.36 + First release + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + diff --git a/multimedia/video/gstreamer/translations.xml b/multimedia/video/gstreamer/translations.xml new file mode 100644 index 0000000000..bd76538442 --- /dev/null +++ b/multimedia/video/gstreamer/translations.xml @@ -0,0 +1,19 @@ + + + + gstreamer + GStreamer ses yayın altyapısı + gstreamer bir ses yayın altyapısı kütüphanesidir. Bu kütüphaneyi kullanan uygulamalar, gerçek zamanlı ses işleme, görüntü oynatma gibi çokluortam ile ilgili birçok işlem gerçekleştirebilirler. + GStreamer est la librairies principale. Elle contient les entêtes, les fichiers et les éléments centraux. + + + + gstreamer-devel + gstreamer için geliştirme dosyaları + + + + gstreamer-32bit + gstreamer için 32-bit paylaşımlı kitaplıklar + +