From b56d5949c9b0c3b40a942cd83f71e4420473435b Mon Sep 17 00:00:00 2001 From: root Date: Thu, 28 Feb 2013 00:03:26 -0800 Subject: Thu Feb 28 00:03:24 PST 2013 --- community/aegisub/PKGBUILD | 43 + community/aegisub/aegisub.install | 14 + community/aegisub/crash-on-deatach.patch | 10 + community/aegisub/lua51.patch | 24 + community/cinnamon-control-center/PKGBUILD | 46 +- .../fix-audio-input-icons.patch | 15 + .../fix-faces-location.patch | 12 + .../cinnamon-control-center/sound-nua-rename.patch | 26 + community/cinnamon-screensaver/PKGBUILD | 19 +- .../cinnamon-screensaver.desktop | 11 + .../cinnamon-screensaver.install | 7 - .../cinnamon2d-screensaver.desktop | 11 + community/erlang-sdl/PKGBUILD | 14 +- community/fceux/PKGBUILD | 6 +- community/ffmpegsource/PKGBUILD | 15 +- community/ffmpegsource/enable-libavresample.patch | 970 +++++++++++++++++++++ community/freeorion/PKGBUILD | 12 +- community/haskell-regex-base/PKGBUILD | 4 +- community/i3status/PKGBUILD | 6 +- community/openshadinglanguage/PKGBUILD | 9 +- community/percona-server/PKGBUILD | 6 +- community/pidgin-lwqq/PKGBUILD | 11 +- community/processing/PKGBUILD | 52 +- community/rxvt-unicode/01-fix-screen-sel.patch | 66 ++ community/rxvt-unicode/PKGBUILD | 15 +- community/rxvt-unicode/urxvt-tabbed.desktop | 3 +- community/rxvt-unicode/urxvt.desktop | 3 +- community/rxvt-unicode/urxvtc.desktop | 3 +- community/teamspeak3/PKGBUILD | 60 ++ community/teamspeak3/icon.xpm | 305 +++++++ community/teamspeak3/teamspeak3.desktop | 11 + community/teamspeak3/teamspeak3.launcher | 6 + extra/calligra/PKGBUILD | 6 +- extra/gnutls/PKGBUILD | 8 +- extra/gnutls/gnutls.install | 2 +- extra/hylafax/PKGBUILD | 16 +- extra/hylafax/faxgetty@.service | 24 + extra/lftp/PKGBUILD | 8 +- extra/nss/PKGBUILD | 8 +- extra/watchdog/PKGBUILD | 24 +- extra/watchdog/watchdog.cf | 2 - extra/watchdog/watchdog.sh | 44 - extra/xterm/PKGBUILD | 6 +- social/ruby-headers/PKGBUILD | 8 +- 44 files changed, 1780 insertions(+), 191 deletions(-) create mode 100755 community/aegisub/PKGBUILD create mode 100755 community/aegisub/aegisub.install create mode 100755 community/aegisub/crash-on-deatach.patch create mode 100755 community/aegisub/lua51.patch create mode 100644 community/cinnamon-control-center/fix-audio-input-icons.patch create mode 100644 community/cinnamon-control-center/fix-faces-location.patch create mode 100644 community/cinnamon-control-center/sound-nua-rename.patch create mode 100644 community/cinnamon-screensaver/cinnamon-screensaver.desktop delete mode 100644 community/cinnamon-screensaver/cinnamon-screensaver.install create mode 100644 community/cinnamon-screensaver/cinnamon2d-screensaver.desktop create mode 100755 community/ffmpegsource/enable-libavresample.patch create mode 100644 community/rxvt-unicode/01-fix-screen-sel.patch create mode 100644 community/teamspeak3/PKGBUILD create mode 100644 community/teamspeak3/icon.xpm create mode 100644 community/teamspeak3/teamspeak3.desktop create mode 100644 community/teamspeak3/teamspeak3.launcher create mode 100644 extra/hylafax/faxgetty@.service delete mode 100644 extra/watchdog/watchdog.cf delete mode 100644 extra/watchdog/watchdog.sh diff --git a/community/aegisub/PKGBUILD b/community/aegisub/PKGBUILD new file mode 100755 index 000000000..1904ec6c6 --- /dev/null +++ b/community/aegisub/PKGBUILD @@ -0,0 +1,43 @@ +# $Id: PKGBUILD 85219 2013-02-27 18:33:34Z alucryd $ +# Maintainer: Maxime Gauduin +# Contributor: kozec +# Contributor: Limao Luo + +pkgname=aegisub +pkgver=3.0.2 +pkgrel=5 +pkgdesc="A general-purpose subtitle editor with ASS/SSA support" +arch=('i686' 'x86_64') +url="http://www.aegisub.org" +license=('GPL' 'BSD') +depends=('desktop-file-utils' 'ffmpegsource' 'fftw' 'hicolor-icon-theme' 'hunspell' 'lua51' 'wxgtk2.9' 'hicolor-icon-theme') +makedepends=('mesa') +install=aegisub.install +source=("http://ftp.aegisub.org/pub/releases/${pkgname}-${pkgver}.tar.xz" 'crash-on-deatach.patch' 'lua51.patch') +sha256sums=('68ec20cf49f513608cec400bd462ebb762d6057109968fb01d842e10e6e7fb39' + '85e2c2a6bf091f5b4ca29a0149df8d8ca6219d98a4095f79809f2e698983bca4' + 'ce67b143cc2949fbbd7d72862c54005030339d1c364753335acec271ca9e179d') + +build() { + cd "${srcdir}"/${pkgname}/${pkgname} + +# Patch + patch -Np1 -i "${srcdir}"/crash-on-deatach.patch + patch -Np1 -i "${srcdir}"/lua51.patch + +# Build + autoreconf -ivf + ./configure --prefix=/usr --without-{portaudio,openal,oss} --with-wxdir=/usr/include/wx-2.9 --with-wx-config=/usr/bin/wx-config-2.9 + make +} + +package() { + cd "${srcdir}"/${pkgname}/${pkgname} + +# Install + make DESTDIR="$pkgdir" install + +# License + install -dm 755 "${pkgdir}"/usr/share/licenses/aegisub + install -m 644 LICENCE "${pkgdir}"/usr/share/licenses/aegisub/LICENSE +} diff --git a/community/aegisub/aegisub.install b/community/aegisub/aegisub.install new file mode 100755 index 000000000..105ce6543 --- /dev/null +++ b/community/aegisub/aegisub.install @@ -0,0 +1,14 @@ +post_install() { + gtk-update-icon-cache -ftq /usr/share/icons/hicolor + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} + +# vim: ts=2 sw=2 et: diff --git a/community/aegisub/crash-on-deatach.patch b/community/aegisub/crash-on-deatach.patch new file mode 100755 index 000000000..1a1a3d007 --- /dev/null +++ b/community/aegisub/crash-on-deatach.patch @@ -0,0 +1,10 @@ +--- a/src/video_display.cpp ++++ b/src/video_display.cpp +@@ -309,6 +309,7 @@ + } + + void VideoDisplay::UpdateSize() { ++ if (zoomValue<=0) zoomValue = 1; + if (!con->videoController->IsLoaded() || !IsShownOnScreen()) return; + + videoSize.Set(con->videoController->GetWidth(), con->videoController->GetHeight()); diff --git a/community/aegisub/lua51.patch b/community/aegisub/lua51.patch new file mode 100755 index 000000000..f93fb02de --- /dev/null +++ b/community/aegisub/lua51.patch @@ -0,0 +1,24 @@ +--- a/configure.ac ++++ b/configure.ac +@@ -371,9 +371,9 @@ + + AS_IF([test x$with_lua = xno], [$with_auto4_lua="no"; lua_disabled="(disabled)"], [ + # First try pkg-config with several names +- PKG_CHECK_MODULES(LUA, lua >= 5.1, [with_auto4_lua="yes"], [ +- PKG_CHECK_MODULES(LUA, lua5.1 >= 5.1, [with_auto4_lua="yes"], [ +- PKG_CHECK_MODULES(LUA, lua-5.1 >= 5.1, [with_auto4_lua="yes"], [ ++ PKG_CHECK_MODULES(LUA, lua5.1 >= 5.1 lua5.1 < 5.2, [with_auto4_lua="yes"], [ ++ PKG_CHECK_MODULES(LUA, lua-5.1 >= 5.1 lua-5.1 < 5.2, [with_auto4_lua="yes"], [ ++ PKG_CHECK_MODULES(LUA, lua >= 5.1 lua < 5.2, [with_auto4_lua="yes"], [ + # Still not found so try to autodetect + AS_IF([test -z "$LUA_CFLAGS"], + [AGI_FIND_HEADER([LUA], [lua.hpp], +@@ -393,7 +393,7 @@ + return !res; + }]) + AS_IF([test x$agi_cv_with_lua = xno && test x$with_lua = xyes], +- [AC_MSG_FAILURE([--with-lua was specified, but lua could not be found. Try setting LUA_CLFAGS and LUA_LIBS manually])]) ++ [AC_MSG_FAILURE([--with-lua was specified, but lua 5.1 could not be found. Try setting LUA_CLFAGS and LUA_LIBS manually])]) + with_auto4_lua=$agi_cv_with_lua + ])])]) + ]) diff --git a/community/cinnamon-control-center/PKGBUILD b/community/cinnamon-control-center/PKGBUILD index f5b764b2e..1aba7553d 100644 --- a/community/cinnamon-control-center/PKGBUILD +++ b/community/cinnamon-control-center/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 84767 2013-02-24 13:00:25Z faidoc $ +# $Id: PKGBUILD 85223 2013-02-27 18:49:20Z bgyorgy $ # Maintainer: Alexandre Filgueira @@ -6,35 +6,47 @@ pkgname=cinnamon-control-center pkgver=1.7.1 -pkgrel=1 +pkgrel=2 pkgdesc="The Control Center for Cinnamon" arch=('i686' 'x86_64') -depends=('accountsservice' 'cups-pk-helper' 'gnome-bluetooth' 'gnome-desktop' 'gnome-menus' - 'gnome-online-accounts' 'gnome-settings-daemon' 'gsettings-desktop-schemas' 'gtk3' - 'libgtop' 'libsocialweb' 'network-manager-applet' 'sound-theme-freedesktop' 'upower' - 'libpwquality' 'libsystemd' 'libgnomekbd' 'cheese' 'cinnamon') +depends=('cinnamon' 'cheese' 'libgnomekbd' 'libgtop' 'network-manager-applet') optdepends=('mesa-demos: provides glxinfo for graphics information' 'gnome-color-manager: for color management tasks') -makedepends=('gnome-doc-utils' 'intltool' 'gnome-common' 'docbook-xsl') +makedepends=('intltool' 'gnome-common') url="https://github.com/linuxmint/cinnamon-control-center" install=cinnamon-control-center.install license=('GPL') options=('!libtool' '!emptydirs') source=("$pkgname-$pkgver.tar.gz::https://github.com/linuxmint/cinnamon-control-center/archive/$pkgver.tar.gz" - "pulse3.0.patch") + "pulse3.0.patch" + "sound-nua-rename.patch" + "fix-audio-input-icons.patch" + "fix-faces-location.patch") sha256sums=('eab36af1accfce7b4d5eaf07a865d7290add07b875ed5e52072c1ad2e8570c1e' - 'ddf7c99a1d45a7be54e69e90f194e33f3e56a7f294aa369bfb2e541d8241156e') + 'ddf7c99a1d45a7be54e69e90f194e33f3e56a7f294aa369bfb2e541d8241156e' + '2f49543e4ccabf5c8ce1cd9e4c37e5b291c23cff494eaa671857b2dcf7af4c5b' + '2cefa2764db206c9c6258e3f374988056907dda0c5bbeedbc249fc7c058a0d6b' + '7360f3e018765e80a7afc5a469c1d54ec3fdeb7e58c867596ef26773fb8e7a8a') build() { cd $pkgname-$pkgver patch -Np1 -i ../pulse3.0.patch + # Upstream patch: Change sound module registered name from sound-nua to 'sound' + patch -Np1 -i ../sound-nua-rename.patch + + # Fix icons on Sound preferences dialog + patch -Np1 -i ../fix-audio-input-icons.patch + + # Fix faces location on User accounts dialog + patch -Np1 -i ../fix-faces-location.patch + autoreconf -fi ./configure --prefix=/usr --sysconfdir=/etc \ --localstatedir=/var --disable-static \ - --enable-systemd --with-libsocialweb \ + --enable-systemd \ --disable-update-mimedb #https://bugzilla.gnome.org/show_bug.cgi?id=656229 @@ -47,7 +59,19 @@ package() { make DESTDIR="$pkgdir" install + # Remove unused stuff + make -C panels/datetime DESTDIR="$pkgdir" uninstall + make -C panels/printers DESTDIR="$pkgdir" uninstall + make -C panels/sound DESTDIR="$pkgdir" uninstall + make -C panels/sound/data DESTDIR="$pkgdir" install + make -C shell DESTDIR="$pkgdir" uninstall + make -C shell DESTDIR="$pkgdir" install-libLTLIBRARIES + + # Remove broken desktop files + rm -R "$pkgdir/usr/share/applications" + rm -R "$pkgdir/etc" + # Fix a warning chown 102:0 "$pkgdir/usr/share/polkit-1/rules.d" chmod 700 "$pkgdir/usr/share/polkit-1/rules.d" -} \ No newline at end of file +} diff --git a/community/cinnamon-control-center/fix-audio-input-icons.patch b/community/cinnamon-control-center/fix-audio-input-icons.patch new file mode 100644 index 000000000..77c9b3c5b --- /dev/null +++ b/community/cinnamon-control-center/fix-audio-input-icons.patch @@ -0,0 +1,15 @@ +diff -Naur cinnamon-control-center-1.7.1.orig/panels/sound-nua/gvc-mixer-dialog.c cinnamon-control-center-1.7.1/panels/sound-nua/gvc-mixer-dialog.c +--- cinnamon-control-center-1.7.1.orig/panels/sound-nua/gvc-mixer-dialog.c 2013-02-19 17:37:17.000000000 +0100 ++++ cinnamon-control-center-1.7.1/panels/sound-nua/gvc-mixer-dialog.c 2013-02-26 23:12:37.192399508 +0100 +@@ -1929,9 +1929,9 @@ + gvc_channel_bar_set_name (GVC_CHANNEL_BAR (self->priv->input_bar), + _("_Input volume:")); + gvc_channel_bar_set_low_icon_name (GVC_CHANNEL_BAR (self->priv->input_bar), +- "audio-input-microphone-low-symbolic"); ++ "cin-audio-input-microphone-low-symbolic"); + gvc_channel_bar_set_high_icon_name (GVC_CHANNEL_BAR (self->priv->input_bar), +- "audio-input-microphone-high-symbolic"); ++ "cin-audio-input-microphone-high-symbolic"); + gtk_widget_set_sensitive (self->priv->input_bar, FALSE); + + if (self->priv->size_group != NULL) { diff --git a/community/cinnamon-control-center/fix-faces-location.patch b/community/cinnamon-control-center/fix-faces-location.patch new file mode 100644 index 000000000..1af65fa99 --- /dev/null +++ b/community/cinnamon-control-center/fix-faces-location.patch @@ -0,0 +1,12 @@ +diff -Naur cinnamon-control-center-1.7.1.orig/panels/user-accounts/um-photo-dialog.c cinnamon-control-center-1.7.1/panels/user-accounts/um-photo-dialog.c +--- cinnamon-control-center-1.7.1.orig/panels/user-accounts/um-photo-dialog.c 2013-02-19 17:37:17.000000000 +0100 ++++ cinnamon-control-center-1.7.1/panels/user-accounts/um-photo-dialog.c 2013-02-27 19:17:18.249329833 +0100 +@@ -406,7 +406,7 @@ + for (i = 0; dirs[i] != NULL; i++) { + char *path; + +- path = g_build_filename (dirs[i], "pixmaps", "faces", NULL); ++ path = g_build_filename (dirs[i], "pixmaps", "cinnamon", "faces", NULL); + dir = g_dir_open (path, 0, NULL); + if (dir == NULL) { + g_free (path); diff --git a/community/cinnamon-control-center/sound-nua-rename.patch b/community/cinnamon-control-center/sound-nua-rename.patch new file mode 100644 index 000000000..fb25b9f42 --- /dev/null +++ b/community/cinnamon-control-center/sound-nua-rename.patch @@ -0,0 +1,26 @@ +diff --git a/panels/sound-nua/cc-sound-panel.c b/panels/sound-nua/cc-sound-panel.c +index 1c115f0..092f319 100644 +--- a/panels/sound-nua/cc-sound-panel.c ++++ b/panels/sound-nua/cc-sound-panel.c +@@ -120,7 +120,7 @@ enum { + cc_sound_panel_register_type (G_TYPE_MODULE (module)); + g_io_extension_point_implement (CC_SHELL_PANEL_EXTENSION_POINT, + CC_TYPE_SOUND_PANEL, +- "sound-nua", 0); ++ "sound", 0); + } + + /* GIO extension stuff */ +diff --git a/panels/sound/cc-sound-panel.c b/panels/sound/cc-sound-panel.c +index 2f69c0f..3b78ce2 100644 +--- a/panels/sound/cc-sound-panel.c ++++ b/panels/sound/cc-sound-panel.c +@@ -127,7 +127,7 @@ enum { + cc_sound_panel_register_type (G_TYPE_MODULE (module)); + g_io_extension_point_implement (CC_SHELL_PANEL_EXTENSION_POINT, + CC_TYPE_SOUND_PANEL, +- "sound", 0); ++ "gnome-sound", 0); + } + + /* GIO extension stuff */ diff --git a/community/cinnamon-screensaver/PKGBUILD b/community/cinnamon-screensaver/PKGBUILD index 7ed447856..d7932cc34 100644 --- a/community/cinnamon-screensaver/PKGBUILD +++ b/community/cinnamon-screensaver/PKGBUILD @@ -5,23 +5,25 @@ pkgname=cinnamon-screensaver pkgver=1.7.1 -pkgrel=2 +pkgrel=3 pkgdesc="Screensaver designed to integrate well with the Cinnamon desktop." arch=('i686' 'x86_64') license=('GPL') url="https://github.com/linuxmint/cinnamon-screensaver" backup=(etc/pam.d/cinnamon-screensaver) -depends=('dbus-glib' 'libgnomekbd' 'gnome-desktop' 'gsettings-desktop-schemas' 'systemd') -makedepends=('pkgconfig' 'intltool' 'libxss' 'gnome-common') -conflicts=('gnome-screensaver') +depends=('dbus-glib' 'libgnomekbd' 'gnome-desktop') +makedepends=('intltool' 'gnome-common') options=(!emptydirs) -install=cinnamon-screensaver.install source=($pkgname-$pkgver.tar.gz::https://github.com/linuxmint/cinnamon-screensaver/archive/$pkgver.tar.gz + cinnamon-screensaver.desktop + cinnamon2d-screensaver.desktop cinnamon-screensaver.pam gnome-autogen.sh configure.patch) sha256sums=('055abbc24305dad5efa609b354e01fdc367792ccac5383df4b28090ab0bf64e1' + '2f29a72991deb5cc2b44da06f49d1115148fee6a0a22b1abfecee1c1661abcaa' + '335df8f2fb270484829d94995622521f0a42a12d6887f7de827db34fc81f583a' 'c19870c4f2d6e91ba0eea2603753a74e0c5c82ff5fa3cacb1198027a38d0a6cb' '827276b01e658afb8045fb0dcbebb54f679ef47dac482f4399e1839369277ccc' 'fed5f1f94404fab13c5369f4106b0b498cff2bb71351cae4f3d9c27f417f5e6a') @@ -48,4 +50,11 @@ package() { cd $pkgname-$pkgver make DESTDIR="$pkgdir" install install -Dm644 ../cinnamon-screensaver.pam "$pkgdir/etc/pam.d/cinnamon-screensaver" + + # Remove conflicts with gnome-screensaver + rm "$pkgdir"/usr/bin/gnome-screensaver{,-command} + + # Autostart only in Cinnamon + install -m644 "$srcdir/cinnamon-screensaver.desktop" "$pkgdir/etc/xdg/autostart/cinnamon-screensaver.desktop" + install -m644 "$srcdir/cinnamon2d-screensaver.desktop" "$pkgdir/etc/xdg/autostart/cinnamon2d-screensaver.desktop" } diff --git a/community/cinnamon-screensaver/cinnamon-screensaver.desktop b/community/cinnamon-screensaver/cinnamon-screensaver.desktop new file mode 100644 index 000000000..75c81ca26 --- /dev/null +++ b/community/cinnamon-screensaver/cinnamon-screensaver.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Type=Application +Name=Cinnamon Screensaver +Comment=Launch screensaver and locker program +Icon=preferences-desktop-screensaver +Exec=cinnamon-screensaver +OnlyShowIn=GNOME; +AutostartCondition=GNOME3 if-session cinnamon +NoDisplay=true +X-GNOME-Autostart-Phase=Application +X-GNOME-Autostart-Notify=true diff --git a/community/cinnamon-screensaver/cinnamon-screensaver.install b/community/cinnamon-screensaver/cinnamon-screensaver.install deleted file mode 100644 index 904b7895d..000000000 --- a/community/cinnamon-screensaver/cinnamon-screensaver.install +++ /dev/null @@ -1,7 +0,0 @@ -pkgname=cinnamon-screensaver - -pre_upgrade() { - if [ -f usr/share/gconf/schemas/${pkgname}.schemas ]; then - gconfpkg --uninstall ${pkgname} - fi -} diff --git a/community/cinnamon-screensaver/cinnamon2d-screensaver.desktop b/community/cinnamon-screensaver/cinnamon2d-screensaver.desktop new file mode 100644 index 000000000..d9d50012c --- /dev/null +++ b/community/cinnamon-screensaver/cinnamon2d-screensaver.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Type=Application +Name=Cinnamon Screensaver +Comment=Launch screensaver and locker program +Icon=preferences-desktop-screensaver +Exec=cinnamon-screensaver +OnlyShowIn=GNOME; +AutostartCondition=GNOME3 if-session cinnamon2d +NoDisplay=true +X-GNOME-Autostart-Phase=Application +X-GNOME-Autostart-Notify=true diff --git a/community/erlang-sdl/PKGBUILD b/community/erlang-sdl/PKGBUILD index 7a1fbd882..b154943c6 100644 --- a/community/erlang-sdl/PKGBUILD +++ b/community/erlang-sdl/PKGBUILD @@ -1,15 +1,16 @@ -# $Id: PKGBUILD 80318 2012-11-19 22:01:23Z arodseth $ +# $Id: PKGBUILD 85225 2013-02-27 19:58:03Z andrea $ # Maintainer: Alexander Rødseth # Contributor: kappa pkgname=erlang-sdl pkgver=1.2 -pkgrel=2 +pkgrel=3 arch=('x86_64' 'i686') pkgdesc='SDL and OpenGL bindings for Erlang (r15b-driver-compat branch)' url='http://esdl.sourceforge.net/' license=('custom') -depends=('erlang' 'sdl' 'glu') +depends=('erlang' 'sdl' 'glu' 'libgl') +makedepends=('mesa-libgl') replaces=('esdl') source=("$pkgname-$pkgver.tar.gz::https://nodeload.github.com/dgud/esdl/tar.gz/dgud/r15b-driver-compat") sha256sums=('a14d695229b93401a304b773874e87c02c5b304d4b5b66f35cba75e140672086') @@ -26,13 +27,6 @@ package() { cd "$srcdir/$_dirname" make INSTALLDIR="$pkgdir/usr/lib/erlang/lib/esdl-$pkgver" install - - ## An attempt to make wings3d compile with esdl 1.2 - #ln -s /usr/lib/erlang/lib/wx-0.99/include/glu.hrl \ - # "$pkgdir/usr/lib/erlang/lib/esdl-$pkgver/include/glu.hrl" - #ln -s /usr/lib/erlang/lib/wx-0.99/include/gl.hrl \ - # "$pkgdir/usr/lib/erlang/lib/esdl-$pkgver/include/gl.hrl" - install -Dm644 license.terms "$pkgdir/usr/share/licenses/$pkgname/LICENSE" } diff --git a/community/fceux/PKGBUILD b/community/fceux/PKGBUILD index 3d963df97..c132adb40 100644 --- a/community/fceux/PKGBUILD +++ b/community/fceux/PKGBUILD @@ -1,17 +1,17 @@ -# $Id: PKGBUILD 83618 2013-02-03 23:24:07Z arodseth $ +# $Id: PKGBUILD 85226 2013-02-27 19:58:28Z andrea $ # Maintainer: Alexander Rødseth # Contriutor: Eric Belanger # Contributor: Jo Christian Bergskås pkgname=fceux pkgver=2.2.0 -pkgrel=2 +pkgrel=3 url='http://www.fceux.com/' pkgdesc='Fast and ultra-compatible NES/Famicom emulator' arch=('x86_64' 'i686') license=('GPL') depends=('sdl' 'gtk2' 'gd' 'desktop-file-utils' 'lua51' 'libgl') -makedepends=('scons' 'mesa' 'glu') +makedepends=('scons' 'mesa-libgl' 'glu') optdepends=('xchm: for viewing the manual') install=$pkgname.install source=("https://sourceforge.net/projects/fceultra/files/Source%20Code/$pkgver%20src/$pkgname-$pkgver.src.tar.gz") diff --git a/community/ffmpegsource/PKGBUILD b/community/ffmpegsource/PKGBUILD index 33e864022..eac86386e 100755 --- a/community/ffmpegsource/PKGBUILD +++ b/community/ffmpegsource/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 84951 2013-02-26 15:11:09Z alucryd $ +# $Id: PKGBUILD 85215 2013-02-27 18:14:32Z alucryd $ # Maintainer: Maxime Gauduin pkgname=ffmpegsource pkgver=743 -pkgrel=1 +pkgrel=2 pkgdesc="A libav/ffmpeg based source library and Avisynth plugin for easy frame accurate access" arch=('i686' 'x86_64') url="http://code.google.com/p/ffmpegsource/" @@ -11,14 +11,17 @@ license=('MIT') depends=('ffmpeg') makedepends=('svn') options=('!libtool') -source=('autoconf.patch') -sha256sums=('b09a7e9a08a16bdaf19d43c7ad8d3ec455f6fecec2f4f5ada417345343adda93') +source=('autoconf.patch' 'enable-libavresample.patch') +sha256sums=('b09a7e9a08a16bdaf19d43c7ad8d3ec455f6fecec2f4f5ada417345343adda93' + '05f03515cc2405cdf8a8ba835f5adc2057f40054a4a1d9e493f0ad512c5de70d') _svntrunk=http://ffmpegsource.googlecode.com/svn/trunk/ _svnmod=ffmpegsource build() { cd "${srcdir}" + +# Checkout msg "Connecting to SVN server...." if [[ -d ${_svnmod}/.svn ]]; then @@ -31,11 +34,13 @@ build() { msg "Starting build..." rm -rf "${srcdir}"/${_svnmod}-build - svn export "${srcdir}"/${_svnmod} "${srcdir}"/${_svnmod}-build +# svn export "${srcdir}"/${_svnmod} "${srcdir}"/${_svnmod}-build + cp -R "${srcdir}"/${_svnmod} "${srcdir}"/${_svnmod}-build cd "${srcdir}"/${_svnmod}-build # Patch patch -Np1 -i "${srcdir}"/autoconf.patch + patch -Np1 -i "${srcdir}"/enable-libavresample.patch # Build ./autogen.sh --prefix=/usr --enable-shared --disable-static diff --git a/community/ffmpegsource/enable-libavresample.patch b/community/ffmpegsource/enable-libavresample.patch new file mode 100755 index 000000000..56d435782 --- /dev/null +++ b/community/ffmpegsource/enable-libavresample.patch @@ -0,0 +1,970 @@ +# enable-libavresample.patch +# +# Adds libavresample support. Created by diffing Thomas Goyne's GIT repo +# with official ffms SVN. +# + +diff -ru ffmpegsource/configure.ac ffms2/configure.ac +--- ffmpegsource/configure.ac 2013-02-27 16:53:39.230691825 +0100 ++++ ffms2/configure.ac 2013-02-27 16:53:31.737713841 +0100 +@@ -181,6 +181,25 @@ + AC_MSG_RESULT([no]) + ]) + ++AC_ARG_ENABLE(avresample, ++ AS_HELP_STRING([--enable-avresample], ++ [use libavresample for audio resampling])) ++AS_IF([test x$enable_avresample != xno], [ ++ PKG_CHECK_MODULES(AVRESAMPLE, [libavresample >= 1.0.0], [enable_avresample=yes], [ ++ AS_IF([test x$enable_avresample = xyes], ++ [AC_MSG_ERROR([--enable-avresample was specified, but avresample 1.0.0+ could not be found.])]) ++ enable_avresample=no ++ ]) ++]) ++ ++AS_IF([test x$enable_avresample], ++ [libavresample="libavresample" ++ AC_DEFINE([WITH_AVRESAMPLE], [1], [Use avresample])]) ++ ++AC_SUBST([AVRESAMPLE_CFLAGS]) ++AC_SUBST([AVRESAMPLE_LIBS]) ++AC_SUBST([libavresample]) ++ + AC_MSG_CHECKING([whether -Wl,-Bsymbolic is needed]) + if test "$enable_shared" = yes; then + _LDFLAGS="$LDFLAGS" +diff -ru ffmpegsource/ffms2.pc.in ffms2/ffms2.pc.in +--- ffmpegsource/ffms2.pc.in 2013-02-27 16:53:38.924039701 +0100 ++++ ffms2/ffms2.pc.in 2013-02-27 16:53:31.737713841 +0100 +@@ -7,7 +7,7 @@ + + Name: ffms2 + Description: The Fabulous FM Library 2 +-Requires.private: libavformat libavcodec libswscale libavutil ++Requires.private: libavformat libavcodec libswscale libavutil @libavresample@ + Version: @FFMS_VERSION@ + Libs.private: @ZLIB_LDFLAGS@ -lz + Libs: -L${libdir} -lffms2 +diff -ru ffmpegsource/include/ffmscompat.h ffms2/include/ffmscompat.h +--- ffmpegsource/include/ffmscompat.h 2013-02-27 16:53:38.920706525 +0100 ++++ ffms2/include/ffmscompat.h 2013-02-27 16:53:31.737713841 +0100 +@@ -71,6 +71,15 @@ + # define FFMS_CodecID AVCodecID + # undef CodecID + # endif ++# if VERSION_CHECK(LIBAVCODEC_VERSION_INT, <, 54, 28, 0, 54, 59, 100) ++# define avcodec_free_frame av_free ++# endif ++#endif ++ ++#ifdef LIBAVUTIL_VERSION_INT ++# if VERSION_CHECK(LIBAVUTIL_VERSION_INT, <, 51, 27, 0, 51, 46, 100) ++# define av_get_packed_sample_fmt(fmt) (fmt < AV_SAMPLE_FMT_U8P ? fmt : fmt - (AV_SAMPLE_FMT_U8P - AV_SAMPLE_FMT_U8)) ++# endif + #endif + + #endif // FFMSCOMPAT_H +diff -ru ffmpegsource/include/ffms.h ffms2/include/ffms.h +--- ffmpegsource/include/ffms.h 2013-02-27 16:53:38.920706525 +0100 ++++ ffms2/include/ffms.h 2013-02-27 16:53:31.737713841 +0100 +@@ -113,6 +113,7 @@ + FFMS_ERROR_TRACK, // track handling + FFMS_ERROR_WAVE_WRITER, // WAVE64 file writer + FFMS_ERROR_CANCELLED, // operation aborted ++ FFMS_ERROR_RESAMPLING, // audio resampling (libavresample) + + // Subtypes - what caused the error + FFMS_ERROR_UNKNOWN = 20, // unknown error +@@ -237,6 +238,53 @@ + FFMS_CR_JPEG = 2 // 2^n-1, or "fullrange" + } FFMS_ColorRanges; + ++typedef enum FFMS_MixingCoefficientType { ++ FFMS_MIXING_COEFFICIENT_Q8 = 0, ++ FFMS_MIXING_COEFFICIENT_Q15 = 1, ++ FFMS_MIXING_COEFFICIENT_FLT = 2 ++} FFMS_MixingCoefficientType; ++ ++typedef enum FFMS_MatrixEncoding { ++ FFMS_MATRIX_ENCODING_NONE = 0, ++ FFMS_MATRIX_ENCODING_DOBLY = 1, ++ FFMS_MATRIX_ENCODING_PRO_LOGIC_II = 2 ++} FFMS_MatrixEncoding; ++ ++typedef enum FFMS_ResampleFilterType { ++ FFMS_RESAMPLE_FILTER_CUBIC = 0, ++ FFMS_RESAMPLE_FILTER_SINC = 1, ++ FFMS_RESAMPLE_FILTER_KAISER = 2 ++} FFMS_ResampleFilterType; ++ ++typedef enum FFMS_AudioDitherMethod { ++ FFMS_RESAMPLE_DITHER_NONE = 0, ++ FFMS_RESAMPLE_DITHER_RECTANGULAR = 1, ++ FFMS_RESAMPLE_DITHER_TRIANGULAR = 2, ++ FFMS_RESAMPLE_DITHER_TRIANGULAR_HIGHPASS = 3, ++ FFMS_RESAMPLE_DITHER_TRIANGULAR_NOISESHAPING = 4 ++} FFMS_AudioDitherMethod; ++ ++typedef struct FFMS_ResampleOptions { ++ int64_t ChannelLayout; ++ FFMS_SampleFormat SampleFormat; ++ int SampleRate; ++ FFMS_MixingCoefficientType MixingCoefficientType; ++ double CenterMixLevel; ++ double SurroundMixLevel; ++ double LFEMixLevel; ++ int Normalize; ++ int ForceResample; ++ int ResampleFilterSize; ++ int ResamplePhaseShift; ++ int LinearInterpolation; ++ double CutoffFrequencyRatio; ++ FFMS_MatrixEncoding MatrixedStereoEncoding; ++ FFMS_ResampleFilterType FilterType; ++ int KaiserBeta; ++ FFMS_AudioDitherMethod DitherMethod; ++} FFMS_ResampleOptions; ++ ++ + typedef struct FFMS_Frame { + uint8_t *Data[4]; + int Linesize[4]; +@@ -319,6 +367,9 @@ + FFMS_API(void) FFMS_ResetOutputFormatV(FFMS_VideoSource *V); + FFMS_API(int) FFMS_SetInputFormatV(FFMS_VideoSource *V, int ColorSpace, int ColorRange, int Format, FFMS_ErrorInfo *ErrorInfo); /* Introduced in FFMS_VERSION ((2 << 24) | (17 << 16) | (1 << 8) | 0) */ + FFMS_API(void) FFMS_ResetInputFormatV(FFMS_VideoSource *V); ++FFMS_API(FFMS_ResampleOptions *) FFMS_CreateResampleOptions(FFMS_AudioSource *A); /* Introduced in FFMS_VERSION ((2 << 24) | (15 << 16) | (4 << 8) | 0) */ ++FFMS_API(int) FFMS_SetOutputFormatA(FFMS_AudioSource *A, const FFMS_ResampleOptions*options, FFMS_ErrorInfo *ErrorInfo); /* Introduced in FFMS_VERSION ((2 << 24) | (15 << 16) | (4 << 8) | 0) */ ++FFMS_API(void) FFMS_DestroyResampleOptions(FFMS_ResampleOptions *options); /* Introduced in FFMS_VERSION ((2 << 24) | (15 << 16) | (4 << 8) | 0) */ + FFMS_API(void) FFMS_DestroyIndex(FFMS_Index *Index); + FFMS_API(int) FFMS_GetSourceType(FFMS_Index *Index); + FFMS_API(int) FFMS_GetSourceTypeI(FFMS_Indexer *Indexer); +diff -ru ffmpegsource/Makefile.am ffms2/Makefile.am +--- ffmpegsource/Makefile.am 2013-02-27 16:53:39.310688030 +0100 ++++ ffms2/Makefile.am 2013-02-27 16:53:31.724381141 +0100 +@@ -9,7 +9,7 @@ + INCLUDES = -I. -I$(top_srcdir)/include -I$(top_srcdir)/src/config @LIBAV_CFLAGS@ @ZLIB_CPPFLAGS@ -include config.h + + lib_LTLIBRARIES = src/core/libffms2.la +-src_core_libffms2_la_LIBADD = @LIBAV_LIBS@ @ZLIB_LDFLAGS@ -lz @LTUNDEF@ ++src_core_libffms2_la_LIBADD = @LIBAV_LIBS@ @AVRESAMPLE_LIBS@ @ZLIB_LDFLAGS@ -lz @LTUNDEF@ + src_core_libffms2_la_SOURCES = \ + src/core/audiosource.h \ + src/core/audiosource.cpp \ +diff -ru ffmpegsource/src/config/config.h.in ffms2/src/config/config.h.in +--- ffmpegsource/src/config/config.h.in 2013-02-27 16:53:39.017368608 +0100 ++++ ffms2/src/config/config.h.in 2013-02-27 16:53:31.744380192 +0100 +@@ -90,5 +90,8 @@ + /* Version number of package */ + #undef VERSION + ++/* Use avresample */ ++#undef WITH_AVRESAMPLE ++ + /* Define to `unsigned int' if does not define. */ + #undef size_t +diff -ru ffmpegsource/src/config/libs.cpp ffms2/src/config/libs.cpp +--- ffmpegsource/src/config/libs.cpp 2013-02-27 16:53:39.017368608 +0100 ++++ ffms2/src/config/libs.cpp 2013-02-27 16:53:31.744380192 +0100 +@@ -45,6 +45,9 @@ + #pragma comment(lib, "libavcodec.a") + #pragma comment(lib, "libavformat.a") + #pragma comment(lib, "libswscale.a") ++#ifdef WITH_AVRESAMPLE ++#pragma comment(lib, "libavresample.a") ++#endif + + #ifdef WITH_OPENCORE_AMR_NB + #ifdef WITH_GCC_LIBAV +diff -ru ffmpegsource/src/core/audiosource.cpp ffms2/src/core/audiosource.cpp +--- ffmpegsource/src/core/audiosource.cpp 2013-02-27 16:53:39.137362917 +0100 ++++ ffms2/src/core/audiosource.cpp 2013-02-27 16:53:31.744380192 +0100 +@@ -23,17 +23,45 @@ + #include + #include + ++namespace { ++ ++ int64_t ChannelLayout; ++ FFMS_SampleFormat SampleFormat; ++ int SampleRate; ++#define MAPPER(m, n) OptionMapper(n, &FFMS_ResampleOptions::m) ++OptionMapper resample_options[] = { ++ MAPPER(ChannelLayout, "out_channel_layout"), ++ MAPPER(SampleFormat, "out_sample_fmt"), ++ MAPPER(SampleRate, "out_sample_rate"), ++ MAPPER(MixingCoefficientType, "mix_coeff_type"), ++ MAPPER(CenterMixLevel, "center_mix_level"), ++ MAPPER(SurroundMixLevel, "surround_mix_level"), ++ MAPPER(LFEMixLevel, "lfe_mix_level"), ++ MAPPER(Normalize, "normalize_mix_level"), ++ MAPPER(ForceResample, "force_resampling"), ++ MAPPER(ResampleFilterSize, "filter_size"), ++ MAPPER(ResamplePhaseShift, "phase_shift"), ++ MAPPER(LinearInterpolation, "linear_interp"), ++ MAPPER(CutoffFrequencyRatio, "cutoff"), ++ MAPPER(MatrixedStereoEncoding, "matrix_encoding"), ++ MAPPER(FilterType, "filter_type"), ++ MAPPER(KaiserBeta, "kaiser_beta"), ++ MAPPER(DitherMethod, "dither_method") ++}; ++#undef MAPPER ++ ++} ++ + FFMS_AudioSource::FFMS_AudioSource(const char *SourceFile, FFMS_Index &Index, int Track) + : Delay(0) + , MaxCacheBlocks(50) + , BytesPerSample(0) +-, Decoded(0) ++, NeedsResample(false) + , CurrentSample(-1) + , PacketNumber(0) + , CurrentFrame(NULL) + , TrackNumber(Track) + , SeekOffset(0) +-, DecodingBuffer(AVCODEC_MAX_AUDIO_FRAME_SIZE * 10) + , Index(Index) + { + if (Track < 0 || Track >= static_cast(Index.size())) +@@ -57,44 +85,14 @@ + Index.AddRef(); + } + +- + #define EXCESSIVE_CACHE_SIZE 400 + + void FFMS_AudioSource::Init(const FFMS_Index &Index, int DelayMode) { +- // The first packet after a seek is often decoded incorrectly, which +- // makes it impossible to ever correctly seek back to the beginning, so +- // store the first block now +- +- // In addition, anything with the same PTS as the first packet can't be +- // distinguished from the first packet and so can't be seeked to, so +- // store those as well +- +- // Some of LAVF's splitters don't like to seek to the beginning of the +- // file (ts and?), so cache a few blocks even if PTSes are unique +- // Packet 7 is the last packet I've had be unseekable to, so cache up to +- // 10 for a bit of an extra buffer +- CacheIterator end = Cache.end(); +- while (PacketNumber < Frames.size() && +- ((Frames[0].PTS != ffms_av_nopts_value && Frames[PacketNumber].PTS == Frames[0].PTS) || +- Cache.size() < 10)) { +- +- // Vorbis in particular seems to like having 60+ packets at the start of the file with a PTS of 0, +- // so we might need to expand the search range to account for that. +- if (Cache.size() >= MaxCacheBlocks - 1) { +- if (MaxCacheBlocks >= EXCESSIVE_CACHE_SIZE) +- throw FFMS_Exception(FFMS_ERROR_DECODING, FFMS_ERROR_ALLOCATION_FAILED, "Exceeded the search range for an initial valid audio PTS"); +- MaxCacheBlocks *= 2; +- } +- ++ // Decode the first packet to ensure all properties are initialized ++ // Don't cache it since it might be in the wrong format ++ // Instead, leave it in DecodeFrame and it'll get cached later ++ while (DecodeFrame->nb_samples == 0) + DecodeNextBlock(); +- if (Decoded) +- CacheBlock(end, CurrentSample, Decoded, &DecodingBuffer[0]); +- } +- // Store the iterator to the last element of the cache which is used for +- // correctness rather than speed, so that when looking for one to delete +- // we know how much to skip +- CacheNoDelete = Cache.end(); +- --CacheNoDelete; + + // Read properties of the audio which may not be available until the first + // frame has been decoded +@@ -104,6 +102,11 @@ + throw FFMS_Exception(FFMS_ERROR_DECODING, FFMS_ERROR_CODEC, + "Codec returned zero size audio"); + ++ if (av_sample_fmt_is_planar(CodecContext->sample_fmt)) { ++ std::auto_ptr opt(CreateResampleOptions()); ++ SetOutputFormat(opt.get()); ++ } ++ + if (DelayMode < FFMS_DELAY_NO_SHIFT) + throw FFMS_Exception(FFMS_ERROR_INDEX, FFMS_ERROR_INVALID_ARGUMENT, + "Bad audio delay compensation mode"); +@@ -146,8 +149,133 @@ + AP.NumSamples += Delay; + } + +-void FFMS_AudioSource::CacheBlock(CacheIterator &pos, int64_t Start, size_t Samples, uint8_t *SrcData) { +- Cache.insert(pos, AudioBlock(Start, Samples, SrcData, Samples * BytesPerSample)); ++void FFMS_AudioSource::CacheBeginning() { ++ // Nothing to do if the cache is already populated ++ if (!Cache.empty()) return; ++ ++ // The first frame is already decoded, so add it to the cache ++ CacheBlock(Cache.end()); ++ ++ // The first packet after a seek is often decoded incorrectly, which ++ // makes it impossible to ever correctly seek back to the beginning, so ++ // store the first block now ++ ++ // In addition, anything with the same PTS as the first packet can't be ++ // distinguished from the first packet and so can't be seeked to, so ++ // store those as well ++ ++ // Some of LAVF's splitters don't like to seek to the beginning of the ++ // file (ts and?), so cache a few blocks even if PTSes are unique ++ // Packet 7 is the last packet I've had be unseekable to, so cache up to ++ // 10 for a bit of an extra buffer ++ CacheIterator end = Cache.end(); ++ while (PacketNumber < Frames.size() && ++ ((Frames[0].PTS != ffms_av_nopts_value && Frames[PacketNumber].PTS == Frames[0].PTS) || ++ Cache.size() < 10)) { ++ ++ // Vorbis in particular seems to like having 60+ packets at the start ++ // of the file with a PTS of 0, so we might need to expand the search ++ // range to account for that. ++ // Expanding slightly before it's strictly needed to ensure there's a ++ // bit of space for an actual cache ++ if (Cache.size() >= MaxCacheBlocks - 5) { ++ if (MaxCacheBlocks >= EXCESSIVE_CACHE_SIZE) ++ throw FFMS_Exception(FFMS_ERROR_DECODING, FFMS_ERROR_ALLOCATION_FAILED, ++ "Exceeded the search range for an initial valid audio PTS"); ++ MaxCacheBlocks *= 2; ++ } ++ ++ DecodeNextBlock(&end); ++ } ++ // Store the iterator to the last element of the cache which is used for ++ // correctness rather than speed, so that when looking for one to delete ++ // we know how much to skip ++ CacheNoDelete = Cache.end(); ++ --CacheNoDelete; ++} ++ ++void FFMS_AudioSource::SetOutputFormat(const FFMS_ResampleOptions *opt) { ++ if (!Cache.empty()) ++ throw FFMS_Exception(FFMS_ERROR_RESAMPLING, FFMS_ERROR_USER, ++ "Cannot change the output format after audio decoding has begun"); ++ ++ BytesPerSample = av_get_bytes_per_sample(static_cast(opt->SampleFormat)) * av_get_channel_layout_nb_channels(opt->ChannelLayout); ++ ++ NeedsResample = ++ opt->SampleFormat != (int)CodecContext->sample_fmt || ++ opt->SampleRate != AP.SampleRate || ++ opt->ChannelLayout != AP.ChannelLayout || ++ opt->ForceResample; ++ if (!NeedsResample) return; ++ ++ if (opt->SampleRate != AP.SampleRate) ++ throw FFMS_Exception(FFMS_ERROR_RESAMPLING, FFMS_ERROR_UNSUPPORTED, ++ "Sample rate changes are currently unsupported."); ++ ++#ifdef WITH_AVRESAMPLE ++ if (opt->SampleRate != AP.SampleRate) ++ throw FFMS_Exception(FFMS_ERROR_RESAMPLING, FFMS_ERROR_UNSUPPORTED, ++ "Changing the audio sample rate is currently not supported"); ++ ++ std::auto_ptr oldOptions(ReadOptions(ResampleContext, resample_options)); ++ SetOptions(opt, ResampleContext, resample_options); ++ av_opt_set_int(ResampleContext, "in_sample_rate", AP.SampleRate, 0); ++ av_opt_set_int(ResampleContext, "in_sample_fmt", CodecContext->sample_fmt, 0); ++ av_opt_set_int(ResampleContext, "in_channel_layout", AP.ChannelLayout, 0); ++ ++ if (avresample_open(ResampleContext)) { ++ SetOptions(oldOptions.get(), ResampleContext, resample_options); ++ avresample_open(ResampleContext); ++ throw FFMS_Exception(FFMS_ERROR_RESAMPLING, FFMS_ERROR_UNKNOWN, ++ "Could not open avresample context"); ++ } ++#else ++ if (opt->SampleFormat != AP.SampleFormat || opt->SampleRate != AP.SampleRate || opt->ChannelLayout != AP.ChannelLayout) ++ throw FFMS_Exception(FFMS_ERROR_RESAMPLING, FFMS_ERROR_UNSUPPORTED, ++ "FFMS was not built with resampling enabled. The only supported conversion is interleaving planar audio."); ++#endif ++} ++ ++FFMS_ResampleOptions *FFMS_AudioSource::CreateResampleOptions() const { ++#ifdef WITH_AVRESAMPLE ++ FFMS_ResampleOptions *ret = ReadOptions(ResampleContext, resample_options); ++#else ++ FFMS_ResampleOptions *ret = new FFMS_ResampleOptions; ++ memset(ret, 0, sizeof(FFMS_ResampleOptions)); ++#endif ++ ret->SampleRate = AP.SampleRate; ++ ret->SampleFormat = static_cast(AP.SampleFormat); ++ ret->ChannelLayout = AP.ChannelLayout; ++ return ret; ++} ++ ++void FFMS_AudioSource::ResampleAndCache(CacheIterator pos) { ++ AudioBlock& block = *Cache.insert(pos, AudioBlock(CurrentSample, DecodeFrame->nb_samples)); ++ block.Data.reserve(DecodeFrame->nb_samples * BytesPerSample); ++ ++#ifdef WITH_AVRESAMPLE ++ block.Data.resize(block.Data.capacity()); ++ ++ uint8_t *OutPlanes[1] = { static_cast(&block.Data[0]) }; ++ avresample_convert(ResampleContext, ++ OutPlanes, block.Data.size(), DecodeFrame->nb_samples, ++ DecodeFrame->extended_data, DecodeFrame->nb_samples * av_get_bytes_per_sample(CodecContext->sample_fmt), DecodeFrame->nb_samples); ++#else ++ int width = av_get_bytes_per_sample(CodecContext->sample_fmt); ++ uint8_t **Data = DecodeFrame->extended_data; ++ ++ for (int s = 0; s < DecodeFrame->nb_samples; ++s) { ++ for (int c = 0; c < CodecContext->channels; ++c) ++ block.Data.insert(block.Data.end(), &Data[c][s * width], &Data[c][(s + 1) * width]); ++ } ++#endif ++} ++ ++void FFMS_AudioSource::CacheBlock(CacheIterator pos) { ++ if (NeedsResample) ++ ResampleAndCache(pos); ++ else ++ Cache.insert(pos, AudioBlock(CurrentSample, DecodeFrame->nb_samples, DecodeFrame->extended_data[0], DecodeFrame->nb_samples * BytesPerSample)); + + if (Cache.size() >= MaxCacheBlocks) { + // Kill the oldest one +@@ -162,45 +290,45 @@ + } + } + +-void FFMS_AudioSource::DecodeNextBlock() { +- if (BytesPerSample == 0) BytesPerSample = av_get_bytes_per_sample(CodecContext->sample_fmt) * CodecContext->channels; +- ++void FFMS_AudioSource::DecodeNextBlock(CacheIterator *pos) { + CurrentFrame = &Frames[PacketNumber]; + + AVPacket Packet; + if (!ReadPacket(&Packet)) +- throw FFMS_Exception(FFMS_ERROR_PARSER, FFMS_ERROR_UNKNOWN, "ReadPacket unexpectedly failed to read a packet"); ++ throw FFMS_Exception(FFMS_ERROR_PARSER, FFMS_ERROR_UNKNOWN, ++ "ReadPacket unexpectedly failed to read a packet"); + + // ReadPacket may have changed the packet number + CurrentFrame = &Frames[PacketNumber]; + CurrentSample = CurrentFrame->SampleStart; +- ++PacketNumber; + +- uint8_t *Buf = &DecodingBuffer[0]; ++ bool GotSamples = false; + uint8_t *Data = Packet.data; + while (Packet.size > 0) { +- int TempOutputBufSize = AVCODEC_MAX_AUDIO_FRAME_SIZE * 10 - (Buf - &DecodingBuffer[0]); +- int Ret = avcodec_decode_audio3(CodecContext, (int16_t *)Buf, &TempOutputBufSize, &Packet); ++ DecodeFrame.reset(); ++ int GotFrame = 0; ++ int Ret = avcodec_decode_audio4(CodecContext, DecodeFrame, &GotFrame, &Packet); + + // Should only ever happen if the user chose to ignore decoding errors + // during indexing, so continue to just ignore decoding errors + if (Ret < 0) break; + +- if (Ret > 0) { ++ if (Ret > 0 && GotFrame) { + Packet.size -= Ret; + Packet.data += Ret; +- Buf += TempOutputBufSize; ++ if (DecodeFrame->nb_samples > 0) { ++ GotSamples = true; ++ if (pos) ++ CacheBlock(*pos); ++ } + } + } + Packet.data = Data; + FreePacket(&Packet); + +- Decoded = (Buf - &DecodingBuffer[0]) / BytesPerSample; +- if (Decoded == 0) { +- // zero sample packets aren't included in the index so we didn't +- // actually move to the next packet +- --PacketNumber; +- } ++ // Zero sample packets aren't included in the index ++ if (GotSamples) ++ ++PacketNumber; + } + + static bool SampleStartComp(const TFrameInfo &a, const TFrameInfo &b) { +@@ -216,6 +344,8 @@ + throw FFMS_Exception(FFMS_ERROR_DECODING, FFMS_ERROR_INVALID_ARGUMENT, + "Out of bounds audio samples requested"); + ++ CacheBeginning(); ++ + uint8_t *Dst = static_cast(Buf); + + // Apply audio delay (if any) and fill any samples before the start time with zero +@@ -253,10 +383,12 @@ + } + // Decode another block + else { ++ CacheIterator cachePos = it; --cachePos; ++ + if (Start < CurrentSample && SeekOffset == -1) + throw FFMS_Exception(FFMS_ERROR_SEEKING, FFMS_ERROR_CODEC, "Audio stream is not seekable"); + +- if (SeekOffset >= 0 && (Start < CurrentSample || Start > CurrentSample + Decoded * 5)) { ++ if (SeekOffset >= 0 && (Start < CurrentSample || Start > CurrentSample + DecodeFrame->nb_samples * 5)) { + TFrameInfo f; + f.SampleStart = Start; + int NewPacketNumber = std::distance(Frames.begin(), std::lower_bound(Frames.begin(), Frames.end(), f, SampleStartComp)); +@@ -266,32 +398,22 @@ + // Only seek forward if it'll actually result in moving forward + if (Start < CurrentSample || static_cast(NewPacketNumber) > PacketNumber) { + PacketNumber = NewPacketNumber; +- Decoded = 0; + CurrentSample = -1; ++ DecodeFrame.reset(); + avcodec_flush_buffers(CodecContext); + Seek(); + } + } + +- // Decode everything between the last keyframe and the block we want ++ // Decode until we hit the block we want + if (PacketNumber >= Frames.size()) + throw FFMS_Exception(FFMS_ERROR_SEEKING, FFMS_ERROR_CODEC, "Seeking is severely broken"); +- while (CurrentSample + Decoded <= Start && PacketNumber < Frames.size()) +- DecodeNextBlock(); ++ while (CurrentSample + DecodeFrame->nb_samples <= Start && PacketNumber < Frames.size()) ++ DecodeNextBlock(&it); + if (CurrentSample > Start) + throw FFMS_Exception(FFMS_ERROR_SEEKING, FFMS_ERROR_CODEC, "Seeking is severely broken"); + +- CacheBlock(it, CurrentSample, Decoded, &DecodingBuffer[0]); +- +- size_t FirstSample = static_cast(Start - CurrentSample); +- size_t Samples = static_cast(Decoded - FirstSample); +- size_t Bytes = FFMIN(Samples, static_cast(Count)) * BytesPerSample; +- +- memcpy(Dst, &DecodingBuffer[FirstSample * BytesPerSample], Bytes); +- +- Start += Samples; +- Count -= Samples; +- Dst += Bytes; ++ it = cachePos; + } + } + } +diff -ru ffmpegsource/src/core/audiosource.h ffms2/src/core/audiosource.h +--- ffmpegsource/src/core/audiosource.h 2013-02-27 16:53:39.130696566 +0100 ++++ ffms2/src/core/audiosource.h 2013-02-27 16:53:31.744380192 +0100 +@@ -46,7 +46,6 @@ + #endif + + struct FFMS_AudioSource { +-private: + struct AudioBlock { + int64_t Age; + int64_t Start; +@@ -54,9 +53,17 @@ + std::vector Data; + + AudioBlock(int64_t Start, int64_t Samples, uint8_t *SrcData, size_t SrcBytes) +- : Start(Start) +- , Samples(Samples) +- , Data(SrcData, SrcData + SrcBytes) ++ : Start(Start) ++ , Samples(Samples) ++ , Data(SrcData, SrcData + SrcBytes) ++ { ++ static int64_t Now = 0; ++ Age = Now++; ++ } ++ ++ AudioBlock(int64_t Start, int64_t Samples) ++ : Start(Start) ++ , Samples(Samples) + { + static int64_t Now = 0; + Age = Now++; +@@ -74,11 +81,18 @@ + CacheIterator CacheNoDelete; + // bytes per sample * number of channels + size_t BytesPerSample; +- // Number of samples stored in the decoding buffer +- size_t Decoded; + +- // Insert a block into the cache +- void CacheBlock(CacheIterator &pos, int64_t Start, size_t Samples, uint8_t *SrcData); ++ bool NeedsResample; ++ FFResampleContext ResampleContext; ++ ++ // Insert the current audio frame into the cache ++ void CacheBlock(CacheIterator pos); ++ ++ // Interleave the current audio frame and insert it into the cache ++ void ResampleAndCache(CacheIterator pos); ++ ++ // Cache the unseekable beginning of the file once the output format is set ++ void CacheBeginning(); + + // Called after seeking + virtual void Seek() { }; +@@ -99,13 +113,13 @@ + int SeekOffset; + + // Buffer which audio is decoded into +- AlignedBuffer DecodingBuffer; ++ ScopedFrame DecodeFrame; + FFMS_Index &Index; + FFMS_Track Frames; + FFCodecContext CodecContext; + FFMS_AudioProperties AP; + +- void DecodeNextBlock(); ++ void DecodeNextBlock(CacheIterator *cachePos = 0); + // Initialization which has to be done after the codec is opened + void Init(const FFMS_Index &Index, int DelayMode); + +@@ -116,6 +130,9 @@ + FFMS_Track *GetTrack() { return &Frames; } + const FFMS_AudioProperties& GetAudioProperties() const { return AP; } + void GetAudio(void *Buf, int64_t Start, int64_t Count); ++ ++ FFMS_ResampleOptions *CreateResampleOptions() const; ++ void SetOutputFormat(const FFMS_ResampleOptions *opt); + }; + + class FFLAVFAudio : public FFMS_AudioSource { +diff -ru ffmpegsource/src/core/ffms.cpp ffms2/src/core/ffms.cpp +--- ffmpegsource/src/core/ffms.cpp 2013-02-27 16:53:39.137362917 +0100 ++++ ffms2/src/core/ffms.cpp 2013-02-27 16:53:31.744380192 +0100 +@@ -256,6 +256,24 @@ + V->ResetInputFormat(); + } + ++FFMS_API(FFMS_ResampleOptions *) FFMS_CreateResampleOptions(FFMS_AudioSource *A) { ++ return A->CreateResampleOptions(); ++} ++ ++FFMS_API(void) FFMS_DestroyResampleOptions(FFMS_ResampleOptions *options) { ++ delete options; ++} ++ ++FFMS_API(int) FFMS_SetOutputFormatA(FFMS_AudioSource *A, const FFMS_ResampleOptions *options, FFMS_ErrorInfo *ErrorInfo) { ++ ClearErrorInfo(ErrorInfo); ++ try { ++ A->SetOutputFormat(options); ++ } catch (FFMS_Exception &e) { ++ return e.CopyOut(ErrorInfo); ++ } ++ return FFMS_ERROR_SUCCESS; ++} ++ + FFMS_API(void) FFMS_DestroyIndex(FFMS_Index *Index) { + assert(Index != NULL); + if (Index == NULL) +diff -ru ffmpegsource/src/core/indexing.cpp ffms2/src/core/indexing.cpp +--- ffmpegsource/src/core/indexing.cpp 2013-02-27 16:53:39.134029741 +0100 ++++ ffms2/src/core/indexing.cpp 2013-02-27 16:53:31.744380192 +0100 +@@ -693,7 +693,6 @@ + , ANC(0) + , ANCPrivate(0) + , SourceFile(Filename) +-, DecodingBuffer(AVCODEC_MAX_AUDIO_FRAME_SIZE * 10) + { + FFMS_Index::CalculateFileSignature(Filename, &Filesize, Digest); + } +@@ -702,9 +701,9 @@ + + } + +-void FFMS_Indexer::WriteAudio(SharedAudioContext &AudioContext, FFMS_Index *Index, int Track, int DBSize) { ++void FFMS_Indexer::WriteAudio(SharedAudioContext &AudioContext, FFMS_Index *Index, int Track) { + // Delay writer creation until after an audio frame has been decoded. This ensures that all parameters are known when writing the headers. +- if (DBSize <= 0) return; ++ if (DecodeFrame->nb_samples) return; + + if (!AudioContext.W64Writer) { + FFMS_AudioProperties AP; +@@ -715,6 +714,8 @@ + return; + } + ++ int Format = av_get_packed_sample_fmt(AudioContext.CodecContext->sample_fmt); ++ + std::vector WName(FNSize); + (*ANC)(SourceFile.c_str(), Track, &AP, &WName[0], FNSize, ANCPrivate); + std::string WN(&WName[0]); +@@ -724,14 +725,14 @@ + av_get_bytes_per_sample(AudioContext.CodecContext->sample_fmt), + AudioContext.CodecContext->channels, + AudioContext.CodecContext->sample_rate, +- (AudioContext.CodecContext->sample_fmt == AV_SAMPLE_FMT_FLT) || (AudioContext.CodecContext->sample_fmt == AV_SAMPLE_FMT_DBL)); ++ (Format == AV_SAMPLE_FMT_FLT) || (Format == AV_SAMPLE_FMT_DBL)); + } catch (...) { + throw FFMS_Exception(FFMS_ERROR_WAVE_WRITER, FFMS_ERROR_FILE_WRITE, + "Failed to write wave data"); + } + } + +- AudioContext.W64Writer->WriteData(&DecodingBuffer[0], DBSize); ++ AudioContext.W64Writer->WriteData(*DecodeFrame); + } + + int64_t FFMS_Indexer::IndexAudioPacket(int Track, AVPacket *Packet, SharedAudioContext &Context, FFMS_Index &TrackIndices) { +@@ -739,8 +740,10 @@ + int64_t StartSample = Context.CurrentSample; + int Read = 0; + while (Packet->size > 0) { +- int dbsize = AVCODEC_MAX_AUDIO_FRAME_SIZE*10; +- int Ret = avcodec_decode_audio3(CodecContext, (int16_t *)&DecodingBuffer[0], &dbsize, Packet); ++ DecodeFrame.reset(); ++ ++ int GotFrame = 0; ++ int Ret = avcodec_decode_audio4(CodecContext, DecodeFrame, &GotFrame, Packet); + if (Ret < 0) { + if (ErrorHandling == FFMS_IEH_ABORT) { + throw FFMS_Exception(FFMS_ERROR_CODEC, FFMS_ERROR_DECODING, "Audio decoding error"); +@@ -756,13 +759,14 @@ + Packet->data += Ret; + Read += Ret; + +- CheckAudioProperties(Track, CodecContext); ++ if (GotFrame) { ++ CheckAudioProperties(Track, CodecContext); + +- if (dbsize > 0) +- Context.CurrentSample += dbsize / (av_get_bytes_per_sample(CodecContext->sample_fmt) * CodecContext->channels); ++ Context.CurrentSample += DecodeFrame->nb_samples; + +- if (DumpMask & (1 << Track)) +- WriteAudio(Context, &TrackIndices, Track, dbsize); ++ if (DumpMask & (1 << Track)) ++ WriteAudio(Context, &TrackIndices, Track); ++ } + } + Packet->size += Read; + Packet->data -= Read; +diff -ru ffmpegsource/src/core/indexing.h ffms2/src/core/indexing.h +--- ffmpegsource/src/core/indexing.h 2013-02-27 16:53:39.127363391 +0100 ++++ ffms2/src/core/indexing.h 2013-02-27 16:53:31.744380192 +0100 +@@ -155,7 +155,6 @@ + }; + + struct FFMS_Indexer { +-private: + std::map LastAudioProperties; + protected: + int IndexMask; +@@ -166,12 +165,12 @@ + TAudioNameCallback ANC; + void *ANCPrivate; + std::string SourceFile; +- AlignedBuffer DecodingBuffer; ++ ScopedFrame DecodeFrame; + + int64_t Filesize; + uint8_t Digest[20]; + +- void WriteAudio(SharedAudioContext &AudioContext, FFMS_Index *Index, int Track, int DBSize); ++ void WriteAudio(SharedAudioContext &AudioContext, FFMS_Index *Index, int Track); + void CheckAudioProperties(int Track, AVCodecContext *Context); + int64_t IndexAudioPacket(int Track, AVPacket *Packet, SharedAudioContext &Context, FFMS_Index &TrackIndices); + void ParseVideoPacket(SharedVideoContext &VideoContext, AVPacket &pkt, int *RepeatPict, int *FrameType, bool *Invisible); +diff -ru ffmpegsource/src/core/utils.cpp ffms2/src/core/utils.cpp +--- ffmpegsource/src/core/utils.cpp 2013-02-27 16:53:39.134029741 +0100 ++++ ffms2/src/core/utils.cpp 2013-02-27 16:53:31.744380192 +0100 +@@ -214,10 +214,32 @@ + pkt.size = 0; + } + ++extern "C" { ++#if VERSION_CHECK(LIBAVUTIL_VERSION_INT, >=, 52, 2, 0, 52, 6, 100) ++#include ++#elif VERSION_CHECK(LIBAVUTIL_VERSION_INT, >=, 51, 26, 0, 51, 45, 100) ++#include ++#else ++static int64_t av_get_default_channel_layout(int nb_channels) { ++ switch(nb_channels) { ++ case 1: return AV_CH_LAYOUT_MONO; ++ case 2: return AV_CH_LAYOUT_STEREO; ++ case 3: return AV_CH_LAYOUT_SURROUND; ++ case 4: return AV_CH_LAYOUT_QUAD; ++ case 5: return AV_CH_LAYOUT_5POINT0; ++ case 6: return AV_CH_LAYOUT_5POINT1; ++ case 7: return AV_CH_LAYOUT_6POINT1; ++ case 8: return AV_CH_LAYOUT_7POINT1; ++ default: return 0; ++ } ++} ++#endif ++} ++ + void FillAP(FFMS_AudioProperties &AP, AVCodecContext *CTX, FFMS_Track &Frames) { +- AP.SampleFormat = static_cast(CTX->sample_fmt); ++ AP.SampleFormat = static_cast(av_get_packed_sample_fmt(CTX->sample_fmt)); + AP.BitsPerSample = av_get_bytes_per_sample(CTX->sample_fmt) * 8; +- AP.Channels = CTX->channels;; ++ AP.Channels = CTX->channels; + AP.ChannelLayout = CTX->channel_layout; + AP.SampleRate = CTX->sample_rate; + if (!Frames.empty()) { +@@ -225,6 +247,9 @@ + AP.FirstTime = ((Frames.front().PTS * Frames.TB.Num) / (double)Frames.TB.Den) / 1000; + AP.LastTime = ((Frames.back().PTS * Frames.TB.Num) / (double)Frames.TB.Den) / 1000; + } ++ ++ if (AP.ChannelLayout == 0) ++ AP.ChannelLayout = av_get_default_channel_layout(AP.Channels); + } + + #ifdef HAALISOURCE +diff -ru ffmpegsource/src/core/utils.h ffms2/src/core/utils.h +--- ffmpegsource/src/core/utils.h 2013-02-27 16:53:39.127363391 +0100 ++++ ffms2/src/core/utils.h 2013-02-27 16:53:31.744380192 +0100 +@@ -31,9 +31,13 @@ + extern "C" { + #include "stdiostream.h" + #include ++#include + #include + #include + #include ++#ifdef WITH_AVRESAMPLE ++#include ++#endif + } + + // must be included after ffmpeg headers +@@ -133,6 +137,34 @@ + } + }; + ++template ++class unknown_size { ++ T *ptr; ++ ++ unknown_size(unknown_size const&); ++ unknown_size& operator=(unknown_size const&); ++public: ++ operator T*() const { return ptr; } ++ operator void*() const { return ptr; } ++ T *operator->() const { return ptr; } ++ ++ unknown_size() : ptr(Alloc()) { } ++ ~unknown_size() { Del(&ptr); } ++}; ++ ++class ScopedFrame : public unknown_size { ++public: ++ void reset() { ++ avcodec_get_frame_defaults(*this); ++ } ++}; ++ ++#ifdef WITH_AVRESAMPLE ++typedef unknown_size FFResampleContext; ++#else ++typedef struct {} FFResampleContext; ++#endif ++ + inline void DeleteHaaliCodecContext(AVCodecContext *CodecContext) { + av_freep(&CodecContext->extradata); + av_freep(&CodecContext); +@@ -228,4 +240,68 @@ + + void FlushBuffers(AVCodecContext *CodecContext); + ++namespace optdetail { ++ template ++ T get_av_opt(void *v, const char *name) { ++ return static_cast(av_get_int(v, name, 0)); ++ } ++ ++ template<> ++ inline double get_av_opt(void *v, const char *name) { ++ return av_get_double(v, name, 0); ++ } ++ ++ template ++ void set_av_opt(void *v, const char *name, T value) { ++ av_opt_set_int(v, name, value, 0); ++ } ++ ++ template<> ++ inline void set_av_opt(void *v, const char *name, double value) { ++ av_opt_set_double(v, name, value, 0); ++ } ++} ++ ++template ++class OptionMapper { ++ struct OptionMapperBase { ++ virtual void ToOpt(const FFMS_Struct *src, void *dst) const=0; ++ virtual void FromOpt(FFMS_Struct *dst, void *src) const=0; ++ }; ++ ++ template ++ class OptionMapperImpl : public OptionMapperBase { ++ T (FFMS_Struct::*ptr); ++ const char *name; ++ ++ public: ++ OptionMapperImpl(T (FFMS_Struct::*ptr), const char *name) : ptr(ptr), name(name) { } ++ void ToOpt(const FFMS_Struct *src, void *dst) const { optdetail::set_av_opt(dst, name, src->*ptr); } ++ void FromOpt(FFMS_Struct *dst, void *src) const { dst->*ptr = optdetail::get_av_opt(src, name); } ++ }; ++ ++ OptionMapperBase *impl; ++ ++public: ++ template ++ OptionMapper(const char *opt_name, T (FFMS_Struct::*member)) : impl(new OptionMapperImpl(member, opt_name)) { } ++ ++ void ToOpt(const FFMS_Struct *src, void *dst) const { impl->ToOpt(src, dst); } ++ void FromOpt(FFMS_Struct *dst, void *src) const { impl->FromOpt(dst, src); } ++}; ++ ++template ++T *ReadOptions(void *opt, OptionMapper (&options)[N]) { ++ T *ret = new T; ++ for (int i = 0; i < N; ++i) ++ options[i].FromOpt(ret, opt); ++ return ret; ++} ++ ++template ++void SetOptions(const T* src, void *opt, OptionMapper (&options)[N]) { ++ for (int i = 0; i < N; ++i) ++ options[i].ToOpt(src, opt); ++} ++ + #endif +diff -ru ffmpegsource/src/core/wave64writer.cpp ffms2/src/core/wave64writer.cpp +--- ffmpegsource/src/core/wave64writer.cpp 2013-02-27 16:53:39.134029741 +0100 ++++ ffms2/src/core/wave64writer.cpp 2013-02-27 16:53:31.744380192 +0100 +@@ -106,7 +106,16 @@ + WavFile.seekp(CPos, std::ios::beg); + } + +-void Wave64Writer::WriteData(void *Data, std::streamsize Length) { +- WavFile.write(reinterpret_cast(Data), Length); ++void Wave64Writer::WriteData(AVFrame const& Frame) { ++ uint64_t Length = Frame.nb_samples * BytesPerSample * Channels; ++ if (Channels > 1 && av_sample_fmt_is_planar(static_cast(Frame.format))) { ++ for (int32_t sample = 0; sample < Frame.nb_samples; ++sample) { ++ for (int32_t channel = 0; channel < Channels; ++channel) ++ WavFile.write(reinterpret_cast(&Frame.extended_data[channel][sample * BytesPerSample]), BytesPerSample); ++ } ++ } ++ else { ++ WavFile.write(reinterpret_cast(Frame.extended_data[0]), Length); ++ } + BytesWritten += Length; + } +diff -ru /tmp/ffmpegsource/src/ffmpegsource/src/core/wave64writer.h ffms2/src/core/wave64writer.h +--- /tmp/ffmpegsource/src/ffmpegsource/src/core/wave64writer.h 2013-02-27 16:53:39.127363391 +0100 ++++ ffms2/src/core/wave64writer.h 2013-02-27 16:53:31.744380192 +0100 +@@ -28,8 +28,8 @@ + class Wave64Writer { + public: + Wave64Writer(const char *Filename, uint16_t BitsPerSample, uint16_t Channels, uint32_t SamplesPerSec, bool IsFloat); + ~Wave64Writer(); +- void WriteData(void *Data, std::streamsize Length); ++ void WriteData(AVFrame const& Frame); + private: + ffms_fstream WavFile; + int32_t BytesPerSample; diff --git a/community/freeorion/PKGBUILD b/community/freeorion/PKGBUILD index 726cd7ec1..d26d979a5 100644 --- a/community/freeorion/PKGBUILD +++ b/community/freeorion/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 84326 2013-02-16 16:16:27Z arodseth $ +# $Id: PKGBUILD 85227 2013-02-27 19:59:02Z andrea $ # Maintainer: Alexander Rødseth # Contributor: Elmo Todurov # Contributor: guini @@ -7,8 +7,8 @@ # Contributor: fana-m pkgname=freeorion -pkgver=0.4.1 -pkgrel=7 +pkgver=0.4.2 +pkgrel=1 pkgdesc='Turn-based galactic conquest game inspired by Master of Orion' arch=('x86_64' 'i686') url='http://www.freeorion.org/' @@ -19,8 +19,8 @@ then else depends=('nvidia-cg-toolkit') fi -depends=('bullet>=2.81' 'freealut' 'libvorbis' 'python2' 'gigi' 'desktop-file-utils') -makedepends=('boost>=1.49.0' 'ogre' 'sdl' 'gigi>=0.8.0-12' 'graphviz' 'clang' +depends=('bullet>=2.81' 'freealut' 'libvorbis' 'python2' 'gigi' 'desktop-file-utils' 'libgl') +makedepends=('boost>=1.49.0' 'ogre' 'sdl' 'gigi>=0.8.0-12' 'graphviz' 'mesa-libgl' 'desktop-file-utils' 'setconf' 'cmake' 'gendesk' 'subversion' 'libogg') options=('!strip' '!emptydirs') @@ -33,7 +33,7 @@ sha256sums=('111532e460aec847ff455ee67dd64f46e2fa5ceba39a0349d25a84b69c646eaf' '3dbe8df9c3a4a0d6451f42727ebf9bcb21fed41a08d1181d1cf77ef4ab5ee81a') _svnrepo='https://freeorion.svn.sourceforge.net/svnroot/freeorion/trunk/FreeOrion/' _pyversion=2.7 -_revision=5671 #5379 +_revision=5771 build() { cd "$srcdir" diff --git a/community/haskell-regex-base/PKGBUILD b/community/haskell-regex-base/PKGBUILD index ca0e07d8e..92ace4b31 100644 --- a/community/haskell-regex-base/PKGBUILD +++ b/community/haskell-regex-base/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 84007 2013-02-08 04:15:39Z td123 $ +# $Id: PKGBUILD 85230 2013-02-27 20:01:23Z andrea $ # Maintainer: Vesa Kaihlavirta # Contributor: Arch Haskell Team # Contributor: Alexander Rødseth @@ -6,7 +6,7 @@ _hkgname=regex-base pkgname=haskell-regex-base pkgver=0.93.2 -pkgrel=9 +pkgrel=12 pkgdesc='Interface API for regex-posix,pcre,parsec,tdfa,dfa' url='http://hackage.haskell.org/cgi-bin/hackage-scripts/package/regex-base' license=('custom:BSD3') diff --git a/community/i3status/PKGBUILD b/community/i3status/PKGBUILD index e845b85b7..dfd36db63 100644 --- a/community/i3status/PKGBUILD +++ b/community/i3status/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 77036 2012-10-03 18:05:35Z ttopper $ +# $Id: PKGBUILD 85172 2013-02-27 14:41:02Z ttoepper $ # Maintainer: Thorsten Töpper pkgname=i3status -pkgver=2.6 +pkgver=2.7 pkgrel=1 pkgdesc="Generates status bar to use with dzen2 or xmobar" arch=('i686' 'x86_64') @@ -15,7 +15,7 @@ backup=('etc/i3status.conf') install=i3status.install options=('docs') source=("http://i3.zekjur.net/i3status/$pkgname-$pkgver.tar.bz2") -md5sums=('98f649429d7845682846de36fb38f780') +md5sums=('f0a39e84aebb65496af3dcec9d8cfeb8') build() { cd "${srcdir}/${pkgname}-${pkgver}" diff --git a/community/openshadinglanguage/PKGBUILD b/community/openshadinglanguage/PKGBUILD index 2fcc49be5..853c15ac9 100644 --- a/community/openshadinglanguage/PKGBUILD +++ b/community/openshadinglanguage/PKGBUILD @@ -1,7 +1,7 @@ # Maintainer: Sven-Hendrik Haase pkgname=openshadinglanguage pkgver=1.3.0 -pkgrel=1 +pkgrel=2 pkgdesc="Advanced shading language for production GI renderers" arch=(i686 x86_64) url="http://code.google.com/p/openshadinglanguage/" @@ -17,7 +17,12 @@ build() { [[ -d build ]] && rm -r build mkdir build && cd build - cmake -DCMAKE_INSTALL_PREFIX=/usr .. + # TODO: Remove LLVM_STATIC with llvm 3.3 when we'll have shared libs + # Check blender for crash with llvm pipe (run LIBGL_ALWAYS_SOFTWARE=1 blender) + cmake \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DLLVM_STATIC=ON \ + .. make } diff --git a/community/percona-server/PKGBUILD b/community/percona-server/PKGBUILD index c0f1544c8..41a6c66e6 100644 --- a/community/percona-server/PKGBUILD +++ b/community/percona-server/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 82764 2013-01-24 08:41:17Z mtorromeo $ +# $Id: PKGBUILD 85072 2013-02-27 09:22:49Z mtorromeo $ # Maintainer: Massimiliano Torromeo pkgname=percona-server -pkgver=5.5.29_rel29.4 +pkgver=5.5.29_rel30.0 pkgrel=1 pkgdesc="A backwards-compatible drop-in replacement for MySQL that provides improved performance, diagnostics and instrumentation" arch=('i686' 'x86_64') @@ -102,7 +102,7 @@ package() { install -dm700 "${pkgdir}"/var/lib/mysql } -sha256sums=('b29dfa3634450e405c697e145dc63cf939c3c803bdeccecc01289188b40819a9' +sha256sums=('9cbcb2ad2b66a352a154f2b89c779d79cceea4f6f5ff9ef62f8ae1512c0550a7' 'e875fac56f69634b4f1720aec3b952fc63903414e9345af630e5fd74b5373eb4' 'dd5dc155de468d4ab26971109861ae19b53574f28785bac5ff7b717fb65c0760' '4894d39605950d86841ad982e619daa6c8d5d60ca30928d7dbb582e8cb3ade32' diff --git a/community/pidgin-lwqq/PKGBUILD b/community/pidgin-lwqq/PKGBUILD index aaad6a8fb..80b9e0551 100644 --- a/community/pidgin-lwqq/PKGBUILD +++ b/community/pidgin-lwqq/PKGBUILD @@ -1,16 +1,17 @@ -# $Id: PKGBUILD 82530 2013-01-20 07:27:44Z fyan $ +# $Id: PKGBUILD 85068 2013-02-27 02:51:41Z fyan $ # Maintainer: Felix Yan pkgname=pidgin-lwqq -pkgver=0.1b -_pkgver=0.1-b +pkgver=0.1c +_pkgver=0.1-c pkgrel=1 pkgdesc="A pidgin plugin based on lwqq, a excellent safe useful library for webqq protocol" arch=('i686' 'x86_64') url="https://github.com/xiehuc/pidgin-lwqq" license=('GPL3') depends=('libpurple' 'curl' 'libev' 'hicolor-icon-theme' 'gtk-update-icon-cache') -optdepends=('telepathy-haze: Empathy plugin support') +optdepends=('pidgin: Multi-protocol instant messaging client' + 'telepathy-haze: Empathy plugin support') makedepends=('git' 'cmake') install=$pkgname.install source=("https://github.com/xiehuc/$pkgname/archive/${_pkgver}.tar.gz") @@ -32,4 +33,4 @@ package() cd "$srcdir/$pkgname-${_pkgver}/build" make DESTDIR="${pkgdir}" install } -md5sums=('c7dc9de7d951f99e878f3036f79f7d6f') +md5sums=('7ea1ed24870213c07c536d49fd59e292') diff --git a/community/processing/PKGBUILD b/community/processing/PKGBUILD index 940517a8a..e4a8509ca 100644 --- a/community/processing/PKGBUILD +++ b/community/processing/PKGBUILD @@ -1,44 +1,46 @@ -# $Id: PKGBUILD 82915 2013-01-25 17:38:23Z arodseth $ +# $Id: PKGBUILD 85228 2013-02-27 19:59:51Z andrea $ # Maintainer: Alexander Rødseth pkgname=processing -pkgver=2.0b7 -pkgrel=3 -pkgdesc='Programming language and environment for creating images, animations and interactions' +pkgver=2.0b8 +pkgrel=1 arch=('x86_64' 'i686') +pkgdesc='Programming language and environment for creating images, animations and interactions' url='http://www.processing.org/' license=('GPL' 'LGPL') depends=('libgl' 'sh' 'libxxf86vm') makedepends=('gendesk') options=(!strip) -_bits=64 -sha256sums=('844b4280b242176107f6c40fef47fa420695111cdb2b80294570297f63b1186f') -if [[ "$CARCH" != "x86_64" ]]; then - _bits=32 - sha256sums=('55db8370672f9e2658443a7fe577e23f06ca1ab2435719c865a059a0e65cdc83') +if [ "$CARCH" == "x86_64" ]; then + source=("http://$pkgname.googlecode.com/files/$pkgname-$pkgver-linux64.tgz" + "$pkgname.png::http://wiki.$pkgname.org/skins/${pkgname}skin/${pkgname}_wiki_logo.png") + sha256sums=('5eab47cd67f3160a71ff694b45e74f8a17f0b0ca31cd3ae545104fb70babb58e' + '019ae700333409acbc628779747ab8f153f6647de25e4de3a9bd4a42d0d8056a') +else + source=("http://$pkgname.googlecode.com/files/$pkgname-$pkgver-linux32.tgz" + "$pkgname.png::http://wiki.$pkgname.org/skins/${pkgname}skin/${pkgname}_wiki_logo.png") + sha256sums=('ba113199c5ca3c0d9a274088a62eacd6c3872dea9151e34ed1f312d78bad6f17' + '019ae700333409acbc628779747ab8f153f6647de25e4de3a9bd4a42d0d8056a') fi -source=("http://$pkgname.googlecode.com/files/$pkgname-$pkgver-linux$_bits.tgz") - -source+=("$pkgname.png::http://wiki.$pkgname.org/skins/${pkgname}skin/${pkgname}_wiki_logo.png") -sha256sums+=('019ae700333409acbc628779747ab8f153f6647de25e4de3a9bd4a42d0d8056a') build() { - cd "$srcdir" - gendesk + cd "$srcdir" + + gendesk } package() { - cd "$srcdir/$pkgname-$pkgver" - - install -d "$pkgdir/usr/share/$pkgname/" "$pkgdir/usr/bin/" - cp -r ./* "$pkgdir/usr/share/$pkgname/" - ln -s "/usr/share/$pkgname/$pkgname" "$pkgdir/usr/bin/$pkgname" - ln -s "/usr/share/$pkgname/$pkgname-java" "$pkgdir/usr/bin/$pkgname-java" - install -Dm644 "$srcdir/$pkgname.png" \ - "$pkgdir/usr/share/pixmaps/$pkgname.png" - install -Dm644 "$srcdir/$pkgname.desktop" \ - "$pkgdir/usr/share/applications/$pkgname.desktop" + cd "$srcdir/$pkgname-$pkgver" + + install -d "$pkgdir/usr/share/$pkgname/" "$pkgdir/usr/bin/" + cp -r * "$pkgdir/usr/share/$pkgname/" + ln -s "/usr/share/$pkgname/$pkgname" "$pkgdir/usr/bin/$pkgname" + ln -s "/usr/share/$pkgname/$pkgname-java" "$pkgdir/usr/bin/$pkgname-java" + install -Dm644 "$srcdir/$pkgname.png" \ + "$pkgdir/usr/share/pixmaps/$pkgname.png" + install -Dm644 "$srcdir/$pkgname.desktop" \ + "$pkgdir/usr/share/applications/$pkgname.desktop" } # vim:set ts=2 sw=2 et: diff --git a/community/rxvt-unicode/01-fix-screen-sel.patch b/community/rxvt-unicode/01-fix-screen-sel.patch new file mode 100644 index 000000000..bee7dc262 --- /dev/null +++ b/community/rxvt-unicode/01-fix-screen-sel.patch @@ -0,0 +1,66 @@ +--- a/src/rxvt.h 2012-11-30 07:52:10.000000000 +0100 ++++ b/src/rxvt.h 2013-01-19 18:14:07.477653413 +0100 +@@ -1488,6 +1488,7 @@ + void scr_blank_screen_mem (line_t &l, rend_t efs) const NOTHROW; + void scr_kill_char (line_t &l, int col) const NOTHROW; + int scr_scroll_text (int row1, int row2, int count) NOTHROW; ++ void copy_line (line_t &dst, line_t &src); + void scr_reset (); + void scr_release () NOTHROW; + void scr_clear (bool really = false) NOTHROW; +--- a/src/screen.C 2012-11-30 08:13:38.000000000 +0100 ++++ b/src/screen.C 2013-01-19 18:17:13.431014964 +0100 +@@ -190,6 +190,16 @@ + row_buf = swap_buf + nrow; + } + ++void ++rxvt_term::copy_line (line_t &dst, line_t &src) ++{ ++ scr_blank_screen_mem (dst, DEFAULT_RSTYLE); ++ dst.l = min (src.l, ncol); ++ memcpy (dst.t, src.t, sizeof (text_t) * dst.l); ++ memcpy (dst.r, src.r, sizeof (rend_t) * dst.l); ++ dst.f = src.f; ++} ++ + void ecb_cold + rxvt_term::scr_reset () + { +@@ -232,8 +242,6 @@ + line_t *prev_swap_buf = swap_buf; + line_t *prev_row_buf = row_buf; + +- int common_col = min (prev_ncol, ncol); +- + scr_alloc (); + + if (!prev_row_buf) +@@ -277,13 +285,8 @@ + + for (int row = min (nrow, prev_nrow); row--; ) + { +- scr_blank_screen_mem (drawn_buf [row], DEFAULT_RSTYLE); +- scr_blank_screen_mem (swap_buf [row], DEFAULT_RSTYLE); +- +- memcpy (drawn_buf [row].t, prev_drawn_buf [row].t, sizeof (text_t) * common_col); +- memcpy (drawn_buf [row].r, prev_drawn_buf [row].r, sizeof (rend_t) * common_col); +- memcpy (swap_buf [row].t, prev_swap_buf [row].t, sizeof (text_t) * common_col); +- memcpy (swap_buf [row].r, prev_swap_buf [row].r, sizeof (rend_t) * common_col); ++ copy_line (drawn_buf [row], prev_drawn_buf [row]); ++ copy_line (swap_buf [row], prev_swap_buf [row]); + } + + int p = MOD (term_start + prev_nrow, prev_total_rows); // previous row +@@ -388,10 +391,7 @@ + line_t &src = prev_row_buf [MOD (term_start + row, prev_total_rows)]; + line_t &dst = row_buf [row]; + +- scr_blank_screen_mem (dst, DEFAULT_RSTYLE); +- +- memcpy (dst.t, src.t, sizeof (text_t) * common_col); +- memcpy (dst.r, src.r, sizeof (rend_t) * common_col); ++ copy_line (dst, src); + } + + for (int row = prev_nrow; row < nrow; row++) diff --git a/community/rxvt-unicode/PKGBUILD b/community/rxvt-unicode/PKGBUILD index 9f6dfad3b..7eb95367e 100644 --- a/community/rxvt-unicode/PKGBUILD +++ b/community/rxvt-unicode/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 81737 2012-12-28 00:16:43Z seblu $ +# $Id: PKGBUILD 85229 2013-02-27 20:00:33Z andrea $ # Maintainer: Sébastien Luttringer # Contributor: Angel Velasquez # Contributor: tobias @@ -6,7 +6,7 @@ pkgname=rxvt-unicode pkgver=9.16 -pkgrel=1 +pkgrel=2 pkgdesc='An unicode enabled rxvt-clone terminal emulator (urxvt)' arch=('i686' 'x86_64') url='http://software.schmorp.de/pkg/rxvt-unicode.html' @@ -18,14 +18,17 @@ source=( 'urxvt.desktop' 'urxvtc.desktop' 'urxvt-tabbed.desktop' + '01-fix-screen-sel.patch' ) md5sums=('2e2942e8367624affebc0568e3671b66' - '88d8786d74b819450adf722180db09fd' - 'bebf5b6b399b74b557fcedbdb47cc387' - '2604896bb107fbb5511bfd6f46d65894') + 'c2b828d37d06cbf4c32937a2959f2fc2' + '10e80aebaef042fb63d2585440dc3637' + '830abe6f31fb926a1bcd2650731be15e' + '266e027bd4a998073f17d548d288d414') build() { cd $pkgname-$pkgver + patch -p1 -i "$srcdir/01-fix-screen-sel.patch" ./configure \ --prefix=/usr \ --with-terminfo=/usr/share/terminfo \ @@ -73,4 +76,4 @@ package() { done } -# vim:set ts=2 sw=2 ft=sh et: +# vim:set ts=2 sw=2 et: diff --git a/community/rxvt-unicode/urxvt-tabbed.desktop b/community/rxvt-unicode/urxvt-tabbed.desktop index f3efdc9b9..bd48c0a72 100644 --- a/community/rxvt-unicode/urxvt-tabbed.desktop +++ b/community/rxvt-unicode/urxvt-tabbed.desktop @@ -1,10 +1,9 @@ [Desktop Entry] Version=1.0 -Encoding=UTF-8 Name=urxvt (tabbed) Comment=An unicode capable and tabbed rxvt clone Exec=urxvt-tabbed Icon=terminal Terminal=false Type=Application -Categories=Application;System;TerminalEmulator; +Categories=System;TerminalEmulator; diff --git a/community/rxvt-unicode/urxvt.desktop b/community/rxvt-unicode/urxvt.desktop index 0a9baf7df..d90c182e2 100644 --- a/community/rxvt-unicode/urxvt.desktop +++ b/community/rxvt-unicode/urxvt.desktop @@ -1,10 +1,9 @@ [Desktop Entry] Version=1.0 -Encoding=UTF-8 Name=urxvt Comment=An unicode capable rxvt clone Exec=urxvt Icon=terminal Terminal=false Type=Application -Categories=Application;System;TerminalEmulator; +Categories=System;TerminalEmulator; diff --git a/community/rxvt-unicode/urxvtc.desktop b/community/rxvt-unicode/urxvtc.desktop index e39a418f6..67751095b 100644 --- a/community/rxvt-unicode/urxvtc.desktop +++ b/community/rxvt-unicode/urxvtc.desktop @@ -1,10 +1,9 @@ [Desktop Entry] Version=1.0 -Encoding=UTF-8 Name=urxvt (client) Comment=An unicode capable rxvt clone client for urxvtd Exec=urxvtc Icon=terminal Terminal=false Type=Application -Categories=Application;System;TerminalEmulator; +Categories=System;TerminalEmulator; diff --git a/community/teamspeak3/PKGBUILD b/community/teamspeak3/PKGBUILD new file mode 100644 index 000000000..f68136ffa --- /dev/null +++ b/community/teamspeak3/PKGBUILD @@ -0,0 +1,60 @@ +# Maintainer: Sven-Hendrik Haase +# Contributor: Slash +# Contributor: J.W. Birdsong + +pkgname=teamspeak3 +pkgver=3.0.9.2 +pkgrel=2 +pkgdesc="TeamSpeak is software for quality voice communication via the Internet" +url="http://www.teamspeak.com/" +license=('custom') +depends=('qt' 'libpulse') +arch=('i686' 'x86_64') +source=("http://teamspeak.gameserver.gamed.de/ts3/releases/${pkgver}/TeamSpeak3-Client-linux_x86-${pkgver}.run" + 'teamspeak3.desktop' 'icon.xpm' 'teamspeak3.launcher') +md5sums=('b9ca1362f6f79644357c5558ee5ddfd2' + 'be58a8798c5d1b7e95a89f6a6482db3e' + '19f103384e4c1a0aafc8fed44de0c87b' + '170fcbb1b468ce4f3dba7ee3fb2a1c6d') +_TSARCH='x86' + +if [ "$CARCH" == "x86_64" ]; then + source[0]="http://teamspeak.gameserver.gamed.de/ts3/releases/${pkgver}/TeamSpeak3-Client-linux_amd64-${pkgver}.run" + md5sums[0]='a15002b92e3cd4585dc9ce07818bf446' + _TSARCH='amd64' +fi + +build() { + cd ${srcdir} + + # Create Destination Directories + install -d ${pkgdir}/{usr/bin/,opt/} + + # Make Installer Executable + chmod +x TeamSpeak3-Client-linux_${_TSARCH}-${pkgver}.run + + # Run Installer + ./TeamSpeak3-Client-linux_${_TSARCH}-${pkgver}.run --noexec --target teamspeak3 + + # Move Program Data to Package Directory + mv ${srcdir}/teamspeak3/ ${pkgdir}/opt/ + + # Remove Bundled Qt Libraries and Symlink system libraries to TS3 Directory + rm ${pkgdir}/opt/teamspeak3/libQt* + ln -s /usr/lib/libQtCore.so.4 ${pkgdir}/opt/teamspeak3/libQtCore.so.4 + ln -s /usr/lib/libQtGui.so.4 ${pkgdir}/opt/teamspeak3/libQtGui.so.4 + ln -s /usr/lib/libQtNetwork.so.4 ${pkgdir}/opt/teamspeak3/libQtNetwork.so.4 + + # Install Desktop File + install -D -m644 $srcdir/teamspeak3.desktop ${pkgdir}/usr/share/applications/teamspeak3.desktop + + # Install Icon File + install -D -m644 $srcdir/icon.xpm ${pkgdir}/usr/share/pixmaps/teamspeak3.xpm + + # Install Custom License + install -D -m644 ${pkgdir}/opt/teamspeak3/LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE + + # Install Client Launcher + install -D -m755 $srcdir/teamspeak3.launcher ${pkgdir}/usr/bin/teamspeak3 +} +# vim:set ts=2 sw=2 et: diff --git a/community/teamspeak3/icon.xpm b/community/teamspeak3/icon.xpm new file mode 100644 index 000000000..fe47b3bb9 --- /dev/null +++ b/community/teamspeak3/icon.xpm @@ -0,0 +1,305 @@ +/* XPM */ +static char *dummy[]={ +"48 48 254 2", +"Qt c None", +"ar c #026d04", +"aq c #069309", +"aF c #0c9928", +"ae c #0f6f16", +"ad c #107a03", +"aW c #138d08", +"a7 c #148d1e", +"bg c #165f30", +"bh c #17602f", +"a6 c #1b633e", +"a3 c #1b6a32", +"#0 c #1b8418", +"bi c #1e4c3b", +"aK c #1fb404", +"aE c #1fd04d", +"aJ c #228739", +"aD c #25d939", +"aG c #276253", +"ax c #27a737", +"aO c #27f965", +"bf c #28534e", +"ay c #28da23", +"as c #296255", +"aN c #29fa5d", +"ap c #2bb41e", +"bW c #2c3546", +"aR c #2d9d45", +"br c #303b50", +"aS c #305a5c", +"bk c #323e54", +"aX c #32d03c", +"b5 c #333d50", +"aj c #33bb49", +"aC c #33e131", +"bR c #343d50", +"bb c #344056", +"#1 c #35845e", +"#4 c #36435b", +"ba c #365360", +"aB c #36ee37", +"aM c #36f958", +"aT c #38455d", +"aA c #39f83c", +"bL c #3a4355", +"be c #3a4760", +"af c #3a5e69", +"aL c #3ae333", +"bn c #3b4250", +".R c #3b485e", +".z c #3b4862", +"#n c #3b4b64", +"bj c #3b5166", +"bs c #3c4452", +"#a c #3c4a64", +"ac c #3ca72c", +".E c #3d4962", +"aH c #3d4c66", +"#t c #3e4d68", +"#C c #404e6a", +".t c #414e65", +"b4 c #434e62", +".1 c #43516c", +"#Z c #43a735", +"bC c #444d5e", +".v c #455166", +".y c #455573", +"#i c #475a75", +"#P c #47ae4e", +"am c #47fc4a", +"bt c #485162", +"#z c #485772", +"#Q c #489571", +"az c #49f243", +"aP c #49fa88", +"#b c #4a5975", +".0 c #4c5669", +".2 c #4d5c79", +"bm c #4e5868", +"#8 c #4eae72", +"ao c #4ed03d", +"bS c #505762", +".x c #505e79", +".o c #515b6e", +"#2 c #515d74", +".V c #53627b", +"#I c #537680", +"an c #53ec4b", +".n c #565e6e", +".F c #566580", +"bK c #576276", +"#T c #577983", +".S c #586681", +"ak c #58ee66", +".u c #596171", +".U c #5a6882", +"bX c #5b616b", +"#E c #5b657a", +"aw c #5d687c", +"by c #5d6b85", +"a8 c #5dcf79", +"bV c #5e6a80", +"#K c #5e8b89", +"#o c #5f6d86", +"bT c #60697c", +"#H c #609c89", +"bD c #616e88", +"b# c #61c07a", +".f c #636b7b", +"bY c #636d7f", +".e c #646d7c", +"#G c #64ac8e", +".w c #657187", +".s c #65728b", +"#U c #66e377", +"aZ c #66feaa", +"b6 c #696e77", +".H c #69758e", +"a0 c #69feac", +"bJ c #6a717c", +".d c #6a7282", +"b3 c #6a7488", +"#F c #6a9992", +"#O c #6ad465", +"aY c #6cfda3", +".p c #6d778b", +".I c #6d7a91", +"bZ c #6f788b", +"aQ c #6fed9c", +"aa c #6ffa7a", +".D c #707783", +"aU c #727b8c", +"ab c #72db67", +"#7 c #737d92", +"al c #73fd80", +"b7 c #747a84", +"ag c #767c85", +"#L c #76ea8d", +".g c #77808f", +"b2 c #778194", +".3 c #778298", +"bH c #787d85", +".m c #7a808b", +".c c #7a828f", +"bQ c #7b7f88", +"#3 c #7b8392", +"b0 c #7b8396", +"aV c #7b8494", +"#A c #7b869a", +"bF c #7c7e86", +"bp c #7c818a", +"#9 c #7cec81", +"## c #7d8390", +".4 c #7d889c", +"#d c #7d8aa4", +"bz c #7e8491", +"a# c #7efe93", +"#c c #7f899b", +"bP c #80858e", +"bO c #808b9f", +"a2 c #80d598", +"#S c #818895", +"b1 c #828c9e", +"#p c #828da1", +"ai c #838b9a", +"b. c #83e6a5", +"bB c #848991", +"at c #858e9e", +"#r c #858ea1", +"#w c #8592ac", +"bN c #86898d", +".G c #8690a3", +"#Y c #86e982", +"a9 c #86eaa9", +"#k c #8795b0", +"bq c #888c93", +"a1 c #88fdbb", +"bE c #898b90", +".b c #898f9a", +".h c #8991a0", +"#x c #8a99b5", +"#N c #8af397", +"#M c #8af99b", +"bG c #8b8f96", +"#h c #8c96a8", +"#e c #8e9dba", +"bU c #8f96a6", +".T c #8f98a9", +"bo c #90949d", +".5 c #909fbc", +"#s c #9197a2", +"#u c #939bac", +".q c #939db1", +"#f c #93a2bd", +"#J c #959aa4", +"bd c #97a5c0", +"bw c #99a6c1", +".l c #9a9fa8", +".6 c #9ba9c3", +"bx c #9ca2ac", +".i c #9ca4b3", +".W c #a0a6b3", +"#l c #a0adc5", +"#R c #a3abb8", +".a c #a4a9b3", +"#X c #a4feb9", +"#g c #a5b1c8", +"#j c #a8aeba", +".k c #a8afbd", +"bI c #aaacaf", +"bM c #aaaeb7", +".7 c #aab5cb", +".K c #abb1bc", +"av c #aeb4c0", +"#q c #aeb9cb", +"bv c #afb1b5", +"bc c #b0b5bd", +"aI c #b0b6c2", +"bA c #b1b3b6", +".J c #b1b8c4", +"a. c #b2fec6", +".j c #b3b8c3", +"bl c #b3bdd0", +"bu c #b4bac6", +"#v c #b5bcc7", +"ah c #b6bac3", +"#y c #b7c1d3", +"a5 c #b9bfcb", +"#V c #b9fcc4", +".8 c #bbc4d5", +"#B c #bcc1cc", +".r c #c2c7d1", +".X c #c3c9d5", +".L c #c3cbd9", +".# c #c4c7cd", +"#W c #c4ffd7", +"a4 c #c6c8cd", +"au c #c8cdd5", +".9 c #c8cfdd", +"#6 c #cacdd3", +".Y c #cad1de", +".Z c #ccd3e0", +".A c #d0d3d9", +".M c #d0d6e2", +".N c #d3d9e4", +"#D c #d6d8de", +".O c #d9dde5", +"#. c #dadfe8", +".P c #dde1ea", +"#5 c #dfe2e7", +".B c #e2e6ec", +"#m c #e5e8ef", +".Q c #e6eaf0", +".C c #ebeef2", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQt.#.a.b.c.d.e.f.d.g.h.i.jQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQt.k.lQtQtQtQtQtQtQtQtQtQtQtQt.m.n.o.p.q.rQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQt.q.s.tQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.u.v.w.qQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQt.q.x.y.zQtQtQtQtQt.A.B.C.CQtQtQtQtQtQtQtQtQtQt.D.E.F.GQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQt.H.y.y.zQtQt.I.JQtQt.K.L.M.M.N.O.P.QQtQtQtQtQtQtQt.D.R.S.TQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQt.U.y.y.zQtQt.x.V.GQtQt.W.X.Y.Z.Z.Z.Z.M.O.BQtQtQtQtQtQt.0.1.sQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQt.V.y.y.zQtQt.x.y.2.3QtQt.4.5.6.7.8.9.Y.Z.Z.M#.QtQtQtQtQt###a.F.WQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQt.W.2.y.y.zQtQt.V.y.y#b#cQtQt#d#e.5#e#f#g.8.Y.Y.Z.M#.QtQtQtQtQt.E.x#hQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQt.4#i.y.y.zQtQt.V.y.y.y#b#jQt.a#k#e#e#e#e#e#l.L.Y.Y.Z.N#mQtQtQtQt#n.2.4QtQtQtQtQtQtQt", +"QtQtQtQtQtQt#o.y.y.y.zQtQt.V.y.y.y.y.xQtQt#p#e#e#e#e#e#e.5#q.Y.Y.Z.M.PQtQtQtQt#a.2#rQtQtQtQtQtQt", +"QtQtQtQtQtQt.F.y.y.y.zQtQt.V.y.y.y.y.y#rQtQt#k#e#e#e#e#e#e.5#g.Y.Y.Z.Z.OQtQtQt#s#t.2#uQtQtQtQtQt", +"QtQtQtQtQt#v.x.y.y.y.zQtQt.V.y.y.y.y.y.yQtQt#w#e#e#e#e#e#e#e#e.7.Y.Y.Y.Z.OQtQtQt.d.1.2QtQtQtQtQt", +"QtQtQtQtQt.q#b.y.y.y.zQtQt.V.y.y.y.y.y.y.TQt.J#x#e#e#e#e#e#e#e.5#y.Y.Y.Y.9QtQtQtQt.v.y.VQtQtQtQt", +"QtQtQtQtQt.4#z.y.y.y#aQtQt#z.y.y.y.y.y.y#bQtQt#w#e#e#e#e#e#e#e#e#f.9.Y.Y.Y.XQtQtQtQt#t.y#AQtQtQt", +"QtQtQt#B#A.x.y.y.y.y.y.TQtQt.v.1.y.y.y.y#CQtQt.q#e#e#e#e#e#e#e#e#e.7.Y.Y.Y.L#DQtQtQt#E.y.yQtQtQt", +"QtQt.J#o.F#F#G#H#I.y.y.x#pQtQt.t.y.y.y.y.1#JQt#q#e#e#e#e#e#e#e#e#e#f.Y.Y.Y.Y#BQtQtQtQt.1.y#AQtQt", +"QtQt.s#K#L#M#N#O#P#Q#i.y#b#RQtQt#a.y.y.y.1#SQt.O.7.5#e#e#e#e#e#e#e#e#y.Y.Y.Y.rQtQtQtQt.y.y.1QtQt", +"Qt#h#T#U#V#W#X#Y#Z#0#1.y.y#2QtQt#3.1.y.y#4QtQt#5.Z.8#f#e#e#e#e#e#e#e.7.Y.Y.Y.L#6QtQtQt#7.y.1QtQt", +"Qt#o#8#9a.a#aaabacadaeaf.y#CQtQtQt.1.y.1agQtQt.N.Z.Y.L#f#e#e#e#e#e#e#l.Y.Y.Y.9ahQtQtQt.W.y.1aiQt", +"Qt.Vajakalamanaoapaqaras.y#CQtQtQtat.1.1.gQt#5au.Y.Y.Y.8.5#e#e#e#e#e#l.Y.Y.Y.YavQtQtQtQt#z.yawQt", +"Qt#iaxayazaAaBaCaDaEaFaG.yaHQtQtQtQt#C.y#zQtQt.K.L.Y.Y.Y#g#e#e#e#e#e#g.Y.Y.Y.YaIQtQtQtQt#b.y.1Qt", +"Qt#zaJaKaLaMaNaOaPaQaRaS.yaTQtQtQtQt.V.y.yaUQtQtav.Y.Y.Y.8.5#e#e#e#e#q.Y.Y.Y.YaIQtQtQtQt.2.y.EQt", +"QtaVasaWaXaYaZa0a1a2a3.y.1.uQtQtQtQtat.y.y#bQtQta4a5.Y.Y.Y#f#e#e#e.5.L.Y.Y.Y.Y#jQtQtQtQt.x.y.EQt", +"QtQt.ta6a7a8a9b.b#a3ba.ybbQtQtQtQtQtQt.y.y.y.VQtQtbc.X.Y.Ybd#e#e#e.6.Y.Y.Y.Y.Y.aQtQtQtQt.V.ybeQt", +"QtQtQt.Rbfbga3bhbibj.1bkQtQtQtQtQtQtQt#b.y.y#z#AQtQtav.Y.Y#f#e#e#ebl.Y.Y.Y.Y.L.aQtQtQtQt.V.y.EQt", +"QtQtQtQtbm#4#n#t#abkbnQtQtQtQtQtQtQtQt#b.y.y.y#zQtQt.#.X.9.5#e#e.6.Y.Y.Y.Y.Y#vQtQtQtQtQt.V.y.0Qt", +"QtQtQtQtQtQtbobpbqQtQtQtQtQtQtQtQtQtQt.x.y#CbrbsQtQtQt.9bl#e#e#f.L.Y.Y.Y.Y.9#JQtQtQtQt#v.2.1.dQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.V.1btQtQtQtQt#m.Ybd#e#f.X.Y.Y.Y.Y.YbubvQtQtQtQt#u#b#C#JQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.x.1#SQtQt.B#..M#g#ebw.L.Y.Y.Y.Y.Y.XboQtQtQtQtQt.I.ybeQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtav.2.y#2QtQta5.Y.7.5#g.9.Y.Y.Y.Y.Y.9#JQtQtQtQtQtQt.U.ybtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt#h#b#CbmQtQt.X#lbw.8.Y.Y.Y.Y.Y.Y.9.WQtQtQtQtQtQt.G#baHboQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.H.y#aQtQtQtbl#y.Y.Y.Y.Y.Y.Y.Y.9bxbvQtQtQtQtQtQtby.y#4QtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.S.y#CbzQtQt.Z.Y.Y.Y.Y.Y.Y.Y.L#sbAQtQtQtQtQtQt#p#b#a.bQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt#h#b.yaTQtQt.Q.M.Y.Y.Y.Y.Y.Ya5bBQtQtQtQtQtQtQt#v.S.1bCQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtbD.y.yaHQtQt.M.Z.Y.Y.Y.Y.L.lbEQtQtQtQtQtQtQtQt.H.ybbQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.G#b.y.y#CQtQt.Y.Y.Y.Y.L.abFQtQtQtQtQtQtQtQtQt#A#baTbGQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.K.F.y.y.yaHQtQt.M.9#B.lbHbIQtQtQtQtQtQtQtQtQt.G.2bebJQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQt.jbK#C#C#t#4bLQtQtbMbHbNQtQtQtQtQtQtQtQtQtQtQtbO.2bebJQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtbPagbQQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.r#7#zbbagQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt#RbD#CbRQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt#B.3#bbbbSQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt#BbO.V#4bsQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.Oav#A#2bbbsQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQt.ebTbU#vQtQtQtQtQtQtQtQtQtQtQtQtau.k#rbV.EbWbXQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtag.n.nbYbZb0at#rb1#cb2b3bKb4b5bsb6QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtbBbHb7b7bpbGQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt"}; diff --git a/community/teamspeak3/teamspeak3.desktop b/community/teamspeak3/teamspeak3.desktop new file mode 100644 index 000000000..d3f9fac3f --- /dev/null +++ b/community/teamspeak3/teamspeak3.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Name=TeamSpeak 3 +GenericName=TeamSpeak +Comment=TeamSpeak is software for quality voice communication via the Internet +Exec=/usr/bin/teamspeak3 +Icon=/usr/share/pixmaps/teamspeak3.xpm +StartupNotify=true +Terminal=false +Type=Application +Categories=Network;Application diff --git a/community/teamspeak3/teamspeak3.launcher b/community/teamspeak3/teamspeak3.launcher new file mode 100644 index 000000000..6fcd46bb7 --- /dev/null +++ b/community/teamspeak3/teamspeak3.launcher @@ -0,0 +1,6 @@ +#!/bin/bash + +cd "/opt/teamspeak3" +./ts3client_runscript.sh $@ +exit $? + diff --git a/extra/calligra/PKGBUILD b/extra/calligra/PKGBUILD index 2f1412f2c..7ee20c4bf 100644 --- a/extra/calligra/PKGBUILD +++ b/extra/calligra/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 178338 2013-02-20 11:50:07Z andrea $ +# $Id: PKGBUILD 178833 2013-02-27 14:34:41Z andrea $ # Maintainer: Ronald van Haren # Maintainer: Andrea Scarpino @@ -18,14 +18,14 @@ pkgname=('calligra-filters' 'calligra-braindump' 'calligra-flow') pkgver=2.6.1 -pkgrel=1 +pkgrel=2 arch=('i686' 'x86_64') url='http://www.calligra-suite.org/' license=('FDL1.2' 'GPL2' 'LGPL') makedepends=('cmake' 'automoc4' 'boost ' 'kdepimlibs' 'eigen2' 'kdeedu-marble' 'lcms2' 'libmysqlclient' 'freetds' 'xbase' 'libwpg' 'opencolorio' 'libwps' 'gsl' 'glew' 'fftw' 'opengtl' 'poppler-qt' 'libkdcraw' - 'openjpeg' 'kdegraphics-okular' 'pstoedit' 'mesa') + 'openjpeg' 'kdegraphics-okular' 'pstoedit' 'mesa' 'vc') groups=('calligra') source=("http://download.kde.org/stable/${pkgbase}-${pkgver}/${pkgbase}-${pkgver}.tar.bz2") md5sums=('8ba98f3ccb3c5097eb059d86b51f6139') diff --git a/extra/gnutls/PKGBUILD b/extra/gnutls/PKGBUILD index 9703e1d54..c3a4e00a2 100644 --- a/extra/gnutls/PKGBUILD +++ b/extra/gnutls/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 177918 2013-02-10 18:54:41Z andyrtr $ +# $Id: PKGBUILD 178865 2013-02-27 20:55:22Z andyrtr $ # Maintainer: Jan de Groot # Maintainer: Andreas Radke pkgname=gnutls -pkgver=3.1.8 +pkgver=3.1.9 pkgrel=1 pkgdesc="A library which provides a secure layer over a reliable transport layer" arch=('i686' 'x86_64') @@ -14,8 +14,8 @@ options=('!libtool' '!zipman') depends=('gcc-libs>=4.7.1-5' 'libtasn1>=3.0' 'readline' 'zlib' 'nettle>=2.4' 'p11-kit>=0.12') makedepends=('valgrind' 'strace' 'datefudge') source=(ftp://ftp.gnutls.org/gcrypt/gnutls/v3.1/${pkgname}-${pkgver}.tar.xz{,.sig}) -md5sums=('ffac9e22aba66057d5155ad0e3b62485' - 'f3f0f2b81fa62bbe878a181d87a9cabd') +md5sums=('0674032fe6de0d90d08eed81fcac2e1d' + '503f49f55459ef4229fa4f35841fde2f') build() { cd "${srcdir}/${pkgname}-${pkgver}" diff --git a/extra/gnutls/gnutls.install b/extra/gnutls/gnutls.install index 691f3c69d..48052cc02 100644 --- a/extra/gnutls/gnutls.install +++ b/extra/gnutls/gnutls.install @@ -1,5 +1,5 @@ infodir=usr/share/info -filelist=(gnutls.info-1.gz gnutls.info-2.gz gnutls.info-3.gz gnutls.info-4.gz gnutls.info.gz gnutls-guile.info.gz) +filelist=(gnutls.info-1.gz gnutls.info-2.gz gnutls.info-3.gz gnutls.info-4.gz gnutls.info-5.gz gnutls.info.gz gnutls-guile.info.gz) post_install() { [ -x usr/bin/install-info ] || return 0 diff --git a/extra/hylafax/PKGBUILD b/extra/hylafax/PKGBUILD index 4a952f56c..43e9a1b9f 100644 --- a/extra/hylafax/PKGBUILD +++ b/extra/hylafax/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 166869 2012-09-20 09:33:33Z tpowa $ +# $Id: PKGBUILD 178774 2013-02-27 13:50:36Z tpowa $ # Maintainer: Paul Mattal pkgname=hylafax pkgver=6.0.6 -pkgrel=1 +pkgrel=2 pkgdesc="Fax Server" arch=('i686' 'x86_64') install='hylafax.install' @@ -18,7 +18,8 @@ source=(ftp://ftp.hylafax.org/source/${pkgname}-${pkgver}.tar.gz hylafax.cron.daily config.local faxq.service - hfaxd.service) + hfaxd.service + faxgetty@.service) build () { cd "$srcdir/${pkgname}-${pkgver}" @@ -42,7 +43,7 @@ package () { # add systemd files install -D -m644 $srcdir/hfaxd.service $pkgdir/usr/lib/systemd/system/hfaxd.service install -D -m644 $srcdir/faxq.service $pkgdir/usr/lib/systemd/system/faxq.service - + install -D -m644 $srcdir/faxgetty@.service $pkgdir/usr/lib/systemd/system/faxgetty@.service install -D -m644 COPYRIGHT "$pkgdir"/usr/share/licenses/$pkgname/COPYRIGHT } md5sums=('d063d45049c8fcbabefe09d662313067' @@ -51,3 +52,10 @@ md5sums=('d063d45049c8fcbabefe09d662313067' '60f2a7e62c256ead4e9238cb31b35b90' '832c8e8098e2dfa56040c975b554590c' '38a00db6d9d765d130b2d8d3a98e5c24') +md5sums=('d063d45049c8fcbabefe09d662313067' + '6602288a405324d8c8e3c5eac2bf19fd' + '52beffe7dc296b4f9ce9fd0387f7804e' + '60f2a7e62c256ead4e9238cb31b35b90' + '832c8e8098e2dfa56040c975b554590c' + '38a00db6d9d765d130b2d8d3a98e5c24' + 'fe10ea597e786fe8c09e4104fbdf16de') diff --git a/extra/hylafax/faxgetty@.service b/extra/hylafax/faxgetty@.service new file mode 100644 index 000000000..476715c19 --- /dev/null +++ b/extra/hylafax/faxgetty@.service @@ -0,0 +1,24 @@ +# This file is part of systemd. +# +# systemd is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2.1 of the License, or +# (at your option) any later version. + +[Unit] +Description=faxgetty on %I +Documentation=man:faxgetty(8) +After=faxq.service hfaxd.service + +[Service] +ExecStart=/usr/lib/fax/faxgetty %I +Type=simple +Restart=always +RestartSec=0 +KillMode=process + +KillSignal=SIGTERM + +[Install] +WantedBy=multi-user.target + diff --git a/extra/lftp/PKGBUILD b/extra/lftp/PKGBUILD index 873ad157f..b66b9963a 100644 --- a/extra/lftp/PKGBUILD +++ b/extra/lftp/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 177982 2013-02-12 19:24:37Z andyrtr $ +# $Id: PKGBUILD 178842 2013-02-27 16:20:48Z andyrtr $ # Maintainer: Andreas Radke # Contributor: Aaron Griffin pkgname=lftp -pkgver=4.4.3 -pkgrel=2 +pkgver=4.4.4 +pkgrel=1 pkgdesc="Sophisticated command line based FTP client" arch=('i686' 'x86_64') license=('GPL3') @@ -13,7 +13,7 @@ optdepends=('perl: needed for convert-netscape-cookies and verify-file') url="http://lftp.yar.ru/" backup=('etc/lftp.conf') source=(http://ftp.yars.free.net/pub/source/lftp/${pkgname}-${pkgver}.tar.bz2) -md5sums=('b877c1f82b2d4dc503f40dcce4978ff4') +md5sums=('f1fa7aec113219952d18e4dd87d531ca') build() { cd ${srcdir}/${pkgname}-${pkgver} diff --git a/extra/nss/PKGBUILD b/extra/nss/PKGBUILD index d4540f420..88a5e11ea 100644 --- a/extra/nss/PKGBUILD +++ b/extra/nss/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 178767 2013-02-26 20:04:18Z ioni $ +# $Id: PKGBUILD 178844 2013-02-27 16:21:24Z jgc $ # Maintainer: Jan de Groot pkgname=nss pkgver=3.14.3 -pkgrel=1 +pkgrel=2 pkgdesc="Mozilla Network Security Services" arch=(i686 x86_64) url="http://www.mozilla.org/projects/security/pki/nss/" @@ -76,8 +76,8 @@ package() { -e "s,%prefix%,/usr,g" \ -e "s,%exec_prefix%,/usr/bin,g" \ -e "s,%includedir%,/usr/include/nss,g" \ - -e "s,%NSPR_VERSION%,${_pkgver},g" \ - -e "s,%NSS_VERSION%,${_pkgver},g" > \ + -e "s,%NSPR_VERSION%,${_nsprver},g" \ + -e "s,%NSS_VERSION%,${pkgver},g" > \ "${pkgdir}/usr/lib/pkgconfig/nss.pc" ln -sf nss.pc "${pkgdir}/usr/lib/pkgconfig/mozilla-nss.pc" chmod 644 ${pkgdir}/usr/lib/pkgconfig/*.pc diff --git a/extra/watchdog/PKGBUILD b/extra/watchdog/PKGBUILD index f1c3d4986..df19144f9 100644 --- a/extra/watchdog/PKGBUILD +++ b/extra/watchdog/PKGBUILD @@ -1,25 +1,19 @@ -# $Id: PKGBUILD 165803 2012-08-30 17:35:28Z thomas $ +# $Id: PKGBUILD 178840 2013-02-27 15:05:46Z thomas $ # Maintainer: Thomas Bächler pkgname=watchdog -pkgver=5.12 -pkgrel=2 +pkgver=5.13 +pkgrel=1 pkgdesc="Watchdog daemon" arch=(i686 x86_64) url="http://sourceforge.net/projects/watchdog" license=('GPL') depends=('glibc') -backup=(etc/watchdog.conf - etc/conf.d/watchdog - etc/conf.d/wd_keepalive) +backup=(etc/watchdog.conf) source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.gz - watchdog.sh - watchdog.cf watchdog-5.12-fix-oom-in-wd_keepalive.patch watchdog.systemd) -md5sums=('cea28bea70e54f3625062bc808aef9af' - 'f57d33967eb9404dd52e3c4e73795a20' - '01c1e2e13f515131180b4ebe9b8b7cc3' +md5sums=('153455f008f1cf8f65f6ad9586a21ff1' 'c90c2686975b5254f82b3de683f1f442' 'a835ae5cbdbb21c19a468dedb5d734e4') @@ -41,13 +35,5 @@ build() { package() { cd "${srcdir}"/${pkgname}-${pkgver} make install DESTDIR="${pkgdir}" - for fil in watchdog wd_keepalive ; do - install -D -m755 "${srcdir}"/watchdog.sh "${pkgdir}"/etc/rc.d/${fil} - install -D -m644 "${srcdir}"/watchdog.cf "${pkgdir}"/etc/conf.d/${fil} - done install -D -m644 "${srcdir}"/watchdog.systemd "${pkgdir}"/usr/lib/systemd/system/watchdog.service - - sed -i 's/watchdog/wd_keepalive/g' "${pkgdir}"/etc/rc.d/wd_keepalive - sed -i 's/watchdog/wd_keepalive/g' "${pkgdir}"/etc/conf.d/wd_keepalive - sed -i 's/Watchdog/Simple Watchdog/' "${pkgdir}"/etc/rc.d/wd_keepalive } diff --git a/extra/watchdog/watchdog.cf b/extra/watchdog/watchdog.cf deleted file mode 100644 index a33e1ea91..000000000 --- a/extra/watchdog/watchdog.cf +++ /dev/null @@ -1,2 +0,0 @@ -# watchdog configuration -WATCHDOG_OPTIONS="" diff --git a/extra/watchdog/watchdog.sh b/extra/watchdog/watchdog.sh deleted file mode 100644 index 54f78454f..000000000 --- a/extra/watchdog/watchdog.sh +++ /dev/null @@ -1,44 +0,0 @@ -#!/bin/bash - -. /etc/rc.conf -. /etc/rc.d/functions - -PID="$( cat /run/watchdog.pid 2>/dev/null )" -[ -r /etc/conf.d/watchdog ] && source /etc/conf.d/watchdog - -case "$1" in - start) - stat_busy "Starting Watchdog Daemon" - - [ -z "$PID" ] && /usr/sbin/watchdog ${WATCHDOG_OPTIONS} - - if [ $? -gt 0 ]; then - stat_fail - else - add_daemon watchdog - stat_done - fi - ;; - stop) - stat_busy "Stopping Watchdog Daemon" - - [ -n "$PID" ] && kill $PID &> /dev/null - - if [ $? -gt 0 ]; then - stat_fail - else - rm_daemon watchdog - stat_done - fi - - rm -f /run/watchdog.pid - ;; - restart) - $0 stop - sleep 1 - $0 start - ;; - *) - echo "usage: $0 {start|stop|restart}" -esac -exit 0 diff --git a/extra/xterm/PKGBUILD b/extra/xterm/PKGBUILD index e1befcbb9..aac5cd08e 100644 --- a/extra/xterm/PKGBUILD +++ b/extra/xterm/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 178168 2013-02-17 17:21:11Z andyrtr $ +# $Id: PKGBUILD 178846 2013-02-27 16:25:21Z andyrtr $ # Maintainer: Jan de Groot # Contributor: Alexander Baldeck pkgname=xterm -pkgver=290 +pkgver=291 pkgrel=1 pkgdesc="X Terminal Emulator" arch=('i686' 'x86_64') @@ -12,7 +12,7 @@ license=('custom') depends=('libxft' 'libxaw' 'ncurses' 'xorg-luit' 'xbitmaps' 'libutempter') source=(ftp://invisible-island.net/${pkgname}/${pkgname}-${pkgver}.tgz LICENSE) -md5sums=('92ce4a161dc4a16daa987e5a6511da61' +md5sums=('9925cd564c84746442e640f0e32f0493' '10ecc3f8ee91e3189863a172f68282d2') build() { diff --git a/social/ruby-headers/PKGBUILD b/social/ruby-headers/PKGBUILD index f621772e9..d68e97781 100644 --- a/social/ruby-headers/PKGBUILD +++ b/social/ruby-headers/PKGBUILD @@ -3,8 +3,8 @@ pkgname=ruby-headers _pkgname=ruby -pkgver=1.9.3_p194 -_pkgver=1.9.3-p194 +pkgver=1.9.3_p392 +_pkgver=1.9.3-p392 pkgrel=1 pkgdesc="A package of all Ruby headers needed by some gems like ruby-debug." arch=('any') @@ -14,7 +14,7 @@ depends=("ruby=$pkgver") source=("http://ftp.ruby-lang.org/pub/ruby/1.9/$_pkgname-$_pkgver.tar.bz2") build() { - /bin/true + : } package() { @@ -28,4 +28,4 @@ package() { install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING" } -md5sums=('2278eff4cfed3cbc0653bc73085caa34') +md5sums=('a810d64e2255179d2f334eb61fb8519c') -- cgit v1.2.3-54-g00ecf