diff options
author | Michał Masłowski <mtjm@mtjm.eu> | 2011-11-26 11:56:56 +0100 |
---|---|---|
committer | Michał Masłowski <mtjm@mtjm.eu> | 2011-11-26 11:56:56 +0100 |
commit | 0fc7a60c47b41bf54d1f1429fddb6baddb80007c (patch) | |
tree | 77f6cc6477ba82a940d83258ffc98e2f26e40284 | |
parent | 47ed35d319764a0de3a242524e037319bd1a52bd (diff) | |
parent | 6a642c093f29814cdd0fdefeee3ab9400eae490f (diff) |
Merge branch 'master' of ssh://parabolagnulinux.org:1863/home/parabola/abslibre-pre-mips64el
Conflicts:
community/ncdu/PKGBUILD
extra/gcin/PKGBUILD
extra/maxima/PKGBUILD
extra/sbcl/PKGBUILD
kde-unstable/calligra/PKGBUILD
kde-unstable/kdebase-workspace/PKGBUILD
314 files changed, 13995 insertions, 97 deletions
diff --git a/community-staging/gpsdrive/PKGBUILD b/community-staging/gpsdrive/PKGBUILD new file mode 100644 index 000000000..0901a0fd6 --- /dev/null +++ b/community-staging/gpsdrive/PKGBUILD @@ -0,0 +1,69 @@ +# $Id: PKGBUILD 59398 2011-11-24 09:02:36Z spupykin $ +# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> +# Contributor: Tom Newsom <Jeepster@gmx.co.uk> +# Maintainer: damir <damir@archlinux.org> + +pkgname=gpsdrive +pkgver=2.11 +pkgrel=11 +pkgdesc="A car (bike, ship, plane) navigation system" +arch=("i686" "x86_64") +url="http://www.gpsdrive.de/" +license=('GPL2') +depends=('gtk2' 'gpsd' 'libxml2' 'curl' 'python2' 'boost-libs' 'gdal' 'mapnik' 'postgresql-libs' 'openstreetmap-map-icons-svn' + 'perl-date-manip' 'perl-timedate' 'perl-dbi' 'perl-file-slurp' 'perl-www-mechanize' 'perl-libwww' 'perl-uri' + 'perl-text-query' 'perl-www-curl' 'perl-xml-parser' 'perl-xml-simple' 'perl-xml-twig' 'perl-xml-writer' + ) # already in core ('sqlite3') +makedepends=('cmake>=2.4.4' 'boost' 'cfitsio') +install="gpsdrive.install" +source=("http://www.gpsdrive.de/packages/${pkgname}-${pkgver}.tar.gz" + "gpsd-2.96.patch") +md5sums=('6eeeca8e5c647115bea836d1f8fb6e0c' + '5769e12c6d8932fb721212434c64f505') + +build() { + cd "$srcdir" + + # python2 fix + for file in $(find . -name '*.py' -print); do + sed -i 's_#!/usr/bin/python_#!/usr/bin/python2_' $file + sed -i 's_#!/usr/bin/env python_#!/usr/bin/env python2_' $file + done + + rm -rf build + mkdir build + cd build + + # fix the mapnik default values + sed -i 's|"/usr/lib/mapnik/0.7/input/"|"/usr/lib/mapnik/input/"|' "${srcdir}/gpsdrive-${pkgver}/src/gpsdrive_config.c" + sed -i 's|"/usr/share/fonts/truetype/ttf-dejavu/"|"/usr/share/fonts/TTF/"|' "${srcdir}/gpsdrive-${pkgver}/src/gpsdrive_config.c" + + export CFLAGS=-I/usr/include/gdk-pixbuf-2.0/ + export CPPFLAGS=-I/usr/include/gdk-pixbuf-2.0/ + export CXXFLAGS=-I/usr/include/gdk-pixbuf-2.0/ + export CXXFLAGS="${CXXFLAGS} -DBOOST_FILESYSTEM_VERSION=2" + unset LDFLAGS + + # see DefineOptions.cmake for a list of common options and defaults + # cmake -L for a more in-depth listing + cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX="/usr" \ + -DWITH_SCRIPTS=ON \ + -DWITH_MAPNIK=ON \ + -DWITH_POSTGIS=ON \ + -DWITH_GDAL=ON \ + -DWITH_BASEMAPS=ON \ + -DWITH_FRIENDSD=ON \ + -DWITH_KISMET=ON \ + -DWITH_NAVIGATION=ON \ + -DWITH_SPEECH=OFF \ + -DWITH_DBUS=OFF \ + -DLIBGPS_OLD=OFF \ + "$srcdir/gpsdrive-$pkgver" + (cd "$srcdir/gpsdrive-$pkgver" && patch -p1 <$srcdir/gpsd-2.96.patch) + make +} + +package() { + cd "$srcdir/build" + make DESTDIR="$pkgdir" install +} diff --git a/community-staging/gpsdrive/gpsd-2.96.patch b/community-staging/gpsdrive/gpsd-2.96.patch new file mode 100644 index 000000000..bc6c7475f --- /dev/null +++ b/community-staging/gpsdrive/gpsd-2.96.patch @@ -0,0 +1,44 @@ +diff -wbBur gpsdrive-2.11/src/gps_handler.c gpsdrive-2.11.my/src/gps_handler.c +--- gpsdrive-2.11/src/gps_handler.c 2010-06-24 19:53:32.000000000 +0000 ++++ gpsdrive-2.11.my/src/gps_handler.c 2011-04-18 13:21:33.000000000 +0000 +@@ -264,7 +264,8 @@ + #define GPS_TIMER 500 + + static gint gps_timeout_source = 0; +-static struct gps_data_t *gpsdata; ++static struct gps_data_t __gd; ++static struct gps_data_t *gpsdata = &__gd; + + /* SYMBOLS USED IN LIBGPS: + * +@@ -410,9 +411,10 @@ + */ + gps_query (gpsdata, "oys\n"); + #else +- if (gps_waiting(gpsdata)) ++ if (gps_waiting(gpsdata, 1000000)) + { +- gps_poll (gpsdata); ++ gps_read (gpsdata); ++ gps_hook_cb(gpsdata, NULL); + } + #endif + +@@ -447,7 +449,7 @@ + } + + /* try to open connection */ +- gpsdata = gps_open (local_config.gpsd_server, local_config.gpsd_port); ++ gpsdata = gps_open (local_config.gpsd_server, local_config.gpsd_port, gpsdata) ? NULL : &__gd; + if (!gpsdata) + { + g_print ("Can't connect to gps daemon on %s:%s, disabling GPS support!\n", +@@ -466,7 +468,7 @@ + gps_sats = g_new (gps_satellite_struct, MAXCHANNELS); + + /* set hook function to handle gps data */ +- gps_set_raw_hook (gpsdata, (gpointer) gps_hook_cb); ++// gps_set_raw_hook (gpsdata, (gpointer) gps_hook_cb); + + #ifndef LIBGPS_OLD + /* enable watch mode to get data stream from gpsd */ diff --git a/community-staging/gpsdrive/gpsdrive.install b/community-staging/gpsdrive/gpsdrive.install new file mode 100644 index 000000000..8ea63912e --- /dev/null +++ b/community-staging/gpsdrive/gpsdrive.install @@ -0,0 +1,4 @@ +post_install() { + echo "Don't forget to generate geoinfo.db with geoinfo.pl script" + echo "Also you can check http://wiki.archlinux.org/index.php/GpsDrive" +} diff --git a/community-staging/performous/PKGBUILD b/community-staging/performous/PKGBUILD new file mode 100644 index 000000000..8a77149f1 --- /dev/null +++ b/community-staging/performous/PKGBUILD @@ -0,0 +1,48 @@ +# $Id: PKGBUILD 59406 2011-11-24 14:52:47Z lcarlier $ +# Maintainer : Laurent Carlier <lordheavym@gmail.com> +# Contributor: Christoph Zeiler <archNOSPAM_at_moonblade.dot.org> + +pkgname=performous +pkgver=0.6.1 +pkgrel=11 +pkgdesc='A free game like "Singstar", "Rockband" or "Stepmania"' +arch=('i686' 'x86_64') +url="http://performous.org/" +license=('GPL') +depends=('boost-libs>=1.48' 'imagemagick' 'glew>=1.7.0' 'libxml++' 'portaudio' 'portmidi' 'opencv' 'librsvg') +#depends=('boost-libs>=1.48' 'sdl' 'jack' 'imagemagick' 'ffmpeg' 'glew>=1.7.0' 'libxml++' 'portaudio' 'portmidi' \ +# 'opencv' 'librsvg' 'libjpeg' 'libpng' 'cairo') +makedepends=('cmake' 'pkgconfig' 'help2man' 'boost>=1.48') +optdepends=('performous-freesongs: free songs for performous') +source=(http://sourceforge.net/projects/$pkgname/files/$pkgname/$pkgver/Performous-$pkgver-Source.tar.bz2 + boost-filesystem-v3.patch + ffmpeg-0.8.patch::"http://performous.git.sourceforge.net/git/gitweb.cgi?p=performous/performous;a=patch;h=18449f6e56451f68b980c8359a4d1dc06f82db1a") +md5sums=('451a759de77984b5a699e91107fe52e2' + '42a8c825d80b0de16bd5752d2a80e585' + 'ff0ffa681dfaa09c4f42133a65309bf0') + +build() { + cd ${srcdir}/Performous-${pkgver}-Source + + # fix to built against boost 1.46 and later, upstream (git) now support v3 + patch -Np1 -i ../boost-filesystem-v3.patch + # fix with ffmpeg-0.8 + patch -Np1 -i ../ffmpeg-0.8.patch + + mkdir -p build + cd build + + # fix config loading with libxml++ + export LDFLAGS=${LDFLAGS/-Wl,--as-needed/} + + cmake -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr .. + + make +} + +package() { + cd ${srcdir}/Performous-${pkgver}-Source/build + + make DESTDIR="$pkgdir" install +} diff --git a/community-staging/performous/boost-filesystem-v3.patch b/community-staging/performous/boost-filesystem-v3.patch new file mode 100644 index 000000000..22dd07213 --- /dev/null +++ b/community-staging/performous/boost-filesystem-v3.patch @@ -0,0 +1,135 @@ +diff --git a/game/backgrounds.cc b/game/backgrounds.cc +index 7fd3cd0..cdedefb 100644 +--- a/game/backgrounds.cc ++++ b/game/backgrounds.cc +@@ -55,8 +55,13 @@ void Backgrounds::reload_internal(fs::path const& parent) { + for (fs::directory_iterator dirIt(parent), dirEnd; m_loading && dirIt != dirEnd; ++dirIt) { + fs::path p = dirIt->path(); + if (fs::is_directory(p)) { reload_internal(p); continue; } ++#if BOOST_FILESYSTEM_VERSION < 3 + std::string name = p.leaf(); // File basename + std::string path = p.directory_string(); // Path without filename ++#else ++ std::string name = p.filename().string(); // File basename ++ std::string path = p.string(); // Path without filename ++#endif + path.erase(path.size() - name.size()); + if (!regex_match(name.c_str(), match, expression)) continue; + { +diff --git a/game/cache.cc b/game/cache.cc +index 69974e2..0f1edd0 100644 +--- a/game/cache.cc ++++ b/game/cache.cc +@@ -9,7 +9,11 @@ namespace cache { + fs::path constructSVGCacheFileName(fs::path const& svgfilename, double factor){ + fs::path cache_filename; + std::string const lod = (boost::format("%.2f") % factor).str(); ++#if BOOST_FILESYSTEM_VERSION < 3 + std::string const cache_basename = svgfilename.filename() + ".cache_" + lod + ".png"; ++#else ++ std::string const cache_basename = svgfilename.filename().string() + ".cache_" + lod + ".png"; ++#endif + + if (isThemeResource(svgfilename)) { + std::string const theme_name = (config["game/theme"].s().empty() ? "default" : config["game/theme"].s()); +diff --git a/game/filemagic.hh b/game/filemagic.hh +index bf87ded..29e81fe 100644 +--- a/game/filemagic.hh ++++ b/game/filemagic.hh +@@ -71,7 +71,11 @@ namespace filemagic { + // For now, just check the extension an assume it's not lying. + + // Get file extension in lower case ++#if BOOST_FILESYSTEM_VERSION < 3 + std::string ext = filename.extension(); ++#else ++ std::string ext = filename.extension().string(); ++#endif + // somehow this does not convert the extension to lower case: + //std::for_each(ext.begin(), ext.end(), static_cast<int(*)(int)>(std::tolower)); + std::transform(ext.begin(), ext.end(), ext.begin(), ::tolower ); +diff --git a/game/fs.cc b/game/fs.cc +index e34a784..767a7ab 100644 +--- a/game/fs.cc ++++ b/game/fs.cc +@@ -128,7 +128,11 @@ std::string getThemePath(std::string const& filename) { + + bool isThemeResource(fs::path filename){ + try { ++#if BOOST_FILESYSTEM_VERSION < 3 + std::string themefile = getThemePath(filename.filename()); ++#else ++ std::string themefile = getThemePath(filename.filename().string()); ++#endif + return themefile == filename; + } catch (...) { return false; } + } +diff --git a/game/songparser-ini.cc b/game/songparser-ini.cc +index 38e163b..db15d79 100644 +--- a/game/songparser-ini.cc ++++ b/game/songparser-ini.cc +@@ -104,7 +104,11 @@ void SongParser::iniParseHeader() { + // Search the dir for the music files + for (boost::filesystem::directory_iterator dirIt(s.path), dirEnd; dirIt != dirEnd; ++dirIt) { + boost::filesystem::path p = dirIt->path(); ++#if BOOST_FILESYSTEM_VERSION < 3 + std::string name = p.leaf(); // File basename (notes.txt) ++#else ++ std::string name = p.filename().string(); // File basename (notes.txt) ++#endif + if (regex_match(name.c_str(), match, midifile)) { + s.midifilename = name; + } else if (regex_match(name.c_str(), match, audiofile_background)) { +diff --git a/game/songparser.cc b/game/songparser.cc +index 2b7b9b4..ac9f3f6 100644 +--- a/game/songparser.cc ++++ b/game/songparser.cc +@@ -100,7 +100,11 @@ SongParser::SongParser(Song& s): + + for (boost::filesystem::directory_iterator dirIt(s.path), dirEnd; dirIt != dirEnd; ++dirIt) { + boost::filesystem::path p = dirIt->path(); ++#if BOOST_FILESYSTEM_VERSION < 3 + std::string name = p.leaf(); // File basename ++#else ++ std::string name = p.filename().string(); // File basename ++#endif + if (m_song.cover.empty() && regex_match(name.c_str(), match, coverfile)) { + m_song.cover = name; + } else if (m_song.background.empty() && regex_match(name.c_str(), match, backgroundfile)) { +diff --git a/game/songs.cc b/game/songs.cc +index 62ab26d..afab383 100644 +--- a/game/songs.cc ++++ b/game/songs.cc +@@ -67,8 +67,13 @@ void Songs::reload_internal(fs::path const& parent) { + for (fs::directory_iterator dirIt(parent), dirEnd; m_loading && dirIt != dirEnd; ++dirIt) { + fs::path p = dirIt->path(); + if (fs::is_directory(p)) { reload_internal(p); continue; } ++#if BOOST_FILESYSTEM_VERSION < 3 + std::string name = p.leaf(); // File basename (notes.txt) + std::string path = p.directory_string(); // Path without filename ++#else ++ std::string name = p.filename().string(); // File basename (notes.txt) ++ std::string path = p.string(); // Path without filename ++#endif + path.erase(path.size() - name.size()); + if (!regex_match(name.c_str(), match, expression)) continue; + try { +diff --git a/tools/ss_helpers.hh b/tools/ss_helpers.hh +index 58e19dc..8895d94 100644 +--- a/tools/ss_helpers.hh ++++ b/tools/ss_helpers.hh +@@ -10,7 +10,11 @@ extern "C" void xmlLogger(void* logger, char const* msg, ...) { if (logger) *(st + void enableXMLLogger(std::ostream& os = std::cerr) { xmlSetGenericErrorFunc(&os, xmlLogger); } + void disableXMLLogger() { xmlSetGenericErrorFunc(NULL, xmlLogger); } + ++#if BOOST_FILESYSTEM_VERSION < 3 + std::string filename(boost::filesystem::path const& p) { return *--p.end(); } ++#else ++std::string filename(boost::filesystem::path const& p) { return p.filename().string(); } ++#endif + + /** Fix Singstar's b0rked XML **/ + std::string xmlFix(std::vector<char> const& data) { +-- +1.7.4.1 + diff --git a/community-staging/pingus/ChangeLog b/community-staging/pingus/ChangeLog new file mode 100644 index 000000000..c182f92eb --- /dev/null +++ b/community-staging/pingus/ChangeLog @@ -0,0 +1,21 @@ +2010-03-18 Jaroslav Lichtblau <dragonlord@aur.archlinux.org> + + * pingus 0.7.2-8 + * Rebuilt against boost 1.41.0 + +2010-02-23 Eric Belanger <eric@archlinux.org> + + * pingus 0.7.2-7 + * Rebuilt against boost 1.42.0 + +2010-01-20 Eric Belanger <eric@archlinux.org> + + * pingus 0.7.2-6 + * Rebuilt against libpng 1.4/libjpeg 8 + +2009-07-13 Eric Belanger <eric@archlinux.org> + + * pingus 0.7.2-2 + * Rebuilt against boost 1.39 + * Added gcc 4.4 patch + * Added ChangeLog diff --git a/community-staging/pingus/PKGBUILD b/community-staging/pingus/PKGBUILD new file mode 100644 index 000000000..d37f588f7 --- /dev/null +++ b/community-staging/pingus/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 59408 2011-11-24 15:18:25Z lcarlier $ +# Maintainer: Eric Belanger <eric@archlinux.org> + +pkgname=pingus +pkgver=0.7.5 +pkgrel=2 +pkgdesc="A Lemmings clone, i.e. a level-based puzzle game." +arch=('i686' 'x86_64') +url="http://pingus.seul.org" +license=('GPL') +depends=('sdl_image' 'sdl_mixer' 'libgl' 'boost-libs>=1.48') +makedepends=('scons' 'boost>=1.48' 'mesa') +source=(http://pingus.googlecode.com/files/${pkgname}-${pkgver}.tar.bz2 pingus.desktop) +md5sums=('68e0bd1327e0eedcaab64d64528540ba' + '9eec34047bdcff49e08f41e81764e20c') +sha1sums=('65493f9c9914bb401dbcfe1fe6bf2fad2388b755' + '579a1144f161ce89e6e024cea37210149b89c0c0') + +build() { + cd ${pkgname}-${pkgver} + + scons prefix=/usr +} + +package() { + cd ${pkgname}-${pkgver} + + make install DESTDIR="${pkgdir}" PREFIX="/usr" + + install -D -m644 "${srcdir}/pingus.desktop" "${pkgdir}/usr/share/applications/pingus.desktop" +} diff --git a/community-staging/pingus/pingus.desktop b/community-staging/pingus/pingus.desktop new file mode 100644 index 000000000..276db36a4 --- /dev/null +++ b/community-staging/pingus/pingus.desktop @@ -0,0 +1,9 @@ +[Desktop Entry] +Encoding=UTF-8 +Name=Pingus +Comment=A free Lemmings[tm] clone +Exec=pingus +Terminal=false +Type=Application +Categories=Application;Game;LogicGame +Icon=/usr/share/pingus/images/core/editor/actions.png diff --git a/community-testing/courier-authlib/PKGBUILD b/community-testing/courier-authlib/PKGBUILD new file mode 100644 index 000000000..99e43c8c3 --- /dev/null +++ b/community-testing/courier-authlib/PKGBUILD @@ -0,0 +1,63 @@ +# $Id: PKGBUILD 53167 2009-09-26 09:48:47Z allan $ +# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com> +# Contributor: tobias <tobias@archlinux.org> +# Contributor: Tobias Kieslich <tobias@justdreams.de> + +pkgname=courier-authlib +pkgver=0.63.0 +pkgrel=5 +pkgdesc="Authentification library for the courier mailserver(s)" +arch=(i686 x86_64) +license=('GPL2') +url="http://courier-mta.org/authlib/" +backup=('etc/authlib/authdaemonrc' 'etc/authlib/authldaprc' \ + 'etc/authlib/authmysqlrc' 'etc/authlib/authpgsqlrc') +depends=('openssl' 'gdbm' 'perl' 'libtool' 'expect') +makedepends=('pam' 'expect' 'libldap' 'libmysqlclient' 'postgresql-libs>=8.3.0') +optdepends=('libmysqlclient' 'libldap' 'postgresql-libs') +conflicts=('courier-imap-mysql' 'courier-imap-pgsql' 'courier-imap-ldap') +provides=('courier-imap-mysql' 'courier-imap-pgsql' 'courier-imap-ldap') +options=(!libtool) +install=${pkgname}.install +source=(http://downloads.sourceforge.net/project/courier/authlib/${pkgver}/${pkgname}-${pkgver}.tar.bz2 + authdaemond.rc.d) +md5sums=('411a927d178f783a1e8fab9964ce0dd2' + '911ee9f40d70fafc6bb4cc636c5ad531') + +build() { + #export MAKEFLAGS="-j1" + cd ${srcdir}/${pkgname}-${pkgver} + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --libdir=/usr/lib \ + --libexecdir=/usr/lib \ + --with-db=gdbm \ + --with-mailuser=courier --with-mailgroup=courier \ + --with-authpam --with-authpwd --with-authshadow \ + --with-authldap --with-authmysql --with-authpgsql \ + --with-authuserdb --with-authcram --with-authdaemon + make +} + +package() { + cd ${srcdir}/${pkgname}-${pkgver} + make DESTDIR=${pkgdir} install + ############################################################################### + # post_installation ---- rename the config file and change ownerschip + for distfile in ${pkgdir}/etc/authlib/*.dist; do + chown 72:72 ${distfile} + mv ${distfile} ${pkgdir}/etc/authlib/`basename ${distfile} .dist` + done + # copy the .schema; mostly refered to as courier.schema -> rename it + install -Dm 444 authldap.schema \ + ${pkgdir}/etc/openldap/schema/courier.schema + ############################################################################### + # Install daemon, that wraps couriers bashscript + install -Dm 755 ${srcdir}/authdaemond.rc.d ${pkgdir}/etc/rc.d/authdaemond + chown -R 72:72 ${pkgdir}/var/spool/authdaemon + mkdir ${pkgdir}/var/spool/courier + chown -R 72:72 ${pkgdir}/var/spool/courier + # docs say we can remove .a files after make + find ${pkgdir} -name '*\.a' -exec rm -f {} \; +} diff --git a/community-testing/courier-authlib/authdaemond.rc.d b/community-testing/courier-authlib/authdaemond.rc.d new file mode 100644 index 000000000..ff4abb182 --- /dev/null +++ b/community-testing/courier-authlib/authdaemond.rc.d @@ -0,0 +1,48 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +start() { + stat_busy "Starting Authdaemond" + /usr/sbin/authdaemond start &> /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + ln -s /var/spool/authdaemon/pid /var/run/authdaemond.pid + add_daemon authdaemond + stat_done + fi +} + +stop() { + stat_busy "Stopping Authdaemond" + /usr/sbin/authdaemond stop &> /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + rm -f /var/run/authdaemond.pid + rm_daemon authdaemond + # housecleaning; just like kids'n toys - don't care when it's needed anymore + rm -f /var/spool/authdaemon/{pid.lock,pid,socket} &> /dev/null + stat_done + fi +} + +case "$1" in + start) + start + ;; + stop) + stop + ;; + restart) + # calling 'stop' and 'start' without the $0 fails... + $0 stop + sleep 2 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 diff --git a/community-testing/courier-authlib/courier-authlib.install b/community-testing/courier-authlib/courier-authlib.install new file mode 100644 index 000000000..cbccc636b --- /dev/null +++ b/community-testing/courier-authlib/courier-authlib.install @@ -0,0 +1,32 @@ +# arg 1: the new package version +post_install() { + # creates group and user on virgin systems + if [ -z "`grep '^courier::' /etc/group`" ]; then + groupadd -g 72 courier >& /dev/null + fi + if [ -z "`grep '^courier:' /etc/passwd`" ]; then + useradd -u 72 -d /var/spool/courier -g courier -s /bin/false courier &>/dev/null + fi +} + +# arg 1: the new package version +# arg 2: the old package version +post_upgrade() { + post_install $1 +} + +# arg 1: the old package version +pre_remove() { + userdel courier &> /dev/null + groupdel courier &> /dev/null +} + + +post_remove() { + /bin/true +} + +op=$1 +shift + +$op $* diff --git a/community-testing/courier-imap/PKGBUILD b/community-testing/courier-imap/PKGBUILD new file mode 100644 index 000000000..5c248e738 --- /dev/null +++ b/community-testing/courier-imap/PKGBUILD @@ -0,0 +1,94 @@ +# $Id: PKGBUILD 59416 2011-11-24 17:03:59Z stephane $ +# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com> +# Contributor: tobias <tobias@archlinux.org> +# Committer: Manolis Tzanidakis <manolis@archlinux.org> + +pkgname=courier-imap +pkgver=4.9.3 +pkgrel=5 +pkgdesc="IMAP(s)/POP3(s) Server" +arch=('i686' 'x86_64') +license=('GPL2') +url="http://www.courier-mta.org/imap/" +depends=('courier-maildrop>=2.5.0' 'gcc-libs' 'gamin' 'gdbm' 'openssl') +backup=('etc/courier-imap/imapd.cnf' 'etc/courier-imap/pop3d.cnf' \ + 'etc/courier-imap/imapd' 'etc/courier-imap/imapd-ssl' \ + 'etc/courier-imap/pop3d' 'etc/courier-imap/pop3d-ssl'\ + 'etc/conf.d/courier-imap') +conflicts=('courier-mta') +provides=('imap-server' 'pop3-server') +options=('!libtool') +install=$pkgname.install +source=(http://downloads.sourceforge.net/project/courier/imap/${pkgver}/${pkgname}-${pkgver}.tar.bz2 + courier-imap.conf.d + courier-imap.rc.d + imapd.rc.d + imapd-ssl.rc.d + pop3d.rc.d + pop3d-ssl.rc.d) +md5sums=('703ddbb090569436dbda61d0d62b1eb8' + '3e08f017f6c5a52dea28f6f0dbd50b86' + '500c37831974f4676b67e650c67a59f6' + '6574c8046e44698efa7452c4b445d88e' + '437167a58efddc523f25180df284da20' + '1be23fb224bde93b23da6e771bd1cf01' + 'a326309b02fed3d7226d9aac88add7f2') + +# MIGRATION NOTE: +# In 2012, support for courier-imap.conf.d and courier-imap.rc.d will be removed. +# Remove those files and this note and also courier-imap.install + +build() { + cd ${srcdir}/${pkgname}-${pkgver} + + # fix a tiny bug + sed -i -e \ + 's|--with-authchangepwdir=/var/tmp/dev/null|--with-authchangepwdir=$libexecdir/authlib|' \ + configure && chmod 755 configure + + ./configure --prefix=/usr \ + --sysconfdir=/etc/courier-imap \ + --libexecdir=/usr/lib/courier-imap \ + --localstatedir=/var/spool/courier-imap \ + --disable-root-check \ + --enable-unicode \ + --enable-workarounds-for-imap-client-bugs \ + --with-piddir=/var/run/courier \ + --with-trashquota \ + --with-db=gdbm \ + --with-trashquota \ + --with-mailuser=courier --with-mailgroup=courier + make +} + +package() { + cd ${srcdir}/${pkgname}-${pkgver} + + make DESTDIR=${pkgdir} install + + # cleanup - provided by courier-maildrop + rm ${pkgdir}/usr/bin/{deliverquota,maildirmake} + rm ${pkgdir}/usr/share/man/man1/maildirmake* + rm ${pkgdir}/usr/share/man/man8/deliverquota* + find ${pkgdir} -name '*\.a' -exec -rm -f {} \; + ############################################################################### + # this is what usually "make install-configure" does + # *.dist files get rid of "dist" + for distfile in ${pkgdir}/etc/courier-imap/*.dist; do + mv ${distfile} ${pkgdir}/etc/courier-imap/$(basename ${distfile} .dist) + done + sed -i 's|TLS_CERTFILE=/usr/share/|TLS_CERTFILE=/etc/courier-imap/|' \ + ${pkgdir}/etc/courier-imap/*-ssl + for pamfile in imap/*.pam; do + sed -i "s|/lib/security/||;s|pam_pwdb|pam_unix|" ${pamfile} + install -Dm 644 ${pamfile} \ + ${pkgdir}/etc/pam.d/$(basename ${pamfile} .pam | sed "s/d$//") + done + # install thingies + install -D -m 755 ${srcdir}/courier-imap.rc.d ${pkgdir}/etc/rc.d/courier-imap + install -D -m 755 ${srcdir}/imapd.rc.d ${pkgdir}/etc/rc.d/imapd + install -D -m 755 ${srcdir}/imapd-ssl.rc.d ${pkgdir}/etc/rc.d/imapd-ssl + install -D -m 755 ${srcdir}/pop3d.rc.d ${pkgdir}/etc/rc.d/pop3d + install -D -m 755 ${srcdir}/pop3d-ssl.rc.d ${pkgdir}/etc/rc.d/pop3d-ssl + install -D -m 644 ${srcdir}/courier-imap.conf.d ${pkgdir}/etc/conf.d/courier-imap +} diff --git a/community-testing/courier-imap/courier-imap.conf.d b/community-testing/courier-imap/courier-imap.conf.d new file mode 100644 index 000000000..66049470d --- /dev/null +++ b/community-testing/courier-imap/courier-imap.conf.d @@ -0,0 +1,18 @@ +# +# Parameters to be passed to courier-imap +# +# +# Select the service you want started with courier-imap +# +# Available options : +# imapd pop3d imapd-ssl pop3d-ssl +# +CI_DAEMONS="imapd pop3d imapd-ssl pop3d-ssl" + +# If you want authdaemond to be automatically started and +# stopped by courier-imap, set this to "true" +AUTO_AUTHDAEMON="false" + +# Courier will start this many seconds after autodaemond if +# AUTO_AUTHDAEMON is set to "true" +AUTO_AUTHDAEMON_LAG=2 diff --git a/community-testing/courier-imap/courier-imap.install b/community-testing/courier-imap/courier-imap.install new file mode 100644 index 000000000..9046777a7 --- /dev/null +++ b/community-testing/courier-imap/courier-imap.install @@ -0,0 +1,16 @@ +post_upgrade() { + echo "Please migrate to the new daemon format:" + echo "/etc/rc.d/courier-imap has been split into separate daemons:" + echo " imapd, imads-ssl, pop3d, pop3d-ssl" + echo "This elimates the need for /etc/conf.d/courier-imap" + echo "Update your /etc/rc.conf and manually add the desired daemons. Make sure" + echo "you first start authdaemond before any other of these daemons." + echo "Example prior to this change:" + echo " DAEMONS=( ... courier-imap ...)" + echo "Example after this change:" + echo " DAEMONS=( ... authdaemond imapd imapd-ssl pop3d pop3d-ssl ... )" + echo "This allows better control over the daemons and will generate" + echo "correct entries in /run/daemons" + echo "An old configuration will keep working but please do migrate in time" + echo "as support for this will be removed some time in 2012." +} diff --git a/community-testing/courier-imap/courier-imap.pam b/community-testing/courier-imap/courier-imap.pam new file mode 100644 index 000000000..fa52db541 --- /dev/null +++ b/community-testing/courier-imap/courier-imap.pam @@ -0,0 +1,5 @@ +#%PAM-1.0 +auth required pam_unix.so nullok +account required pam_unix.so +password required pam_unix.so +session required pam_unix.so diff --git a/community-testing/courier-imap/courier-imap.rc.d b/community-testing/courier-imap/courier-imap.rc.d new file mode 100644 index 000000000..8876fe401 --- /dev/null +++ b/community-testing/courier-imap/courier-imap.rc.d @@ -0,0 +1,62 @@ +#!/bin/bash + +CI_DAEMONS= +[ -f /etc/conf.d/courier-imap ] && . /etc/conf.d/courier-imap +[ -z $AUTO_AUTHDAEMON_LAG ] && AUTO_AUTHDAEMON_LAG=2 +[ -z $AUTO_AUTHDAEMON ] && AUTO_AUTHDAEMON="false" + +. /etc/rc.conf +. /etc/rc.d/functions + +case "$1" in + start) + + [ -d /var/run/courier ] || mkdir -p /var/run/courier + chown courier:courier /var/run/courier + + if [ "$AUTO_AUTHDAEMON" == "true" ]; then + /etc/rc.d/authdaemond start + sleep ${AUTO_AUTHDAEMON_LAG} + fi + if ck_daemon authdaemond; then + echo "ERROR: authdaemond is not running" + stat_fail + exit 1 + fi + for daemon in $CI_DAEMONS; do + stat_busy "Starting Courier ${daemon}" + /usr/lib/courier-imap/${daemon}.rc start + if [ $? -gt 0 ]; then + stat_fail + else + add_daemon $daemon + stat_done + fi + done + ;; + stop) + for daemon in $CI_DAEMONS; do + stat_busy "Stopping Courier ${daemon}" + /usr/lib/courier-imap/$daemon.rc stop > /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + rm_daemon $daemon + stat_done + fi + done + if [ "$AUTO_AUTHDAEMON" == "true" ]; then + /etc/rc.d/authdaemond stop + fi + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 +~ +~ diff --git a/community-testing/courier-imap/imapd-ssl.rc.d b/community-testing/courier-imap/imapd-ssl.rc.d new file mode 100644 index 000000000..6730d452c --- /dev/null +++ b/community-testing/courier-imap/imapd-ssl.rc.d @@ -0,0 +1,47 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +case "$1" in + start) + + [ -d /var/run/courier ] || mkdir -p /var/run/courier + chown courier:courier /var/run/courier + + if ck_daemon authdaemond; then + echo "ERROR: authdaemond is not running" + stat_fail + exit 1 + fi + + stat_busy "Starting Courier imapd-ssl" + /usr/lib/courier-imap/imapd-ssl.rc start + if [ $? -gt 0 ]; then + stat_fail + else + add_daemon imapd-ssl + stat_done + fi + ;; + stop) + stat_busy "Stopping Courier imapd-ssl" + /usr/lib/courier-imap/imapd-ssl.rc stop > /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + rm_daemon imapd-ssl + stat_done + fi + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 +~ +~ diff --git a/community-testing/courier-imap/imapd.rc.d b/community-testing/courier-imap/imapd.rc.d new file mode 100644 index 000000000..867b52b78 --- /dev/null +++ b/community-testing/courier-imap/imapd.rc.d @@ -0,0 +1,47 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +case "$1" in + start) + + [ -d /var/run/courier ] || mkdir -p /var/run/courier + chown courier:courier /var/run/courier + + if ck_daemon authdaemond; then + echo "ERROR: authdaemond is not running" + stat_fail + exit 1 + fi + + stat_busy "Starting Courier imapd" + /usr/lib/courier-imap/imapd.rc start + if [ $? -gt 0 ]; then + stat_fail + else + add_daemon imapd + stat_done + fi + ;; + stop) + stat_busy "Stopping Courier imapd" + /usr/lib/courier-imap/imapd.rc stop > /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + rm_daemon imapd + stat_done + fi + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 +~ +~ diff --git a/community-testing/courier-imap/pop3d-ssl.rc.d b/community-testing/courier-imap/pop3d-ssl.rc.d new file mode 100644 index 000000000..aab0f6a95 --- /dev/null +++ b/community-testing/courier-imap/pop3d-ssl.rc.d @@ -0,0 +1,47 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +case "$1" in + start) + + [ -d /var/run/courier ] || mkdir -p /var/run/courier + chown courier:courier /var/run/courier + + if ck_daemon authdaemond; then + echo "ERROR: authdaemond is not running" + stat_fail + exit 1 + fi + + stat_busy "Starting Courier pop3d-ssl" + /usr/lib/courier-imap/pop3d-ssl.rc start + if [ $? -gt 0 ]; then + stat_fail + else + add_daemon pop3d-ssl + stat_done + fi + ;; + stop) + stat_busy "Stopping Courier pop3d-ssl" + /usr/lib/courier-imap/pop3d-ssl.rc stop > /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + rm_daemon pop3d-ssl + stat_done + fi + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 +~ +~ diff --git a/community-testing/courier-imap/pop3d.rc.d b/community-testing/courier-imap/pop3d.rc.d new file mode 100644 index 000000000..7b73c5a7a --- /dev/null +++ b/community-testing/courier-imap/pop3d.rc.d @@ -0,0 +1,47 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +case "$1" in + start) + + [ -d /var/run/courier ] || mkdir -p /var/run/courier + chown courier:courier /var/run/courier + + if ck_daemon authdaemond; then + echo "ERROR: authdaemond is not running" + stat_fail + exit 1 + fi + + stat_busy "Starting Courier pop3d" + /usr/lib/courier-imap/pop3d.rc start + if [ $? -gt 0 ]; then + stat_fail + else + add_daemon pop3d + stat_done + fi + ;; + stop) + stat_busy "Stopping Courier pop3d" + /usr/lib/courier-imap/pop3d.rc stop > /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + rm_daemon pop3d + stat_done + fi + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 +~ +~ diff --git a/community-testing/courier-maildrop/PKGBUILD b/community-testing/courier-maildrop/PKGBUILD new file mode 100644 index 000000000..a2cd7edb0 --- /dev/null +++ b/community-testing/courier-maildrop/PKGBUILD @@ -0,0 +1,46 @@ +# $Id: PKGBUILD 57086 2009-10-31 13:13:36Z allan $ +# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com> +# Contributor: tobias <tobias@archlinux.org> +# Contributor: Tobias Kieslich <tobias@justdreams.de> + +pkgname=courier-maildrop +_srcname=maildrop +pkgver=2.5.4 +pkgrel=3 +pkgdesc="mail delivery agent - procmail like but nicer syntax" +arch=('i686' 'x86_64') +license=('GPL2') +url="http://courier-mta.org/maildrop/" +depends=('courier-authlib>=0.63.0' 'gamin' 'pcre' 'gdbm') +conflicts=('courier-mta') +options=(!libtool) +source=(http://downloads.sourceforge.net/project/courier/${_srcname}/${pkgver}/${_srcname}-${pkgver}.tar.bz2) +md5sums=('5770345cdceae28bdc24809e7adb3426') + +build() { + cd ${srcdir}/${_srcname}-${pkgver} + + ./configure --prefix=/usr \ + --sysconfdir=/etc/courier \ + --localstatedir=/var \ + --mandir=/usr/share/man \ + --with-db=gdbm \ + --with-devel + make LDFLAGS+=-lstdc++ +} + +package() { + cd ${srcdir}/${_srcname}-${pkgver} + + make DESTDIR=${pkgdir} install + chmod u+s ${pkgdir}/usr/bin/maildrop + cd ${pkgdir}/usr/share/maildrop/html + for files in *; do + install -Dm644 ${files} ${pkgdir}/usr/share/htmldoc/${files} + done + rm -rf ${pkgdir}/usr/share/maildrop + + # docs say we can remove .a files after make + cd ${pkgdir} + find ${pkgdir} -name '*\.a' -exec rm -f {} \; +} diff --git a/community-testing/courier-mta/PKGBUILD b/community-testing/courier-mta/PKGBUILD new file mode 100644 index 000000000..82df2e28f --- /dev/null +++ b/community-testing/courier-mta/PKGBUILD @@ -0,0 +1,143 @@ +# $Id: PKGBUILD 75460 2010-04-01 16:56:22Z giovanni $ +# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com> +# Contributor: tobias <tobias@archlinux.org> +# Contributor: Tobias Kieslich <tobias@justdreams.de> + +# ----------- NOTE TO ALL USERS ------------ +# Go read http://www.courier-mta.org/install.html b4 running or building courier + +pkgname=courier-mta +pkgver=0.66.3 +pkgrel=5 +pkgdesc="IMAP(s)/POP3(s) and SMTP Server with ML-manager, webmail and webconfig" +arch=(i686 x86_64) +license=('GPL2') +backup=('etc/courier/imapd.cnf' 'etc/courier/pop3d.cnf' \ + 'etc/courier/imapd' 'etc/courier/imapd-ssl' \ + 'etc/courier/pop3d' 'etc/courier/pop3d-ssl' \ + 'etc/courier/courierd' 'etc/courier/sqwebmaild' \ + 'etc/courier/esmtpd' 'etc/courier/esmtpd-ssl' \ + 'etc/courier/esmtpd.cnf' 'etc/courier/esmtpd-msa' \ + 'etc/courier/webadmin/password' 'etc/courier/esmtpauthclient' \ + 'etc/conf.d/courier-mta') +url="http://courier-mta.org" +depends=('courier-authlib>=0.63.0' 'gamin' 'gcc-libs' 'gdbm' 'pcre' 'mime-types' 'ca-certificates') +optdepends=('libldap') +makedepends=('apache>=2.2.9-3' 'pam>=1.0.1-2' 'expect' 'gnupg' 'libldap' 'gamin') +provides=('smtp-server' 'smtp-forwarder' 'imap-server' 'pop3-server' 'courier-imap' 'courier-maildrop') +conflicts=('courier-imap' 'smtp-forwarder' 'smtp-server' 'imap-server' 'courier-maildrop' 'ucspi-tcp') +options=('!libtool') +install=courier-mta.install +source=(http://downloads.sourceforge.net/project/courier/courier/${pkgver}/courier-${pkgver}.tar.bz2 + courier.rc.d + courier-mta.rc.d + courier-mta.conf.d + esmtpd.rc.d + esmtpd-ssl.rc.d + esmtpd-msa.rc.d + imapd.rc.d + imapd-ssl.rc.d + pop3d.rc.d + pop3d-ssl.rc.d + webmaild.rc.d) +md5sums=('3b28f14afe3db09b74b4845323c3e982' + '9055ba622efd37603186ce1f37277224' + '5cbeb5c323706058e545f74ad7752ebe' + 'f3ff70b40c7a1f7a017e8c4cc4d92f4f' + 'caabce8c7b66296b602316aa5af5d4c5' + '1c8b1b66ebafa4ff09ffc0106a9dc82c' + 'dae6c7d5ff0cce0fba5729fedf2a9051' + 'd0cc5eab5d3e0ec33dadd0392421f63e' + '5873a96aa149edda281730010fb4db34' + 'faa09e06a5dc41ee89ab1f8fa6886b63' + '520501daa66c0a94f2e9844ce4919a09' + '33a93f400c3e87bcd207295b7d7333ca') + +# MIGRATION NOTE: +# In 2012, support for courier-mta.conf.d and courier-mta.rc.d will be removed. +# Remove those files and this note and also courier-mta.install + +build() { + cd ${srcdir}/courier-${pkgver} + + # fix a tiny bug + sed -i -e \ + 's|--with-authchangepwdir=/var/tmp/dev/null|--with-authchangepwdir=$libexecdir/authlib|' \ + configure && chmod 755 configure + + # courier is more about configuring than compiling :-), lets start the mess + ./configure --prefix=/usr \ + --sysconfdir=/etc/courier \ + --libdir=/usr/lib \ + --libexecdir=/usr/lib \ + --localstatedir=/var/spool/courier \ + --disable-root-check \ + --enable-unicode \ + --enable-workarounds-for-imap-client-bugs \ + --enable-mimetypes=/etc/mime.types \ + --with-piddir=/var/run/courier \ + --with-locking-method=lockf \ + --with-trashquota \ + --with-db=gdbm \ + --with-trashquota \ + --with-random=/dev/urandom --without-ispell \ + --with-mailuser=courier --with-mailgroup=courier \ + --with-certdb=/etc/ssl/certs/ + make +} + +package() { + cd ${srcdir}/courier-${pkgver} + + #chown mail.mail ${pkgdir}/var/spool/courier + make DESTDIR=${pkgdir} install + # docs say we can get rid of those after make + find ${pkgdir} -name '*\.a' -exec -rm -f {} \; + # install the perftest-script for testings + install -Dm755 courier/perftest1 ${pkgdir}/usr/lib/courier/perftest1 + ############################################################################### + # this is what usually "make install-configure" does + # *.dist files get rid of "dist" + for distfile in ${pkgdir}/etc/courier/*.dist; do + mv ${distfile} ${pkgdir}/etc/courier/$(basename ${distfile} .dist) + done + # install pam files according to the layout used in Archlinux + for pamfile in ${pkgdir}/etc/courier/*.authpam; do + sed -i 's|/lib/security/pam_pwdb\.so|pam_unix.so|' ${pamfile} + #echo "password required pam_unix.so" >> $pamfile + install -Dm 644 ${pamfile} \ + ${pkgdir}/etc/pam.d/$(basename ${pamfile} .authpam | sed "s/d$//") + rm -f ${pamfile} + done + + ############################################################################### + # Arch Linux specific tweaks to make things easier for the user + # create passwordfile for webadmin -> standard archwebadmin + sed -i 's|/etc/courier/webadmin/password|$(DESTDIR)/etc/courier/webadmin/password|g' Makefile + yes "archwebadmin" | make DESTDIR=${pkgdir} install-webadmin-password + # arch specific scripts + install -Dm 644 ${srcdir}/${pkgname}.conf.d ${pkgdir}/etc/conf.d/courier-mta + install -Dm 755 ${srcdir}/${pkgname}.rc.d ${pkgdir}/etc/rc.d/courier-mta + install -D -m 755 ${srcdir}/courier.rc.d ${pkgdir}/etc/rc.d/courier + install -D -m 755 ${srcdir}/imapd.rc.d ${pkgdir}/etc/rc.d/imapd + install -D -m 755 ${srcdir}/imapd-ssl.rc.d ${pkgdir}/etc/rc.d/imapd-ssl + install -D -m 755 ${srcdir}/pop3d.rc.d ${pkgdir}/etc/rc.d/pop3d + install -D -m 755 ${srcdir}/pop3d-ssl.rc.d ${pkgdir}/etc/rc.d/pop3d-ssl + install -D -m 755 ${srcdir}/esmtpd.rc.d ${pkgdir}/etc/rc.d/esmtpd + install -D -m 755 ${srcdir}/esmtpd-ssl.rc.d ${pkgdir}/etc/rc.d/esmtpd-ssl + install -D -m 755 ${srcdir}/esmtpd-msa.rc.d ${pkgdir}/etc/rc.d/esmtpd-msa + install -D -m 755 ${srcdir}/webmaild.rc.d ${pkgdir}/etc/rc.d/webmaild + #install -Dm 655 ${srcdir}/courier-webmail-cleancache.cron.hourly \ + # ${pkgdir}/etc/cron.hourly/courier-webmail-cleancache + # bug http://bugs.archlinux.org/task/5154 + find ${pkgdir}/usr/lib -name '*\.a' -exec rm -f {} \; + # fixing some permissions + chown -R courier:courier ${pkgdir}/usr/lib/courier/modules + rm -r ${pkgdir}/var/run + #chown -R courier:courier ${pkgdir}/var/run/courier + chown root:root ${pkgdir}/usr/{.,bin,lib,sbin,share} + # make a link to /usr/sbin/sendmail + install -dm 755 ${pkgdir}/usr/sbin + cd ${pkgdir}/usr/sbin + ln -s ../bin/sendmail ./sendmail +} diff --git a/community-testing/courier-mta/courier-mta.conf.d b/community-testing/courier-mta/courier-mta.conf.d new file mode 100644 index 000000000..5856a5cda --- /dev/null +++ b/community-testing/courier-mta/courier-mta.conf.d @@ -0,0 +1,18 @@ +# +# Parameters to be passed to courier-imap +# +# +# Select the service you want started with courier-imap +# +# Available options : +# esmtpd imapd pop3d esmtpd-ssl imapd-ssl pop3d-ssl webmaild +# +CI_DAEMONS="courier esmtpd imapd pop3d" + +# If you want authdaemond to be automatically started and +# stopped by courier-imap, set this to "true" +AUTO_AUTHDAEMON="false" + +# Courier will start this many seconds after autodaemond if +# AUTO_AUTHDAEMON is set to "true" +AUTO_AUTHDAEMON_LAG=2 diff --git a/community-testing/courier-mta/courier-mta.install b/community-testing/courier-mta/courier-mta.install new file mode 100644 index 000000000..e835e3efd --- /dev/null +++ b/community-testing/courier-mta/courier-mta.install @@ -0,0 +1,61 @@ +# arg 1: the new package version +post_install() { + cat << EOM + --> if you are using LDAP services to provide lookup in sqwebmail or aliases + --> then you have to install: + libldap +EOM + # create the *.dat files + makealiases + makesmtpaccess +} + +pre_upgrade() { + pre_remove $1 +} + +# arg 1: the new package version +# arg 2: the old package version +post_upgrade() { + post_install $1 + echo "Please migrate to the new daemon format:" + echo "/etc/rc.d/courier-imap has been split into separate daemons:" + echo " imapd, imads-ssl, pop3d, pop3d-ssl" + echo "This elimates the need for /etc/conf.d/courier-imap" + echo "Update your /etc/rc.conf and manually add the desired daemons. Make sure" + echo "you first start authdaemond before any other of these daemons." + echo "Example prior to this change:" + echo " DAEMONS=( ... courier-mta ...)" + echo "Example after this change:" + echo " DAEMONS=( ... authdaemond courier esmtpd esmtpd-ssl imapd imapd-ssl" + echo " pop3d pop3d-ssl webmaild ... )" + echo "This allows better control over the daemons and will generate" + echo "correct entries in /run/daemons" + echo "An old configuration will keep working but please do migrate in time" + echo "as support for this will be removed some time in 2012." +} + + +pre_remove() { + # manual backup, since courier is always processing the whole directory + # - so it would process "system" AND "system.pacsave" -> bad + [ ! -d /etc/courier/_backup ] && mkdir /etc/courier/_backup + cp /etc/courier/aliases/system /etc/courier/_backup/aliases.system + cp /etc/courier/smtpaccess/default /etc/courier/_backup/smtpaccess.default + cat << EOM + --> the /etc/courier/aliases/system and the /etc/courier/smtpaccess/default + --> files have been backed up to /etc/courier/_backup since the *.pacsave + --> files cannot stay in place. Read about couriers alias handling from the + --> documentation! +EOM +} + +# arg 1: the old package version +post_remove() { + /bin/true +} + +op=$1 +shift + +$op $* diff --git a/community-testing/courier-mta/courier-mta.rc.d b/community-testing/courier-mta/courier-mta.rc.d new file mode 100644 index 000000000..416946a5a --- /dev/null +++ b/community-testing/courier-mta/courier-mta.rc.d @@ -0,0 +1,60 @@ +#!/bin/bash + +# source application-specific settings +[ -f /etc/conf.d/courier-mta ] && . /etc/conf.d/courier-mta +[ -z $AUTO_AUTHDAEMON_LAG ] && AUTO_AUTHDAEMON_LAG=2 +[ -z $AUTO_AUTHDAEMON ] && AUTO_AUTHDAEMON="false" + +. /etc/rc.conf +. /etc/rc.d/functions + +case "$1" in + start) + + [ -d /var/run/courier ] || mkdir -p /var/run/courier + chown courier:courier /var/run/courier + + if [ "$AUTO_AUTHDAEMON" == "true" ]; then + /etc/rc.d/authdaemond start + sleep ${AUTO_AUTHDAEMON_LAG} + fi + if ck_daemon authdaemond; then + echo "ERROR: authdaemond is not running" + stat_fail + exit 1 + fi + for daemon in $CI_DAEMONS; do + stat_busy "Starting Courier ${daemon}" + /usr/sbin/${daemon} start + if [ $? -gt 0 ]; then + stat_fail + else + add_daemon $daemon + stat_done + fi + done + ;; + stop) + for daemon in $CI_DAEMONS; do + stat_busy "Stopping Courier ${daemon}" + /usr/sbin/${daemon} stop > /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + rm_daemon $daemon + stat_done + fi + done + if [ "$AUTO_AUTHDAEMON" == "true" ]; then + /etc/rc.d/authdaemond stop + fi + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 diff --git a/community-testing/courier-mta/courier-webmail-cleancache.cron.hourly b/community-testing/courier-mta/courier-webmail-cleancache.cron.hourly new file mode 100644 index 000000000..6c541321e --- /dev/null +++ b/community-testing/courier-mta/courier-webmail-cleancache.cron.hourly @@ -0,0 +1,6 @@ +#!/bin/sh + +# Cleans the cache of the sqwebmail server +if [ -x /usr/share/sqwebmail/cleancache.pl ]; then + su -c "/usr/share/sqwebmail/cleancache.pl" bin +fi diff --git a/community-testing/courier-mta/courier.rc.d b/community-testing/courier-mta/courier.rc.d new file mode 100644 index 000000000..7c581a24a --- /dev/null +++ b/community-testing/courier-mta/courier.rc.d @@ -0,0 +1,45 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +case "$1" in + start) + + [ -d /var/run/courier ] || mkdir -p /var/run/courier + chown courier:courier /var/run/courier + + if ck_daemon authdaemond; then + echo "ERROR: authdaemond is not running" + stat_fail + exit 1 + fi + + stat_busy "Starting Courier daemon" + /usr/sbin/courier start + if [ $? -gt 0 ]; then + stat_fail + else + add_daemon courier + stat_done + fi + ;; + stop) + stat_busy "Stopping Courier daemon" + /usr/sbin/courier stop > /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + rm_daemon courier + stat_done + fi + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 diff --git a/community-testing/courier-mta/esmtpd-msa.rc.d b/community-testing/courier-mta/esmtpd-msa.rc.d new file mode 100644 index 000000000..31458aca8 --- /dev/null +++ b/community-testing/courier-mta/esmtpd-msa.rc.d @@ -0,0 +1,45 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +case "$1" in + start) + + [ -d /var/run/courier ] || mkdir -p /var/run/courier + chown courier:courier /var/run/courier + + if ck_daemon authdaemond; then + echo "ERROR: authdaemond is not running" + stat_fail + exit 1 + fi + + stat_busy "Starting Courier esmtpd-msa" + /usr/sbin/esmtpd-msa start + if [ $? -gt 0 ]; then + stat_fail + else + add_daemon esmtpd-msa + stat_done + fi + ;; + stop) + stat_busy "Stopping Courier esmtpd-msa" + /usr/sbin/esmtpd-msa stop > /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + rm_daemon esmtpd-msa + stat_done + fi + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 diff --git a/community-testing/courier-mta/esmtpd-ssl.rc.d b/community-testing/courier-mta/esmtpd-ssl.rc.d new file mode 100644 index 000000000..2a13be03f --- /dev/null +++ b/community-testing/courier-mta/esmtpd-ssl.rc.d @@ -0,0 +1,45 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +case "$1" in + start) + + [ -d /var/run/courier ] || mkdir -p /var/run/courier + chown courier:courier /var/run/courier + + if ck_daemon authdaemond; then + echo "ERROR: authdaemond is not running" + stat_fail + exit 1 + fi + + stat_busy "Starting Courier esmtpd-ssl" + /usr/sbin/esmtpd-ssl start + if [ $? -gt 0 ]; then + stat_fail + else + add_daemon esmtpd-ssl + stat_done + fi + ;; + stop) + stat_busy "Stopping Courier esmtpd-ssl" + /usr/sbin/esmtpd-ssl stop > /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + rm_daemon esmtpd-ssl + stat_done + fi + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 diff --git a/community-testing/courier-mta/esmtpd.rc.d b/community-testing/courier-mta/esmtpd.rc.d new file mode 100644 index 000000000..dbaa9d680 --- /dev/null +++ b/community-testing/courier-mta/esmtpd.rc.d @@ -0,0 +1,45 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +case "$1" in + start) + + [ -d /var/run/courier ] || mkdir -p /var/run/courier + chown courier:courier /var/run/courier + + if ck_daemon authdaemond; then + echo "ERROR: authdaemond is not running" + stat_fail + exit 1 + fi + + stat_busy "Starting Courier esmtpd" + /usr/sbin/esmtpd start + if [ $? -gt 0 ]; then + stat_fail + else + add_daemon esmtpd + stat_done + fi + ;; + stop) + stat_busy "Stopping Courier esmtpd" + /usr/sbin/esmtpd stop > /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + rm_daemon esmtpd + stat_done + fi + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 diff --git a/community-testing/courier-mta/imapd-ssl.rc.d b/community-testing/courier-mta/imapd-ssl.rc.d new file mode 100644 index 000000000..3dc74cfdf --- /dev/null +++ b/community-testing/courier-mta/imapd-ssl.rc.d @@ -0,0 +1,45 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +case "$1" in + start) + + [ -d /var/run/courier ] || mkdir -p /var/run/courier + chown courier:courier /var/run/courier + + if ck_daemon authdaemond; then + echo "ERROR: authdaemond is not running" + stat_fail + exit 1 + fi + + stat_busy "Starting Courier imapd-ssl" + /usr/sbin/imapd-ssl start + if [ $? -gt 0 ]; then + stat_fail + else + add_daemon imapd-ssl + stat_done + fi + ;; + stop) + stat_busy "Stopping Courier imapd-ssl" + /usr/sbin/imapd-ssl stop > /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + rm_daemon imapd-ssl + stat_done + fi + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 diff --git a/community-testing/courier-mta/imapd.rc.d b/community-testing/courier-mta/imapd.rc.d new file mode 100644 index 000000000..8bce59f6c --- /dev/null +++ b/community-testing/courier-mta/imapd.rc.d @@ -0,0 +1,45 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +case "$1" in + start) + + [ -d /var/run/courier ] || mkdir -p /var/run/courier + chown courier:courier /var/run/courier + + if ck_daemon authdaemond; then + echo "ERROR: authdaemond is not running" + stat_fail + exit 1 + fi + + stat_busy "Starting Courier imapd" + /usr/sbin/imapd start + if [ $? -gt 0 ]; then + stat_fail + else + add_daemon imapd + stat_done + fi + ;; + stop) + stat_busy "Stopping Courier imapd" + /usr/sbin/imapd stop > /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + rm_daemon imapd + stat_done + fi + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 diff --git a/community-testing/courier-mta/pop3d-ssl.rc.d b/community-testing/courier-mta/pop3d-ssl.rc.d new file mode 100644 index 000000000..6e7ae4e12 --- /dev/null +++ b/community-testing/courier-mta/pop3d-ssl.rc.d @@ -0,0 +1,45 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +case "$1" in + start) + + [ -d /var/run/courier ] || mkdir -p /var/run/courier + chown courier:courier /var/run/courier + + if ck_daemon authdaemond; then + echo "ERROR: authdaemond is not running" + stat_fail + exit 1 + fi + + stat_busy "Starting Courier pop3d-ssl" + /usr/sbin/pop3d-ssl start + if [ $? -gt 0 ]; then + stat_fail + else + add_daemon pop3d-ssl + stat_done + fi + ;; + stop) + stat_busy "Stopping Courier pop3d-ssl" + /usr/sbin/pop3d-ssl stop > /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + rm_daemon pop3d-ssl + stat_done + fi + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 diff --git a/community-testing/courier-mta/pop3d.rc.d b/community-testing/courier-mta/pop3d.rc.d new file mode 100644 index 000000000..25f8379ba --- /dev/null +++ b/community-testing/courier-mta/pop3d.rc.d @@ -0,0 +1,45 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +case "$1" in + start) + + [ -d /var/run/courier ] || mkdir -p /var/run/courier + chown courier:courier /var/run/courier + + if ck_daemon authdaemond; then + echo "ERROR: authdaemond is not running" + stat_fail + exit 1 + fi + + stat_busy "Starting Courier pop3d" + /usr/sbin/pop3d start + if [ $? -gt 0 ]; then + stat_fail + else + add_daemon pop3d + stat_done + fi + ;; + stop) + stat_busy "Stopping Courier pop3d" + /usr/sbin/pop3d stop > /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + rm_daemon pop3d + stat_done + fi + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 diff --git a/community-testing/courier-mta/webmaild.rc.d b/community-testing/courier-mta/webmaild.rc.d new file mode 100644 index 000000000..835cc2bf0 --- /dev/null +++ b/community-testing/courier-mta/webmaild.rc.d @@ -0,0 +1,45 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +case "$1" in + start) + + [ -d /var/run/courier ] || mkdir -p /var/run/courier + chown courier:courier /var/run/courier + + if ck_daemon authdaemond; then + echo "ERROR: authdaemond is not running" + stat_fail + exit 1 + fi + + stat_busy "Starting Courier webmaild" + /usr/sbin/webmaild start + if [ $? -gt 0 ]; then + stat_fail + else + add_daemon webmaild + stat_done + fi + ;; + stop) + stat_busy "Stopping Courier webmaild" + /usr/sbin/webmaild stop > /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + rm_daemon webmaild + stat_done + fi + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 diff --git a/community-testing/freeradius/PKGBUILD b/community-testing/freeradius/PKGBUILD new file mode 100644 index 000000000..bb36556ba --- /dev/null +++ b/community-testing/freeradius/PKGBUILD @@ -0,0 +1,44 @@ +# $Id: PKGBUILD 59422 2011-11-24 17:04:51Z stephane $ +# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> +# Contributor: Jason R Begley (jayray@digitalgoat.com> + +pkgname=freeradius +pkgver=2.1.12 +pkgrel=2 +pkgdesc="The premier open source RADIUS server" +arch=('i686' 'x86_64') +url="http://www.freeradius.org/" +license=("GPL") +depends=('openssl' 'krb5' 'pth' 'libldap>=2.4.18' 'net-snmp' 'pam' + 'postgresql-libs>=9.0.3' 'libtool' 'libmysqlclient' 'gdbm' 'shadow') +optdepends=('libpcap' 'unixodbc' 'python2') +options=('!libtool' 'emptydirs' '!makeflags') +install=$pkgname.install +source=(ftp://ftp.freeradius.org/pub/radius/freeradius-server-$pkgver.tar.bz2 + radiusd + krb5-build-fix.patch) +md5sums=('862d3a2c11011e61890ba84fa636ed8c' + 'f1a6530b1b69d2fa793aa45b2de379bb' + 'c6a61de7576933f59154a53bfc12a2d2') + +build() { + cd $srcdir/freeradius-server-$pkgver + export CFLAGS="$CFLAGS -fno-strict-aliasing" + sed -i 's/ -DKRB5_DEPRECATED//' src/modules/rlm_krb5/Makefile.in + patch -p1 <$srcdir/krb5-build-fix.patch + ./configure --with-system-libtool --with-system-libltdl \ + --prefix=/usr --enable-heimdal-krb5 \ + --localstatedir=/var \ + --sysconfdir=/etc \ + --libdir=/usr/lib/freeradius + make +} + +package() { + cd $srcdir/freeradius-server-$pkgver + make install R=$pkgdir + install -D -m755 ../radiusd $pkgdir/etc/rc.d/radiusd + chmod o+r $pkgdir/etc/raddb/* + mv $pkgdir/etc/raddb $pkgdir/etc/raddb.default + rm -rf $pkgdir/var/run +} diff --git a/community-testing/freeradius/freeradius.install b/community-testing/freeradius/freeradius.install new file mode 100644 index 000000000..c3b9f9415 --- /dev/null +++ b/community-testing/freeradius/freeradius.install @@ -0,0 +1,22 @@ +post_install() { + groupadd -r radiusd + useradd -r -m -d /var/lib/radiusd -g radiusd -s /bin/false radiusd + + touch /var/log/radius/radius.log + chown -R radiusd.radiusd /var/log/radius/radius.log + + [ -d /etc/raddb ] || cp -a /etc/raddb.default /etc/raddb + + /bin/true +} + +pre_remove() { + /etc/rc.d/radiusd stop + /bin/true +} + +post_remove() { + userdel radiusd + groupdel radiusd + /bin/true +} diff --git a/community-testing/freeradius/krb5-build-fix.patch b/community-testing/freeradius/krb5-build-fix.patch new file mode 100644 index 000000000..11dae7090 --- /dev/null +++ b/community-testing/freeradius/krb5-build-fix.patch @@ -0,0 +1,21 @@ +diff -wbBur freeradius-server-2.1.10/src/modules/rlm_krb5/rlm_krb5.c freeradius-server-2.1.10.my/src/modules/rlm_krb5/rlm_krb5.c +--- freeradius-server-2.1.10/src/modules/rlm_krb5/rlm_krb5.c 2010-09-28 11:03:56.000000000 +0000 ++++ freeradius-server-2.1.10.my/src/modules/rlm_krb5/rlm_krb5.c 2011-04-29 09:26:10.000000000 +0000 +@@ -375,7 +375,7 @@ + * Heimdal krb5 verification + */ + radlog(L_AUTH, "rlm_krb5: Parsed name is: %s@%s\n", +- *userP->name.name_string.val, ++ "-" /* *userP->name.name_string.val*/, + userP->realm); + + krb5_cc_default(context, &id); +@@ -390,7 +390,7 @@ + + radlog(L_AUTH, "rlm_krb5: failed verify_user: %s (%s@%s )", + error_message(ret), +- *userP->name.name_string.val, ++ "-" /* *userP->name.name_string.val */, + userP->realm); + + return RLM_MODULE_REJECT; diff --git a/community-testing/freeradius/radiusd b/community-testing/freeradius/radiusd new file mode 100755 index 000000000..bf872b6f2 --- /dev/null +++ b/community-testing/freeradius/radiusd @@ -0,0 +1,43 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +PID=`pidof -o %PPID /usr/sbin/radiusd` +case "$1" in + start) + stat_busy "Starting radiusd Server" + + [ -d /var/run/radiusd ] || mkdir -p /var/run/radiusd + [ -f /var/run/radiusd/radiusd.pid ] || touch /var/run/radiusd/radiusd.pid + chown -R radiusd.radiusd /var/run/radiusd + + [ -z "$PID" ] && /usr/sbin/radiusd + if [ $? -gt 0 ]; then + stat_fail + else + echo $PID > /var/run/radiusd.pid + add_daemon radiusd + stat_done + fi + ;; + stop) + stat_busy "Stopping radiusd Server" + [ ! -z "$PID" ] && kill $PID &> /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + rm /var/run/radiusd.pid + rm_daemon radiusd + stat_done + fi + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 diff --git a/community-testing/librep/PKGBUILD b/community-testing/librep/PKGBUILD new file mode 100644 index 000000000..b84b8b68e --- /dev/null +++ b/community-testing/librep/PKGBUILD @@ -0,0 +1,33 @@ +# $Id: PKGBUILD 59424 2011-11-24 17:05:01Z stephane $ +# Maintainer: stefan-husmann@t-online.de +# Contributor: Juergen Hoetzel <juergen@archlinux.org> + +pkgname=librep +pkgver=0.92.1b +pkgrel=2 +pkgdesc="A Lisp system for UNIX" +license=('GPL2') +arch=('i686' 'x86_64') +url="http://sawfish.wikia.com/wiki/Librep" +depends=('gmp' 'gdbm' 'libffi') +install=${pkgname}.install +options=('!emptydirs' '!libtool') +source=(http://download.tuxfamily.org/${pkgname}/${pkgname}-${pkgver}.tar.xz) +sha1sums=('f75e1197646bbf1594fc4765802aab0bffe1bb02') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --disable-static \ + --prefix=/usr \ + --libexecdir=/usr/lib/$pkgname \ + --with-readline + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + + # create some directories or make install fails +# install -d $pkgdir/usr/{share/aclocal,lib/pkgconfig} + make DESTDIR="${pkgdir}" install +} diff --git a/community-testing/librep/librep.install b/community-testing/librep/librep.install new file mode 100644 index 000000000..7e1b990bf --- /dev/null +++ b/community-testing/librep/librep.install @@ -0,0 +1,18 @@ +info_dir=usr/share/info +info_files=(librep.info) + +post_install() { + for f in ${info_files[@]}; do + install-info ${info_dir}/$f ${info_dir}/dir 2> /dev/null + done +} + +post_upgrade() { + post_install +} + +pre_remove() { + for f in ${info_files[@]}; do + install-info --delete ${info_dir}/$f ${info_dir}/dir 2> /dev/null + done +} diff --git a/community-testing/mailutils/PKGBUILD b/community-testing/mailutils/PKGBUILD new file mode 100644 index 000000000..ce4c6c567 --- /dev/null +++ b/community-testing/mailutils/PKGBUILD @@ -0,0 +1,46 @@ +# $Id: PKGBUILD 59426 2011-11-24 17:05:12Z stephane $ +# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> +# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com> + +pkgname=mailutils +pkgver=2.2 +pkgrel=4 +pkgdesc="MUA command line tool (mailx)" +arch=(i686 x86_64) +url="http://www.gnu.org/software/mailutils/" +license=('GPL') +depends=('libldap' 'pam' 'gnutls' 'guile') +makedepends=('python2' 'emacs') +optdepends=('python2') +conflicts=('libsieve') +install=mailutils.install +options=(zipman !emptydirs) +source=(http://ftp.gnu.org/gnu/mailutils/mailutils-$pkgver.tar.bz2) +md5sums=('834d2f616b922856127ecfe6c2de7d1a') + +build() { + cd "$srcdir/mailutils-$pkgver" + + py2=`pacman -Q python2 | cut -d\ -f2 | cut -d. -f1-2` + py3=`pacman -Q python | cut -d\ -f2 | cut -d. -f1-2` + + export PYTHON=/usr/bin/python2 + export PYTHON_CONFIG=/usr/bin/python2-config + export CFLAGS="$CFLAGS `pkg-config --cflags python-$py2`" + export LDFLAGS="$LDFLAGS `pkg-config --libs python-$py2`" + + [ -f Makefile ] || ./configure --prefix=/usr --with-gdbm --with-gnutls \ + --libexecdir=/usr/lib/$pkgname --without-fribidi \ + --without-tcp-wrappers +# [ -z "$py3" ] || find -type f -name Makefile -exec sed -i "s|python$py3|python$py2|" {} \; + make -j1 +} + +package() { + cd "$srcdir/mailutils-$pkgver" + make -j1 DESTDIR=$pkgdir install + rm -f $pkgdir/usr/share/info/dir + mv $pkgdir/usr/bin/mail $pkgdir/usr/bin/gnu-mail + mv $pkgdir/usr/share/man/man1/mail.1 $pkgdir/usr/share/man/man1/gnu-mail.1 + chown -R root:root $pkgdir +} diff --git a/community-testing/mailutils/mailutils.install b/community-testing/mailutils/mailutils.install new file mode 100644 index 000000000..03b451b3e --- /dev/null +++ b/community-testing/mailutils/mailutils.install @@ -0,0 +1,20 @@ +infodir=usr/share/info +filelist=(mailutils.info mailutils.info-1 mailutils.info-2) + +post_install() { + [ -x usr/bin/install-info ] || return 0 + for file in ${filelist[@]}; do + install-info $infodir/$file.gz $infodir/dir 2> /dev/null + done +} + +post_upgrade() { + post_install $1 +} + +pre_remove() { + [ -x usr/bin/install-info ] || return 0 + for file in ${filelist[@]}; do + install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null + done +} diff --git a/community-testing/ntop/PKGBUILD b/community-testing/ntop/PKGBUILD new file mode 100644 index 000000000..05e45e745 --- /dev/null +++ b/community-testing/ntop/PKGBUILD @@ -0,0 +1,44 @@ +# $Id: PKGBUILD 59428 2011-11-24 17:05:26Z stephane $ +# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de> +# Contributor: Douglas Soares de Andrade <douglas@archlinux.org> + +pkgname=ntop +pkgver=4.1.0 +pkgrel=2 +pkgdesc='A network traffic probe that shows the network usage.' +arch=('i686' 'x86_64') +url='http://www.ntop.org/' +license=('GPL') +depends=('libevent' 'libpcap' 'gd' 'glib' 'libxml2' 'openssl' 'rrdtool' 'pcre' 'geoip' 'lua') +options=('!libtool' '!makeflags') +install='ntop.install' +source=("http://sourceforge.net/projects/${pkgname}/files/${pkgname}/Stable/${pkgname}-${pkgver}.tar.gz" + 'ntop' + 'ntop.conf.d') +md5sums=('116df99cf548431393991ea15443c52f' + '7b0d7bb57432e768ff387e9f7236f87c' + '6a9371de1dcf31d8ef13a4cf349c02b3') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + + ./autogen.sh --prefix=/usr --sysconfdir=/etc --localstatedir=/var/lib --disable-snmp + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + + make DESTDIR="${pkgdir}" install-recursive + + install -dm0755 -o nobody -g nobody "${pkgdir}/var/lib/ntop" + install -dm0755 -o nobody -g nobody "${pkgdir}/var/lib/ntop/rrd" + + install -Dm0755 "${srcdir}/ntop" "${pkgdir}/etc/rc.d/ntop" + install -Dm0644 "${srcdir}/ntop.conf.d" "${pkgdir}/etc/conf.d/ntop" + + for _f in "${pkgdir}/usr/lib/ntop/plugins/"*.so; do + _plug="$(basename ${_f})" + ln -sf "../../lib${_plug}" "${_f}" + done +} diff --git a/community-testing/ntop/ntop b/community-testing/ntop/ntop new file mode 100755 index 000000000..2f0dbcbdd --- /dev/null +++ b/community-testing/ntop/ntop @@ -0,0 +1,38 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +# source application-specific settings +[ -f /etc/conf.d/ntop ] && . /etc/conf.d/ntop + +case "$1" in + start) + stat_busy "Starting ntop daemon" + /usr/bin/ntop -d ${NTOP_ARGS} 2>&1 >> ${NTOP_LOG} + if [ $? -gt 0 ]; then + stat_fail + else + add_daemon ntop + stat_done + fi + ;; + stop) + stat_busy "Stopping ntop daemon" + killall /usr/bin/ntop &> /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + rm_daemon ntop + stat_done + fi + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 diff --git a/community-testing/ntop/ntop.conf.d b/community-testing/ntop/ntop.conf.d new file mode 100644 index 000000000..28e2a3166 --- /dev/null +++ b/community-testing/ntop/ntop.conf.d @@ -0,0 +1,5 @@ +# Parameters to be passed to ntop. +NTOP_ARGS="-i eth0 -w 3000" + +# Location of the log file. +NTOP_LOG="/var/log/ntop.log" diff --git a/community-testing/ntop/ntop.install b/community-testing/ntop/ntop.install new file mode 100644 index 000000000..8d8063751 --- /dev/null +++ b/community-testing/ntop/ntop.install @@ -0,0 +1,8 @@ +post_install() { + /bin/cat <<EOF +==> Before running the daemon script for the first time, you need to run + ntop as the root user to set an administrator password. +==> If you attempt to run ntop as a daemon without setting a password, a + FATAL ERROR message is generated and ntop stops. +EOF +} diff --git a/community-testing/sage-mathematics/PKGBUILD b/community-testing/sage-mathematics/PKGBUILD new file mode 100644 index 000000000..d240ce248 --- /dev/null +++ b/community-testing/sage-mathematics/PKGBUILD @@ -0,0 +1,105 @@ +# Maintainer: Thomas Dziedzic < gostrc at gmail > +# Contributor: Osman Ugus <ugus11@yahoo.com> +# Contributor: Stefan Husmann <stefan-husmann@t-online.de> +# Special thanks to Nareto for moving the compile from the .install to the PKGBUILD + +pkgname=sage-mathematics +pkgver=4.7.2 +pkgrel=2 +pkgdesc='SAGE: Open Source Mathematics Software, a viable free alternative to Magma, Maple, Mathematica, and Matlab.' +url='http://www.sagemath.org' +arch=('i686' 'x86_64') +license=('GPL') +#depends=('readline') +depends=('ppl') +makedepends=('gcc-fortran' 'gcc-libs' 'desktop-file-utils' 'imagemagick' 'texlive-core') +optdepends=('imagemagick: some plotting functionality benefits from it' + 'texlive-core: some plotting functionality benefits from it, also to use SageTeX' + 'sage-mathematics-spkgs: original packages used to build additional packages') +options=('!makeflags') +install="${pkgname}.install" +source=("http://sage.math.washington.edu/home/release/sage-${pkgver}/sage-${pkgver}.tar" + 'SAGE-notebook.desktop') +md5sums=('b3073997e6c7ec00a269f84ff2e54973' + 'dc391f12b7d17dd37326343ec0e99bbd') + +build() { + cd sage-${pkgver} + + # modularization of sage, sort of :) + # fixes the following error: + # bash: symbol lookup error: bash: undefined symbol: rl_filename_rewrite_hook + # remove this hack when sage uses a readline 6.1 or greater, or when sage uses its own internal bash + # this is for people who have custom kernels (sage works this around by checking uname -r) + #mkdir -p spkg/installed + #touch spkg/installed/readline-6.1 + mkdir -p spkg/installed + touch spkg/installed/ppl-0.11.2 + + # fix "missing sage.all error" during build + unset CFLAGS + unset CXXFLAGS + + # fix build errors + unset LDFLAGS + + # enable multiple threads while building, is this really needed? check if uses MAKEFLAGS + export SAGE_BUILD_THREADS=$(lscpu | awk '/^CPU\(s\):/ { print $2 }') + export MAKE="make -j${SAGE_BUILD_THREADS}" + + # use archlinux's fortran rather then the one that ships with sage to compile sage's fortran + export SAGE_FORTRAN='/usr/bin/gfortran' + export SAGE_FORTRAN_LIB='/usr/lib/libgfortran.so' + + # disable building with debugging support + export SAGE_DEBUG='no' + + # enable fat binaries (disables processor specific optimizations) + # comment out if you're only building it for yourself + export SAGE_FAT_BINARY='yes' + + # can't write to root in a clean chroot + export DOT_SAGE='/build/src/' + + # only build sage, no documents + #make build + make +} + +<< COMMENT +check() { + cd sage-${pkgver} + + # uncomment if we want to run all the tests (warning: very long) + #make ptestlong +} +COMMENT + +package() { + cd sage-${pkgver} + + # cp because make install is experimental and will corrupt the install + install -d ${pkgdir}/opt/sage + cp -r * ${pkgdir}/opt/sage + + # move SageTeX files to more appropriate directory + install -d ${pkgdir}/usr/share + mv ${pkgdir}/opt/sage/local/share/texmf \ + ${pkgdir}/usr/share + + desktop-file-install ${srcdir}/SAGE-notebook.desktop \ + --dir ${pkgdir}/usr/share/applications + + # create link to main binary + install -d ${pkgdir}/usr/bin + ln -s /opt/sage/sage ${pkgdir}/usr/bin/sage + + # remove build logs + rm -f ${pkgdir}/opt/sage/install.log + rm -rf ${pkgdir}/opt/sage/spkg/logs + + # remove source packages, since they are rarely needed, they are 300mb in size (compressed) + # no need to package them together, put into sage-mathematics-spkgs + rm -f ${pkgdir}/opt/sage/spkg/base/*spkg + rm -f ${pkgdir}/opt/sage/spkg/standard/*spkg +} diff --git a/community-testing/sage-mathematics/SAGE-notebook.desktop b/community-testing/sage-mathematics/SAGE-notebook.desktop new file mode 100644 index 000000000..26a35d3ac --- /dev/null +++ b/community-testing/sage-mathematics/SAGE-notebook.desktop @@ -0,0 +1,19 @@ +[Desktop Entry] +Version=1.0 +Name=SAGE +Comment=SAGE NOTEBOOK +Comment[en_US]=SAGE NOTEBOOK +Exec=/opt/sage/sage -notebook +GenericName= +GenericName[de]= +Icon=/opt/sage/data/extcode/notebook/images/sageicon.png +MimeType= +Name[de]=SAGE +StartupNotify=true +Terminal=true +Type=Application +Categories=Science;Math; +X-DCOP-ServiceType= +X-KDE-SubstituteUID=false +X-KDE-Username= +GenericName[en_US]= diff --git a/community-testing/sage-mathematics/sage-mathematics.install b/community-testing/sage-mathematics/sage-mathematics.install new file mode 100644 index 000000000..6caa5299e --- /dev/null +++ b/community-testing/sage-mathematics/sage-mathematics.install @@ -0,0 +1,56 @@ +post_install() { + cd /opt/sage + + # set HOME because when sage updates its sage_root (after being moved) it will write files to ~/.sage with root ownership + # the files it writes to ~/.sage can be safely ignored + HOME=/tmp ./sage -c + + # add sagemath user for the daemon + useradd -r -c 'Sage daemon' -d /opt/sage -s /bin/false sagemath + + # Update LaTeX db to point to SageTeX + if [ -f /usr/bin/texhash ]; then + /usr/bin/texhash /usr/share/texmf + else + echo 'Warning: could not find /usr/bin/texhash' + echo 'SageTeX has been installed but you need to run:' + echo '# texhash /usr/share/texmf' + echo 'So that LaTeX will be able to find it.' + fi + +echo ' + ___ +/ (_) o | +\__ _ _ __ | +/ / |/ | | / \_| | | +\___/ | |_/|/\__/ \_/|/o + /| /| + \| \| + ________________________________ +< sage-mathematics, I mean, MOO! > + -------------------------------- + \ ^__^ + \ (oo)\_______ + (__)\ )\/\ + ||----w | + || || +' + +} + +post_upgrade() { + post_install $1 +} + +post_remove() { + # Update LaTeX db to remove SageTeX entries + if [ -f /usr/bin/texhash ]; then + /usr/bin/texhash /usr/share/texmf + fi + + # remove the sagemath daemon user + userdel sagemath + + # clean up left overs + rm -rf /opt/sage +} diff --git a/community-testing/smalltalk/PKGBUILD b/community-testing/smalltalk/PKGBUILD new file mode 100644 index 000000000..7934fe193 --- /dev/null +++ b/community-testing/smalltalk/PKGBUILD @@ -0,0 +1,42 @@ +# $Id: PKGBUILD 59432 2011-11-24 17:05:44Z stephane $ +# Maintainer: Kaiting Chen <kaitocracy@gmail.com> +# Contributor: mrshpot <mrshpot at gmail dot com> +# Contributor: Michael Fellinger <m.fellinger@gmail.com> + +pkgname=smalltalk +pkgver=3.2.4 +pkgrel=3 +pkgdesc='A free implementation of Smalltalk-80 by the GNU project' +url='http://smalltalk.gnu.org/' +license=('GPL' 'LGPL') +arch=('i686' 'x86_64') +options=('!libtool') + +depends=('gmp' 'libffi' 'libsigsegv' 'readline') +makedepends=('gdbm' 'gtk2' 'sqlite3' 'tk' 'zip') + +source=("ftp://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.gz") +md5sums=('a36a7c9beddca08dc492b500738efc82') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + + ./configure --prefix=/usr \ + --libexecdir=/usr/lib/smalltalk \ + --with-imagedir=/var/lib/smalltalk \ + --enable-gtk=yes \ + --with-system-libffi \ + --with-system-libsigsegv \ + --with-readline \ + --with-tcl --with-tk \ + --with-x --without-emacs + make +} +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="$pkgdir" install + + # fix manpage symlink + rm -f $pkgdir/usr/share/man/man1/gst-reload.1 + ln -s gst-load.1 $pkgdir/usr/share/man/man1/gst-reload.1 +} diff --git a/community-testing/xemacs/PKGBUILD b/community-testing/xemacs/PKGBUILD new file mode 100644 index 000000000..304fb9dad --- /dev/null +++ b/community-testing/xemacs/PKGBUILD @@ -0,0 +1,65 @@ +# $Id: PKGBUILD 59434 2011-11-24 17:05:59Z stephane $ +# Maintainer: juergen <juergen@archlinux.org> +# Contributor : Stéphane Gaudreault <stephane@archlinux.org> + +pkgname=xemacs +pkgver=21.5.31 +pkgrel=3 +pkgdesc="An highly customizable open source text editor and application development system forked from GNU Emacs" +arch=('i686' 'x86_64') +url="http://www.xemacs.org/" +license=('GPL') +depends=('db' 'libpng' 'libtiff' 'gpm' 'desktop-file-utils' 'libxaw' 'gdbm' 'giflib') +optdepends=('xorg-fonts-75dpi: X bitmap fonts needed for the interface' + 'xorg-fonts-100dpi: X bitmap fonts needed for the interface') +makedepends=('xbitmaps') +install=xemacs.install +source=(http://ftp.xemacs.org/pub/xemacs/beta/$pkgname-$pkgver.tar.gz + xemacs.desktop + xemacs-21.5.29-optimization-bug.patch) +md5sums=('0185fe905d0b8d8d094d9b60cf262d4a' + 'a4d3d5c0aa2c7ce7bec491f809ca3694' + 'eb061b10ea3bbe1026df5326ae1618e3') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + +# Fix problem caused by improper optimization with GCC>=4.1.2 on i686 +# (and possibly other arches). See +# http://tracker.xemacs.org/XEmacs/its/issue354 +# for the upstream bug report. + patch -Np0 -i ../xemacs-21.5.29-optimization-bug.patch + + ./configure --build="${CHOST}" --prefix=/usr --with-dynamic \ + --without-postgresql --with-athena=xaw \ + --enable-database=berkdb --without-ldap \ + --enable-menubars=lucid --enable-scrollbars=lucid \ + --enable-widgets=athena --enable-dialogs=athena \ + --enable-external-widget \ + --with-jpeg --with-png --with-tiff \ + --with-ncurses --with-pop --with-xfs --disable-sound \ + --infodir=/usr/share/info \ + --with-mule \ + --mandir=/usr/share/man/man1 + + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make -j1 prefix="${pkgdir}/usr" mandir="${pkgdir}/usr/share/man/man1" infodir="${pkgdir}/usr/share/info" install gzip-el + + rm "${pkgdir}"/usr/bin/{b2m,ctags,etags} + rm "${pkgdir}"/usr/share/man/man1/{ctags.1,etags.1} + + # fix FS#7927 + install -d -m755 "${pkgdir}/usr/share/pixmaps" + install -D -m644 "${srcdir}/${pkgname}.desktop" "${pkgdir}/usr/share/applications/${pkgname}.desktop" + ln -sf /usr/share/xemacs-${pkgver%.*}-b${pkgver##*.}/etc/xemacs-icon.xpm "${pkgdir}/usr/share/pixmaps/xemacs-icon.xpm" + + # correct permissions + chown -R root:root "${pkgdir}" + + rm "${pkgdir}"/usr/share/info/{info.info,texinfo.info-2,cl.info,texinfo.info-1,texinfo.info,standards.info,widget.info} +} +# vim: ts=2 sw=2 et ft=sh diff --git a/community-testing/xemacs/xemacs-21.5.29-optimization-bug.patch b/community-testing/xemacs/xemacs-21.5.29-optimization-bug.patch new file mode 100644 index 000000000..32a1a02c2 --- /dev/null +++ b/community-testing/xemacs/xemacs-21.5.29-optimization-bug.patch @@ -0,0 +1,14 @@ +Work around a GCC optimization bug as described in +http://tracker.xemacs.org/XEmacs/its/issue354 + +--- src/dumper.c.~1~ 2008-01-26 09:54:11.000000000 +0100 ++++ src/dumper.c 2008-05-03 10:17:03.000000000 +0200 +@@ -2584,7 +2584,7 @@ + #endif /* !WIN32_NATIVE */ + + +-static int ++int + pdump_file_try (Wexttext *exe_path) + { + Wexttext *w = exe_path + wext_strlen (exe_path); diff --git a/community-testing/xemacs/xemacs.desktop b/community-testing/xemacs/xemacs.desktop new file mode 100644 index 000000000..257c56947 --- /dev/null +++ b/community-testing/xemacs/xemacs.desktop @@ -0,0 +1,34 @@ +[Desktop Entry] +Name=XEmacs Text Editor +Name[bg]=редактор XEmacs +Name[ca]=Editor XEmacs +Name[cs]=Editor XEmacs +Name[da]=XEmacs tekstredigerer +Name[de]=XEmacs Texteditor +Name[eo]=La redaktilo XEmakso +Name[es]=Emacs para X +Name[et]=Emacs X'i kasutajaliidesega +Name[fi]=XEmacs editori +Name[fr]=Éditeur XEmacs +Name[hu]=XEmacs szövegszerkesztő +Name[is]=XEmacs-ritill +Name[it]=Emacs per X +Name[ja]=XEmacs テキスト・エディター +Name[mk]=Софистицираниот XEmacs уредувач +Name[no]=XEmacs-tekstredigerer +Name[pt]=Editor XEmacs +Name[ro]=Editorul XEmacs +Name[ru]=Редактор XEmacs +Name[sk]=Editor XEmacs +Name[sl]=Urejevalnik XEmacs +Name[uk]=Редактор XEmacs +GenericName=Text Editor +Comment=Edit text +MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++; +Exec=xemacs %f +Icon=/usr/share/pixmaps/xemacs-icon.xpm +Type=Application +Terminal=false +Categories=Development;TextEditor; +Encoding=UTF-8 +StartupWMClass=Emacs diff --git a/community-testing/xemacs/xemacs.install b/community-testing/xemacs/xemacs.install new file mode 100644 index 000000000..a04ee187f --- /dev/null +++ b/community-testing/xemacs/xemacs.install @@ -0,0 +1,35 @@ +infodir=usr/share/info +filelist=(beta.info.gz custom.info.gz + emodules.info.gz external-widget.info.gz + internals.info-1.gz internals.info-2.gz + internals.info-3.gz internals.info-4.gz + internals.info-5.gz internals.info.gz + lispref.info-1.gz lispref.info-10.gz + lispref.info-2.gz lispref.info-3.gz + lispref.info-4.gz lispref.info-5.gz + lispref.info-6.gz lispref.info-7.gz + lispref.info-8.gz lispref.info-9.gz + lispref.info.gz new-users-guide.info.gz + term.info.gz termcap.info.gz + xemacs-faq.info-1.gz xemacs-faq.info-2.gz + xemacs-faq.info.gz xemacs.info-1.gz + xemacs.info-2.gz xemacs.info-3.gz + xemacs.info-4.gz xemacs.info.gz) + +post_install() { + for file in ${filelist[@]}; do + install-info $infodir/$file $infodir/dir 2> /dev/null + done + update-desktop-database -q +} + +post_upgrade() { + post_install $1 +} + +pre_remove() { + for file in ${filelist[@]}; do + install-info --delete $infodir/$file $infodir/dir 2> /dev/null + done + update-desktop-database -q +} diff --git a/community-testing/xkbsel/PKGBUILD b/community-testing/xkbsel/PKGBUILD new file mode 100644 index 000000000..e936ca9eb --- /dev/null +++ b/community-testing/xkbsel/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 59436 2011-11-24 17:06:08Z stephane $ +# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> +# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com> + +pkgname=xkbsel +pkgver=0.13 +pkgrel=5 +pkgdesc="framework for defining, selecting and indicating XKB keyboard mappings" +arch=('i686' 'x86_64') +url="http://www.meduna.org/sw_xkbsel_en.html" +license=('GPL') +depends=('gdbm' 'libxaw') +makedepends=('patch' 'xkeyboard-config') +source=(http://www.meduna.org/code/$pkgname-$pkgver.tar.gz + build-fix.patch) +md5sums=('c82196344ef920a072f413df85b9dc00' + 'dee0f7de8618d9eff073942f0e08f030') + +build() { + cd $srcdir/$pkgname-$pkgver + + patch -Np1 <../build-fix.patch + export CFLAGS="$CFLAGS -I/usr/include/gdbm -DHAVE_NDBM_H" + export LDFLAGS="-lgdbm -lgdbm_compat" + + ./configure --prefix=/usr --localstatedir=/var/lib --sysconfdir=/etc/xkbsel \ + --build=`uname -m` --host=`uname -m` --target=`uname -m` \ + --mandir=/usr/share/man + make + make DESTDIR=$pkgdir install +} diff --git a/community-testing/xkbsel/build-fix.patch b/community-testing/xkbsel/build-fix.patch new file mode 100644 index 000000000..02021db47 --- /dev/null +++ b/community-testing/xkbsel/build-fix.patch @@ -0,0 +1,24 @@ +diff -wbBur xkbsel-0.13/configure xkbsel-0.13.my/configure +--- xkbsel-0.13/configure 2000-04-09 13:37:02.000000000 +0400 ++++ xkbsel-0.13.my/configure 2006-07-24 17:13:10.000000000 +0400 +@@ -6118,7 +6118,7 @@ + { echo "configure: error: "Cannot find library containing dbm_open"" 1>&2; exit 1; } + fi + +-x11xkbdir=$ac_x_libraries/X11/xkb ++x11xkbdir=/usr/share/X11/xkb + test -d $x11xkbdir || { echo "configure: error: "Directory $x11xkbdir does not exist"" 1>&2; exit 1; } + + +diff -wbBur xkbsel-0.13/libs/Makefile.in xkbsel-0.13.my/libs/Makefile.in +--- xkbsel-0.13/libs/Makefile.in 2000-04-09 13:51:01.000000000 +0400 ++++ xkbsel-0.13.my/libs/Makefile.in 2006-07-24 17:11:52.000000000 +0400 +@@ -452,7 +452,7 @@ + + + install-data-local: +- $(mkinstalldirs) ${sysxkmdir} ++ $(mkinstalldirs) $(DESTDIR)${sysxkmdir} + + # Tell versions [3.59,3.63) of GNU make to not export all variables. + # Otherwise a system limit (for SysV at least) may be exceeded. diff --git a/community/fb-client/PKGBUILD b/community/fb-client/PKGBUILD index c629faea3..26dfe6bc5 100644 --- a/community/fb-client/PKGBUILD +++ b/community/fb-client/PKGBUILD @@ -1,6 +1,6 @@ # Maintainer: Florian "Bluewind" Pritz <flo@xssn.at> pkgname=fb-client -pkgver=0.9 +pkgver=0.9.1 pkgrel=1 pkgdesc="Client for paste.xinu.at" arch=('i686' 'x86_64' 'mips64el') @@ -8,8 +8,9 @@ url="http://paste.xinu.at" license=('GPL3') depends=('curl') optdepends=('xclip: for automatically copying the URL into the clipboard') -source=(http://paste.xinu.at/data/client/fb-$pkgver.tar.gz) -md5sums=('51d65d794e9bad66e06e252f90ce92fb') +source=(http://paste.xinu.at/data/client/fb-$pkgver.tar.gz{,.sig}) +md5sums=('dcb979b6d31ea56fde107251b92aaaca' + '08b1ac48b3da676621655d80c4c6a66d') build() { cd "$srcdir/fb-$pkgver" diff --git a/community/gputils/PKGBUILD b/community/gputils/PKGBUILD index e80d6270d..9930f47ab 100644 --- a/community/gputils/PKGBUILD +++ b/community/gputils/PKGBUILD @@ -1,25 +1,27 @@ +# $Id: PKGBUILD 59445 2011-11-24 21:56:56Z ebelanger $ # Contributor: Johannes Martin <honzor@gmx.net> # Contributor: JJDaNiMoTh <jjdanimoth.aur@gmail.com> # Contributor: Stefan Husmann <stefan-husmann@t-online.de> # Maintainer: Daniel J Griffiths <ghost1227@archlinux.us> pkgname=gputils -pkgver=0.13.7 -pkgrel=2 +pkgver=0.14.0 +pkgrel=1 pkgdesc="PIC Programming Utilities" arch=('i686' 'x86_64' 'mips64el') url="http://gputils.sourceforge.net/" license=('GPL') +depends=('glibc') source=(http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.gz) -md5sums=('242e33919e9c318d6ac58b6db291d20e') +md5sums=('04780834e30fc50f0bd92cc4c91cf11b') build() { - cd ${srcdir}/${pkgname}-${pkgver} - ./configure --prefix=/usr || return 1 - make || return 1 + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr + make } package() { - cd ${srcdir}/${pkgname}-${pkgver} - make DESTDIR=${pkgdir} install || return 1 + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install } diff --git a/community/leafnode/PKGBUILD b/community/leafnode/PKGBUILD index eb14ece2a..7afa1252e 100644 --- a/community/leafnode/PKGBUILD +++ b/community/leafnode/PKGBUILD @@ -1,10 +1,9 @@ -# $Id: PKGBUILD 58812 2011-11-18 15:35:58Z spupykin $ +# $Id: PKGBUILD 59410 2011-11-24 15:33:29Z spupykin $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> -# You need an news user and group to build this package pkgname=leafnode pkgver=1.11.8 -pkgrel=2 +pkgrel=4 pkgdesc="implements a store & forward NNTP proxy (client and server) with IPv4 and IPv6" arch=('i686' 'x86_64' 'mips64el') url="http://leafnode.sourceforge.net/" @@ -23,6 +22,8 @@ build() { ./configure --prefix=/usr --localstatedir=/var --sysconfdir=/etc/leafnode \ --with-user=9 \ --with-group=13 + sed -i 's|#define NEWS_USER .*|#define NEWS_USER "news"|' config.h + sed -i 's|#define NEWS_GROUP .*|#define NEWS_GROUP "news"|' config.h make make DESTDIR=$pkgdir install chown -R root.root $pkgdir diff --git a/community/leafnode/leafnode.install b/community/leafnode/leafnode.install index f1a046e1c..5f8a74c04 100644 --- a/community/leafnode/leafnode.install +++ b/community/leafnode/leafnode.install @@ -10,6 +10,5 @@ post_install() { } post_remove() { - echo "-- Deleting spool directory" - rm -rf var/spool/news + echo "-- Don't forget to remove /var/spool/news directory" } diff --git a/community/mythtv/PKGBUILD b/community/mythtv/PKGBUILD index 207484ee1..d4530b4de 100644 --- a/community/mythtv/PKGBUILD +++ b/community/mythtv/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 58529 2011-11-13 16:01:47Z andrea $ +# $Id: PKGBUILD 59400 2011-11-24 09:36:19Z jconder $ # Maintainer: Jonathan Conder <jonno.conder@gmail.com> # Contributor: Giovanni Scafora <giovanni@archlinux.org> # Contributor: Juergen Hoetzel <juergen@archlinux.org> @@ -7,16 +7,16 @@ pkgname=mythtv pkgver=0.24.1 -pkgrel=2 +pkgrel=3 epoch=1 pkgdesc="A Homebrew PVR project" arch=('i686' 'x86_64' 'mips64el') url="http://www.mythtv.org/" license=('GPL') depends=('lame' 'libavc1394' 'libiec61883' 'libpulse' 'libvdpau' 'libxinerama' - 'libxvmc' 'lirc-utils' 'mesa' 'mysql-clients' 'mysql-python' - 'perl-dbd-mysql' 'perl-libwww' 'perl-net-upnp' 'python-lxml' 'qt' - 'wget') + 'libxvmc' 'libxxf86vm' 'lirc-utils' 'mesa' 'mysql-clients' + 'mysql-python' 'perl-dbd-mysql' 'perl-libwww' 'perl-net-upnp' + 'python-lxml' 'qt' 'wget') makedepends=('yasm') optdepends=('xmltv: to download tv listings') backup=('etc/conf.d/mythbackend') diff --git a/community/ncdu/PKGBUILD b/community/ncdu/PKGBUILD index d28851085..24876e435 100644 --- a/community/ncdu/PKGBUILD +++ b/community/ncdu/PKGBUILD @@ -1,21 +1,28 @@ +# $Id: PKGBUILD 59391 2011-11-24 07:32:15Z bisson $ + # Contributor: lp76 <l.peduto@gmail.com> -# Maintainer: Daenyth <Daenyth+Arch AT gmail DOT com> +# Contributor: Daenyth <Daenyth+Arch AT gmail DOT com> +# Maintainer: Gaetan Bisson <bisson@archlinux.org> + pkgname=ncdu -pkgver=1.7 +pkgver=1.8 pkgrel=1 -pkgdesc="An NCurses version of the famous old 'du' unix command" -arch=('i686' 'x86_64' 'mips64el') -url="http://dev.yorhel.nl/ncdu/" -license=('MIT') +pkgdesc='Disk usage analyzer with an ncurses interface' +url='http://dev.yorhel.nl/ncdu/' +license=('custom:MIT') depends=('ncurses') -source=(http://dev.yorhel.nl/download/$pkgname-$pkgver.tar.gz) -md5sums=('172047c29d232724cc62e773e82e592a') +arch=('i686' 'x86_64' 'mips64el') +source=("http://dev.yorhel.nl/download/${pkgname}-${pkgver}.tar.gz") +sha1sums=('3d98e78cf7035e32333d263d301d12e9b4352598') build() { - cd $srcdir/$pkgname-$pkgver + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr + make +} - ./configure --prefix=/usr || return 1 - make || return 1 - make DESTDIR=$pkgdir install || return 1 - install -Dm644 COPYING $pkgdir/usr/share/licenses/$pkgname/LICENSE +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install + install -Dm644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" } diff --git a/community/open-vm-tools-modules/PKGBUILD b/community/open-vm-tools-modules/PKGBUILD index b374841e9..c6f2c3af8 100644 --- a/community/open-vm-tools-modules/PKGBUILD +++ b/community/open-vm-tools-modules/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 58558 2011-11-14 12:47:57Z spupykin $ +# $Id: PKGBUILD 59404 2011-11-24 12:19:55Z spupykin $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Contributor: Krzysztof Raczkowski <raczkow@gmail.com> pkgname=open-vm-tools-modules -pkgver=2011.10.26 -_pkgsubver=514583 -pkgrel=3 +pkgver=2011.11.20 +_pkgsubver=535097 +pkgrel=1 pkgdesc="kernel modules for the open source implementation of VMware Tools" arch=('i686' 'x86_64' 'mips64el') url="http://open-vm-tools.sourceforge.net/" @@ -16,7 +16,7 @@ install=$pkgname.install options=('!strip') source=("http://downloads.sourceforge.net/open-vm-tools/open-vm-tools-$pkgver-${_pkgsubver}.tar.gz" "modprobe.conf") -md5sums=('06f299375a91fbcba9d16b5007490023' +md5sums=('428d803f6fe3424af88768fc2f88f9ae' 'ac9b8e3cb798f5056ca92767ec705117') build() { diff --git a/community/open-vm-tools/PKGBUILD b/community/open-vm-tools/PKGBUILD index b8bdab9c5..75fb0e9c7 100644 --- a/community/open-vm-tools/PKGBUILD +++ b/community/open-vm-tools/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 58319 2011-11-11 11:55:59Z spupykin $ +# $Id: PKGBUILD 59402 2011-11-24 12:19:04Z spupykin $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Contributor: Krzysztof Raczkowski <raczkow@gmail.com> pkgname=open-vm-tools -pkgver=2011.10.26 -_pkgsubver=514583 -pkgrel=2 +pkgver=2011.11.20 +_pkgsubver=535097 +pkgrel=1 pkgdesc="The Open Virtual Machine Tools (open-vm-tools) are the open source implementation of VMware Tools." arch=('i686' 'x86_64' 'mips64el') url="http://open-vm-tools.sourceforge.net/" @@ -24,7 +24,7 @@ source=(http://switch.dl.sourceforge.net/$pkgname/$pkgname-$pkgver-${_pkgsubver} tools.conf vmware-guestd xautostart.conf) -md5sums=('06f299375a91fbcba9d16b5007490023' +md5sums=('428d803f6fe3424af88768fc2f88f9ae' '06f7448e274db2a911f582e276088fc9' '199508b0d3fe6fa9b726d09170bf51f1' '8c333a979578bdc0c3134c1dd6bb7353' diff --git a/community/pigeonhole/PKGBUILD b/community/pigeonhole/PKGBUILD index de6de2e74..609531264 100644 --- a/community/pigeonhole/PKGBUILD +++ b/community/pigeonhole/PKGBUILD @@ -8,8 +8,8 @@ _dcpkgver=2.0.16 # Make sure to bump pkgrel if changing this. pkgname=pigeonhole -pkgver=0.2.4 -pkgrel=3 +pkgver=0.2.5 +pkgrel=1 pkgdesc="Fully rewritten Sieve implementation for Dovecot v2.0" arch=('i686' 'x86_64' 'mips64el') url="http://pigeonhole.dovecot.org/" @@ -20,7 +20,7 @@ conflicts=('dovecot-sieve' 'pigeonhole-hg') source=("http://www.rename-it.nl/dovecot/2.0/dovecot-2.0-$pkgname-$pkgver.tar.gz" "dovecot.conf") options=('!libtool') -md5sums=('11d396b901db774799d07db6e4dd805b' +md5sums=('f50151dd20eb5acbac2b546e586f2d43' '564b771c339f69a477c06babf53e11c2') build() { diff --git a/extra/gcin/PKGBUILD b/extra/gcin/PKGBUILD index c1d48b9b3..121bfc29e 100644 --- a/extra/gcin/PKGBUILD +++ b/extra/gcin/PKGBUILD @@ -1,15 +1,15 @@ -# $Id: PKGBUILD 140668 2011-10-18 00:42:56Z bisson $ +# $Id: PKGBUILD 143496 2011-11-25 03:20:54Z bisson $ # Maintainer: Gaetan Bisson <bisson@archlinux.org> # Contributor: Andreas Radke <andyrtr@archlinux.org> # Contributor: damir <damir@archlinux.org> pkgname=gcin -pkgver=1.7.0 +pkgver=2.1.0 pkgrel=1 pkgdesc='Input method server supporting various input methods' -arch=('i686' 'x86_64' 'mips64el') -license=('LGPL') url='http://hyperrate.com/dir.php?eid=67' +license=('LGPL') +arch=('i686' 'x86_64' 'mips64el') depends=('gtk2' 'libxtst') makedepends=('qt' 'gtk3' 'anthy' 'libchewing') optdepends=('qt: support for qt4 input method' @@ -18,8 +18,8 @@ optdepends=('qt: support for qt4 input method' 'libchewing: support for chewing input method') source=("http://www.csie.nctu.edu.tw/~cp76/gcin/download/${pkgname}-${pkgver}.tar.xz" 'qt4-lib64.patch') -sha1sums=('151d1286dc54d7f7fa230d37e89d3d0fe0845258' - '4307b0d7d6dc10f15909c94973c4357caf31de7e') +sha1sums=('9ab09afece8d94faacdcadb150f87c0337108857' + '4b121e9a86a2ca25869c69b7d4d9623a0c8f55fc') install=install diff --git a/extra/gcin/qt4-lib64.patch b/extra/gcin/qt4-lib64.patch index 13cb3dc15..abc15950e 100644 --- a/extra/gcin/qt4-lib64.patch +++ b/extra/gcin/qt4-lib64.patch @@ -1,15 +1,6 @@ diff -aur old/configure new/configure ---- old/configure 2011-06-08 16:00:37.000000000 +0200 -+++ new/configure 2011-07-05 08:02:33.223601351 +0200 -@@ -164,7 +164,7 @@ - - LIB='lib' - if [ -d /lib64 ]; then --LIB='lib64' -+LIB='lib' - fi - - QT_IM='N' +--- old/configure 2011-11-07 06:51:12.000000000 +1100 ++++ new/configure 2011-11-25 14:02:10.819256960 +1100 @@ -188,7 +188,7 @@ @@ -20,8 +11,8 @@ diff -aur old/configure new/configure pkg-config --libs QtCore QtGui > /dev/null 2> /dev/null if [ $? = 0 ]; then diff -aur old/qt4-im/Makefile new/qt4-im/Makefile ---- old/qt4-im/Makefile 2011-06-08 15:03:50.000000000 +0200 -+++ new/qt4-im/Makefile 2011-07-05 08:04:15.717731695 +0200 +--- old/qt4-im/Makefile 2011-06-08 23:03:50.000000000 +1000 ++++ new/qt4-im/Makefile 2011-11-25 14:05:28.844110772 +1100 @@ -1,5 +1,5 @@ include ../config.mak -QT=qt4 diff --git a/extra/maxima/PKGBUILD b/extra/maxima/PKGBUILD index c83528dd4..e0ce6b0e1 100644 --- a/extra/maxima/PKGBUILD +++ b/extra/maxima/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 142503 2011-11-10 20:08:23Z ronald $ +# $Id: PKGBUILD 143491 2011-11-24 21:29:37Z juergen $ # Maintainer: Ronald van Haren <ronald.archlinux.org> # Contributor: Damir Perisa <damir@archlinux.org> pkgname=maxima pkgver=5.25.1 -pkgrel=1 +pkgrel=2 pkgdesc="Maxima - a sophisticated computer algebra system" arch=('i686' 'x86_64' 'mips64el') license=('GPL') @@ -12,7 +12,7 @@ url="http://maxima.sourceforge.net" if [ "${CARCH}" == "mips64el" ] ; then depends=('clisp' 'texinfo' 'sh') else - depends=('sbcl=1.0.52' 'texinfo' 'sh') + depends=('sbcl=1.0.53' 'texinfo' 'sh') fi makedepends=('python2') optdepends=('gnuplot: plotting capabilities' 'rlwrap: readline support via /usr/bin/rmaxima' 'tk: graphical xmaxima interface') @@ -43,11 +43,11 @@ build() { package() { cd ${srcdir}/${pkgname}-${pkgver} make DESTDIR=${pkgdir} install - + # install some freedesktop.org compatibility install -Dm644 ${srcdir}/${pkgname}.desktop \ ${pkgdir}/usr/share/applications/${pkgname}.desktop - + # make sure, we have a nice icon for the desktop file at the right place ;) install -d ${pkgdir}/usr/share/pixmaps/ ln -s /usr/share/maxima/${pkgver}/xmaxima/maxima-new.png \ diff --git a/extra/mysql/PKGBUILD b/extra/mysql/PKGBUILD index af721f337..4be16689a 100644 --- a/extra/mysql/PKGBUILD +++ b/extra/mysql/PKGBUILD @@ -1,21 +1,21 @@ -# $Id: PKGBUILD 141055 2011-10-22 18:07:50Z andrea $ +# $Id: PKGBUILD 143260 2011-11-24 07:38:10Z andrea $ # Maintainer: # Contributor: Andrea Scarpino <andrea@archlinux.org> # Contributor: Douglas Soares de Andrade <douglas@archlinux.org> pkgbase=mysql pkgname=('libmysqlclient' 'mysql-clients' 'mysql') -pkgver=5.5.17 +pkgver=5.5.18 pkgrel=1 arch=('i686' 'x86_64' 'mips64el') license=('GPL') -url="http://www.mysql.com/" +url="https://www.mysql.com/products/community/" makedepends=('cmake' 'openssl' 'zlib') options=('!libtool') source=("http://ftp.gwdg.de/pub/misc/mysql/Downloads/MySQL-5.5/${pkgbase}-${pkgver}.tar.gz" 'mysqld' 'my.cnf') -md5sums=('dcb6a06e68c5e8f30f57b15300730c9c' +md5sums=('38b65815249f3bcacf3b0ee85171c486' '2234207625baa29b2ff7d7b4f088abce' '1c949c0dbea5206af0db14942d9927b6') diff --git a/extra/sbcl/PKGBUILD b/extra/sbcl/PKGBUILD index 70ea00d74..ef51d1d45 100644 --- a/extra/sbcl/PKGBUILD +++ b/extra/sbcl/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 141251 2011-10-27 12:54:01Z juergen $ +# $Id: PKGBUILD 143489 2011-11-24 20:44:47Z juergen $ # Contributor: John Proctor <jproctor@prium.net> # Contributor: Daniel White <daniel@whitehouse.id.au> # Maintainer: Juergen Hoetzel <juergen@archlinux.org> # Contributor: Leslie Polzer (skypher) pkgname=sbcl -pkgver=1.0.52 +pkgver=1.0.53 pkgrel=1 pkgdesc="Steel Bank Common Lisp" url="http://www.sbcl.org/" @@ -20,7 +20,7 @@ install=sbcl.install source=("http://downloads.sourceforge.net/project/sbcl/sbcl/$pkgver/$pkgname-$pkgver-source.tar.bz2" "arch-fixes.lisp" "mips-arch.h.diff") -md5sums=('e9e186637155184ec662b5a37634b457' +md5sums=('28bdb8d65b240bcc45370f19b781f9b8' '7ac0c1936547f4278198b8bf7725204d' 'a456535d65d6c5b85b1b646f11455fce') diff --git a/kde-unstable/kactivities/PKGBUILD b/kde-unstable/kactivities/PKGBUILD new file mode 100644 index 000000000..e60a143e9 --- /dev/null +++ b/kde-unstable/kactivities/PKGBUILD @@ -0,0 +1,34 @@ +# $Id: PKGBUILD 143306 2011-11-24 16:13:52Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> + +pkgname=kactivities +pkgver=4.7.80 +pkgrel=2 +arch=('i686' 'x86_64') +pkgdesc='API for using and interacting with Activities' +url='http://kde.org/' +license=('GPL' 'FDL') +depends=('kdelibs') +makedepends=('cmake' 'automoc4') +source=("http://download.kde.org/unstable/${pkgver}/src/${pkgname}-${pkgver}.tar.bz2" + 'fix-activities.patch') +sha1sums=('c619c5d6e3e2ef79d0cebf52bf18d1b467dc24f9' + '6eb890958726856cf4ddb172acd46ba08f7a5088') + +build() { + cd "${srcdir}"/${pkgname}-${pkgver} + patch -p1 -i "${srcdir}"/fix-activities.patch + + cd "${srcdir}" + mkdir build + cd build + cmake ../${pkgname}-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd $srcdir/build + make DESTDIR=$pkgdir install +} diff --git a/kde-unstable/kactivities/fix-activities.patch b/kde-unstable/kactivities/fix-activities.patch new file mode 100644 index 000000000..5cf62c48c --- /dev/null +++ b/kde-unstable/kactivities/fix-activities.patch @@ -0,0 +1,156 @@ +--- kactivities-4.7.80/service/ActivityManager.cpp~ 2011-11-24 16:05:52.777981854 +0000 ++++ kactivities-4.7.80/service/ActivityManager.cpp 2011-11-24 16:06:32.721637122 +0000 +@@ -75,14 +75,14 @@ + QHash < WId, SharedInfo::WindowData > & _windows, + QHash < KUrl, SharedInfo::ResourceData > & _resources + ) +- : haveSessions(false), +- config("activitymanagerrc"), +- windows(_windows), +- resources(_resources), ++ : config("activitymanagerrc"), ++ windows(_windows), ++ resources(_resources), + #ifdef HAVE_NEPOMUK +- m_nepomukInitCalled(false), ++ m_nepomukInitCalled(false), + #endif +- q(parent) ++ q(parent), ++ ksmserverInterface(0) + { + // Initializing config + connect(&configSyncTimer, SIGNAL(timeout()), +@@ -116,20 +116,26 @@ + this, SLOT(activeWindowChanged(WId))); + + //listen to ksmserver for starting/stopping ++ QDBusServiceWatcher *watcher = new QDBusServiceWatcher("org.kde.ksmserver", ++ QDBusConnection::sessionBus(), ++ QDBusServiceWatcher::WatchForRegistration); ++ connect(watcher, SIGNAL(serviceRegistered(QString)), this, SLOT(sessionServiceRegistered())); ++ sessionServiceRegistered(); ++} ++ ++void ActivityManagerPrivate::sessionServiceRegistered() ++{ ++ delete ksmserverInterface; + ksmserverInterface = new QDBusInterface("org.kde.ksmserver", "/KSMServer", "org.kde.KSMServerInterface"); + if (ksmserverInterface->isValid()) { + ksmserverInterface->setParent(this); + connect(ksmserverInterface, SIGNAL(subSessionOpened()), this, SLOT(startCompleted())); + connect(ksmserverInterface, SIGNAL(subSessionClosed()), this, SLOT(stopCompleted())); + connect(ksmserverInterface, SIGNAL(subSessionCloseCanceled()), this, SLOT(stopCancelled())); //spelling fail :) +- haveSessions = true; + } else { +- kDebug() << "couldn't connect to ksmserver! session stuff won't work"; +- //note: in theory it's nice to try again later +- //but in practice, ksmserver is either there or it isn't (killing it logs you out) +- //so in this case there's no point. :) +- ksmserverInterface->deleteLater(); ++ delete ksmserverInterface; + ksmserverInterface = 0; ++ kDebug() << "couldn't connect to ksmserver! session stuff won't work"; + } + } + +@@ -519,26 +525,24 @@ + { + bool called = false; + // start the starting :) +- if (haveSessions) { +- QDBusInterface kwin("org.kde.kwin", "/KWin", "org.kde.KWin"); +- if (kwin.isValid()) { +- QDBusMessage reply = kwin.call("startActivity", id); +- if (reply.type() == QDBusMessage::ErrorMessage) { +- kDebug() << "dbus error:" << reply.errorMessage(); ++ QDBusInterface kwin("org.kde.kwin", "/KWin", "org.kde.KWin"); ++ if (kwin.isValid()) { ++ QDBusMessage reply = kwin.call("startActivity", id); ++ if (reply.type() == QDBusMessage::ErrorMessage) { ++ kDebug() << "dbus error:" << reply.errorMessage(); ++ } else { ++ QList<QVariant> ret = reply.arguments(); ++ if (ret.length() == 1 && ret.first().toBool()) { ++ called = true; + } else { +- QList<QVariant> ret = reply.arguments(); +- if (ret.length() == 1 && ret.first().toBool()) { +- called = true; +- } else { +- kDebug() << "call returned false; probably ksmserver is busy"; +- setActivityState(transitioningActivity, ActivityManager::Stopped); +- transitioningActivity.clear(); +- return; //assume we're mid-logout and just don't touch anything +- } ++ kDebug() << "call returned false; probably ksmserver is busy"; ++ setActivityState(transitioningActivity, ActivityManager::Stopped); ++ transitioningActivity.clear(); ++ return; //assume we're mid-logout and just don't touch anything + } +- } else { +- kDebug() << "couldn't get kwin interface"; + } ++ } else { ++ kDebug() << "couldn't get kwin interface"; + } + + if (!called) { +@@ -585,25 +589,23 @@ + { + bool called = false; + // start the stopping :) +- if (haveSessions) { +- QDBusInterface kwin("org.kde.kwin", "/KWin", "org.kde.KWin"); +- if (kwin.isValid()) { +- QDBusMessage reply = kwin.call("stopActivity", id); +- if (reply.type() == QDBusMessage::ErrorMessage) { +- kDebug() << "dbus error:" << reply.errorMessage(); ++ QDBusInterface kwin("org.kde.kwin", "/KWin", "org.kde.KWin"); ++ if (kwin.isValid()) { ++ QDBusMessage reply = kwin.call("stopActivity", id); ++ if (reply.type() == QDBusMessage::ErrorMessage) { ++ kDebug() << "dbus error:" << reply.errorMessage(); ++ } else { ++ QList<QVariant> ret = reply.arguments(); ++ if (ret.length() == 1 && ret.first().toBool()) { ++ called = true; + } else { +- QList<QVariant> ret = reply.arguments(); +- if (ret.length() == 1 && ret.first().toBool()) { +- called = true; +- } else { +- kDebug() << "call returned false; probably ksmserver is busy"; +- stopCancelled(); +- return; //assume we're mid-logout and just don't touch anything +- } ++ kDebug() << "call returned false; probably ksmserver is busy"; ++ stopCancelled(); ++ return; //assume we're mid-logout and just don't touch anything + } +- } else { +- kDebug() << "couldn't get kwin interface"; + } ++ } else { ++ kDebug() << "couldn't get kwin interface"; + } + + if (!called) { +--- kactivities-4.7.80/service/ActivityManager_p.h~ 2011-11-24 16:06:01.618054620 +0000 ++++ kactivities-4.7.80/service/ActivityManager_p.h 2011-11-24 16:06:32.721637122 +0000 +@@ -68,7 +68,6 @@ + + //opening/closing activity (ksmserver can only handle one at a time) + QString transitioningActivity; +- bool haveSessions; //whether ksmserver's available + + // Configuration + QTimer configSyncTimer; +@@ -106,6 +105,7 @@ + + void backstoreAvailable(); + void syncActivitiesWithNepomuk(); ++ void sessionServiceRegistered(); + + private: + ActivityManager * const q; diff --git a/kde-unstable/kdeaccessibility-jovie/PKGBUILD b/kde-unstable/kdeaccessibility-jovie/PKGBUILD new file mode 100644 index 000000000..c57d0deef --- /dev/null +++ b/kde-unstable/kdeaccessibility-jovie/PKGBUILD @@ -0,0 +1,34 @@ +# $Id: PKGBUILD 143326 2011-11-24 16:14:16Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> + +pkgname=kdeaccessibility-jovie +pkgver=4.7.80 +pkgrel=1 +arch=('i686' 'x86_64') +pkgdesc='A text to speech application' +url='http://kde.org/applications/utilities/jovie/' +license=('GPL' 'FDL') +groups=('kde' 'kdeaccessibility') +depends=('kdebase-runtime' 'speech-dispatcher') +makedepends=('cmake' 'automoc4') +replaces=('kdeaccessibility-kttsd') +install=${pkgname}.install +source=("http://download.kde.org/unstable/${pkgver}/src/jovie-${pkgver}.tar.bz2") +sha1sums=('d5ae86d01279fdf7b8102f9d516749b0ddfb531b') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../jovie-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd $srcdir/build + make DESTDIR=$pkgdir install + cd $srcdir/build/doc + make DESTDIR=$pkgdir install +} diff --git a/kde-unstable/kdeaccessibility-jovie/kdeaccessibility-jovie.install b/kde-unstable/kdeaccessibility-jovie/kdeaccessibility-jovie.install new file mode 100644 index 000000000..e70c054ec --- /dev/null +++ b/kde-unstable/kdeaccessibility-jovie/kdeaccessibility-jovie.install @@ -0,0 +1,11 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdeaccessibility-kaccessible/PKGBUILD b/kde-unstable/kdeaccessibility-kaccessible/PKGBUILD new file mode 100644 index 000000000..0e90b4e79 --- /dev/null +++ b/kde-unstable/kdeaccessibility-kaccessible/PKGBUILD @@ -0,0 +1,30 @@ +# $Id: PKGBUILD 143328 2011-11-24 16:14:18Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> + +pkgname=kdeaccessibility-kaccessible +pkgver=4.7.80 +pkgrel=1 +arch=('i686' 'x86_64') +pkgdesc='Provides accessibility services like focus tracking and a screenreader' +url='http://accessibility.kde.org/' +license=('GPL' 'FDL') +groups=('kde' 'kdeaccessibility') +depends=('kdelibs' 'speech-dispatcher') +makedepends=('cmake' 'automoc4') +source=("http://download.kde.org/unstable/${pkgver}/src/kaccessible-${pkgver}.tar.bz2") +sha1sums=('6d3235dde870414af9548c6fe1b1d25dd101d436') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../kaccessible-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd $srcdir/build + make DESTDIR=$pkgdir install +} diff --git a/kde-unstable/kdeaccessibility-kmag/PKGBUILD b/kde-unstable/kdeaccessibility-kmag/PKGBUILD new file mode 100644 index 000000000..084ce52af --- /dev/null +++ b/kde-unstable/kdeaccessibility-kmag/PKGBUILD @@ -0,0 +1,33 @@ +# $Id: PKGBUILD 143330 2011-11-24 16:14:20Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> + +pkgname=kdeaccessibility-kmag +pkgver=4.7.80 +pkgrel=1 +arch=('i686' 'x86_64') +pkgdesc='Screen Magnifier' +url='http://kde.org/applications/utilities/kmag/' +license=('GPL' 'FDL') +groups=('kde' 'kdeaccessibility') +depends=('kdebase-runtime') +makedepends=('cmake' 'automoc4') +install=${pkgname}.install +source=("http://download.kde.org/unstable/${pkgver}/src/kmag-${pkgver}.tar.bz2") +sha1sums=('549bd0c71e95f7526bb6766ba4d262ac372b6e1c') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../kmag-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd $srcdir/build + make DESTDIR=$pkgdir install + cd $srcdir/build/doc + make DESTDIR=$pkgdir install +} diff --git a/kde-unstable/kdeaccessibility-kmag/kdeaccessibility-kmag.install b/kde-unstable/kdeaccessibility-kmag/kdeaccessibility-kmag.install new file mode 100644 index 000000000..e70c054ec --- /dev/null +++ b/kde-unstable/kdeaccessibility-kmag/kdeaccessibility-kmag.install @@ -0,0 +1,11 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdeaccessibility-kmousetool/PKGBUILD b/kde-unstable/kdeaccessibility-kmousetool/PKGBUILD new file mode 100644 index 000000000..f052a35a8 --- /dev/null +++ b/kde-unstable/kdeaccessibility-kmousetool/PKGBUILD @@ -0,0 +1,33 @@ +# $Id: PKGBUILD 143332 2011-11-24 16:14:23Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> + +pkgname=kdeaccessibility-kmousetool +pkgver=4.7.80 +pkgrel=1 +arch=('i686' 'x86_64') +pkgdesc='Clicks the mouse for you, reducing the effects of RSI' +url='http://kde.org/applications/utilities/kmousetool/' +license=('GPL' 'FDL') +groups=('kde' 'kdeaccessibility') +depends=('kdebase-runtime') +makedepends=('cmake' 'automoc4') +install=${pkgname}.install +source=("http://download.kde.org/unstable/${pkgver}/src/kmousetool-${pkgver}.tar.bz2") +sha1sums=('a5a3190ba645d1930ca561560f2f37f91dc550c9') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../kmousetool-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd $srcdir/build + make DESTDIR=$pkgdir install + cd $srcdir/build/doc + make DESTDIR=$pkgdir install +} diff --git a/kde-unstable/kdeaccessibility-kmousetool/kdeaccessibility-kmousetool.install b/kde-unstable/kdeaccessibility-kmousetool/kdeaccessibility-kmousetool.install new file mode 100644 index 000000000..e70c054ec --- /dev/null +++ b/kde-unstable/kdeaccessibility-kmousetool/kdeaccessibility-kmousetool.install @@ -0,0 +1,11 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdeaccessibility-kmouth/PKGBUILD b/kde-unstable/kdeaccessibility-kmouth/PKGBUILD new file mode 100644 index 000000000..72c7247b4 --- /dev/null +++ b/kde-unstable/kdeaccessibility-kmouth/PKGBUILD @@ -0,0 +1,33 @@ +# $Id: PKGBUILD 143334 2011-11-24 16:14:25Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> + +pkgname=kdeaccessibility-kmouth +pkgver=4.7.80 +pkgrel=1 +arch=('i686' 'x86_64') +pkgdesc='Speech Synthesizer Frontend' +url='http://kde.org/applications/utilities/kmouth/' +license=('GPL' 'FDL') +groups=('kde' 'kdeaccessibility') +depends=('kdebase-runtime') +makedepends=('cmake' 'automoc4') +install=${pkgname}.install +source=("http://download.kde.org/unstable/${pkgver}/src/kmouth-${pkgver}.tar.bz2") +sha1sums=('175b2a58241a42689d73396d02f2836d57978e5e') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../kmouth-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd $srcdir/build + make DESTDIR=$pkgdir install + cd $srcdir/build/doc + make DESTDIR=$pkgdir install +} diff --git a/kde-unstable/kdeaccessibility-kmouth/kdeaccessibility-kmouth.install b/kde-unstable/kdeaccessibility-kmouth/kdeaccessibility-kmouth.install new file mode 100644 index 000000000..e70c054ec --- /dev/null +++ b/kde-unstable/kdeaccessibility-kmouth/kdeaccessibility-kmouth.install @@ -0,0 +1,11 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdeadmin/PKGBUILD b/kde-unstable/kdeadmin/PKGBUILD new file mode 100644 index 000000000..da2c8b6de --- /dev/null +++ b/kde-unstable/kdeadmin/PKGBUILD @@ -0,0 +1,80 @@ +# $Id: PKGBUILD 143336 2011-11-24 16:14:27Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> +# Contributor: Pierre Schmitz <pierre@archlinux.de> + +pkgbase=kdeadmin +pkgname=('kdeadmin-kcron' + 'kdeadmin-ksystemlog' + 'kdeadmin-kuser' + 'kdeadmin-system-config-printer-kde') +pkgver=4.7.80 +pkgrel=1 +arch=('i686' 'x86_64') +url='http://www.kde.org' +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdeadmin') +makedepends=('cmake' 'automoc4' 'kdebindings-python' 'system-config-printer-common') +source=("http://download.kde.org/unstable/${pkgver}/src/${pkgbase}-${pkgver}.tar.bz2" + 'syslog-path.patch') +sha1sums=('3e06dff48271e78eec67bcda644476bcf0efa554' + '20095ce6e0f3e5b6800a7c6e52de6fddba62c031') + +build() { + cd ${srcdir}/${pkgbase}-${pkgver} + patch -p1 -i ${srcdir}/syslog-path.patch + + cd ${srcdir} + mkdir build + cd build + cmake ../${pkgbase}-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_SKIP_RPATH=ON \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DBUILD_strigi-analyzer=OFF \ + -DPYTHON_EXECUTABLE=/usr/bin/python2 + make +} + +package_kdeadmin-kcron() { + pkgdesc='Configure and schedule tasks' + depends=('kdelibs') + cd $srcdir/build/kcron + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/kcron + make DESTDIR=$pkgdir install +} + +package_kdeadmin-ksystemlog() { + pkgdesc='System log viewer tool' + depends=('kdebase-runtime') + url="http://kde.org/applications/system/ksystemlog/" + cd $srcdir/build/ksystemlog + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/ksystemlog + make DESTDIR=$pkgdir install +} + +package_kdeadmin-kuser() { + pkgdesc='User Manager' + depends=('kdepim-runtime') + url="http://kde.org/applications/system/kuser/" + install='kdeadmin.install' + cd $srcdir/build/kuser + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/kuser + make DESTDIR=$pkgdir install +} + +package_kdeadmin-system-config-printer-kde() { + pkgdesc='Configure local and remote Printers' + depends=('kdebindings-python' 'system-config-printer-common' 'python2-pyqt') + url="http://kde.org/applications/system/printerapplet/" + cd $srcdir/build/system-config-printer-kde + make DESTDIR=$pkgdir install + + # Use the python2 executable + sed -i 's|#!/usr/bin/env python|#!/usr/bin/env python2|' \ + "${pkgdir}"/usr/share/apps/system-config-printer-kde/{system-config-printer-kde,authconn}.py + sed -i 's|#!/usr/bin/python|#!/usr/bin/python2|' \ + "${pkgdir}"/usr/share/apps/system-config-printer-kde/pysmb.py +} diff --git a/kde-unstable/kdeadmin/kdeadmin.install b/kde-unstable/kdeadmin/kdeadmin.install new file mode 100644 index 000000000..e70c054ec --- /dev/null +++ b/kde-unstable/kdeadmin/kdeadmin.install @@ -0,0 +1,11 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdeadmin/syslog-path.patch b/kde-unstable/kdeadmin/syslog-path.patch new file mode 100644 index 000000000..8a9142bf6 --- /dev/null +++ b/kde-unstable/kdeadmin/syslog-path.patch @@ -0,0 +1,11 @@ +--- kdeadmin-4.6.0/ksystemlog/src/modes/system/systemConfiguration.h~ 2011-01-27 14:24:29.840000005 +0100 ++++ kdeadmin-4.6.0/ksystemlog/src/modes/system/systemConfiguration.h 2011-01-27 14:24:53.803333335 +0100 +@@ -39,7 +39,7 @@ + SystemConfiguration() : + GenericLogModeConfiguration( + QLatin1String( SYSTEM_LOG_MODE_ID ), +- QStringList() << QLatin1String( "/var/log/syslog" ), ++ QStringList() << QLatin1String( "/var/log/messages.log" ), + QList<int>() << INFORMATION_LOG_LEVEL_ID + ) { + diff --git a/kde-unstable/kdeartwork/PKGBUILD b/kde-unstable/kdeartwork/PKGBUILD new file mode 100644 index 000000000..4113014a1 --- /dev/null +++ b/kde-unstable/kdeartwork/PKGBUILD @@ -0,0 +1,104 @@ +# $Id: PKGBUILD 143338 2011-11-24 16:14:29Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> +# Contributor: Pierre Schmitz <pierre@archlinux.de> + +pkgbase=kdeartwork +pkgname=('kdeartwork-aurorae' + 'kdeartwork-colorschemes' + 'kdeartwork-desktopthemes' + 'kdeartwork-emoticons' + 'kdeartwork-iconthemes' + 'kdeartwork-kscreensaver' + 'kdeartwork-sounds' + 'kdeartwork-styles' + 'kdeartwork-wallpapers' + 'kdeartwork-weatherwallpapers') +pkgver=4.7.80 +pkgrel=1 +arch=('i686' 'x86_64') +url='http://www.kde.org' +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdeartwork') +makedepends=('cmake' 'automoc4' 'xscreensaver' 'eigen' 'kdebase-workspace' + 'libkexiv2') +source=("http://download.kde.org/unstable/${pkgver}/src/${pkgbase}-${pkgver}.tar.bz2") +sha1sums=('1b046764a5ca6481d6ce5648b0e180eec7cd08c0') + +build() { + cd $srcdir + mkdir build + cd build + cmake ../${pkgbase}-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_SKIP_RPATH=ON \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package_kdeartwork-aurorae() { + pkgdesc='An Aurorae theme based on the Oxygen plasma theme' + cd $srcdir/build/aurorae + make DESTDIR=$pkgdir install +} + +package_kdeartwork-colorschemes() { + pkgdesc='KDE color schemes' + replaces=('kdeaccessibility-colorschemes') + cd $srcdir/build/ColorSchemes + make DESTDIR=$pkgdir install +} + +package_kdeartwork-desktopthemes() { + pkgdesc='KDE desktop themes' + cd $srcdir/build/desktopthemes + make DESTDIR=$pkgdir install +} + +package_kdeartwork-emoticons() { + pkgdesc='KDE emoticons' + cd $srcdir/build/emoticons + make DESTDIR=$pkgdir install +} + +package_kdeartwork-iconthemes() { + pkgdesc='KDE icon themes' + replaces=('kdeaccessibility-iconthemes') + cd $srcdir/build/IconThemes + make DESTDIR=$pkgdir install +} + +package_kdeartwork-kscreensaver() { + pkgdesc='KDE screensaver' + depends=('kdebase-workspace' 'libkexiv2') + cd $srcdir/build/kscreensaver + make DESTDIR=$pkgdir install +} + +package_kdeartwork-sounds() { + pkgdesc='KDE sounds' + cd $srcdir/build/sounds + make DESTDIR=$pkgdir install +} + +package_kdeartwork-styles() { + pkgdesc='KDE styles' + depends=('kdebase-workspace') + cd $srcdir/build/styles + make DESTDIR=$pkgdir install + cd $srcdir/build/kwin-styles + make DESTDIR=$pkgdir install +} + +package_kdeartwork-wallpapers() { + pkgdesc='KDE wallpapers' + cd $srcdir/build/wallpapers + make DESTDIR=$pkgdir install + cd $srcdir/build/HighResolutionWallpapers + make DESTDIR=$pkgdir install +} + +package_kdeartwork-weatherwallpapers() { + pkgdesc='KDE weather wallpapers' + cd $srcdir/build/WeatherWallpapers + make DESTDIR=$pkgdir install +} diff --git a/kde-unstable/kdebase-konsole/PKGBUILD b/kde-unstable/kdebase-konsole/PKGBUILD new file mode 100644 index 000000000..9b0e14d2b --- /dev/null +++ b/kde-unstable/kdebase-konsole/PKGBUILD @@ -0,0 +1,30 @@ +# $Id: PKGBUILD 143340 2011-11-24 16:14:32Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> + +pkgname=kdebase-konsole +pkgver=4.7.80 +pkgrel=1 +arch=('i686' 'x86_64') +url='http://kde.org/applications/system/konsole/' +pkgdesc="Terminal" +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdebase') +depends=('kdebase-runtime') +makedepends=('cmake' 'automoc4') +source=("http://download.kde.org/unstable/${pkgver}/src/konsole-${pkgver}.tar.bz2") +sha1sums=('47305f7eeabeefd71e518314b04d18b7a9724c39') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../konsole-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdebase-runtime/PKGBUILD b/kde-unstable/kdebase-runtime/PKGBUILD new file mode 100644 index 000000000..d329f4d40 --- /dev/null +++ b/kde-unstable/kdebase-runtime/PKGBUILD @@ -0,0 +1,43 @@ +# $Id: PKGBUILD 143284 2011-11-24 16:13:21Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> +# Contributor: Pierre Schmitz <pierre@archlinux.de> + +pkgname=kdebase-runtime +pkgver=4.7.80 +pkgrel=1 +pkgdesc="KDE Base Runtime Environment" +arch=('i686' 'x86_64') +url='http://www.kde.org' +license=('GPL' 'LGPL') +depends=('kdelibs' 'ntrack' 'smbclient' 'libssh' 'libcanberra' 'oxygen-icons' + 'xorg-xauth') +makedepends=('pkg-config' 'cmake' 'automoc4' 'kdepimlibs' 'openslp' 'doxygen' + 'xine-lib') +optdepends=('htdig: to build the search index in khelpcenter' + 'rarian: needed by khelpcenter' + 'gdb: drkonq crash handler') +install="${pkgname}.install" +source=("http://download.kde.org/unstable/${pkgver}/src/kde-runtime-${pkgver}.tar.bz2") +sha1sums=('a9c0be087a2cd96d84c1fec1b4f726e9cbcc3327') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../kde-runtime-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_SKIP_RPATH=ON \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "$srcdir/build" + make DESTDIR="$pkgdir" install + rm -f "${pkgdir}/usr/share/icons/hicolor/index.theme" + ln -sf /usr/lib/kde4/libexec/kdesu "${pkgdir}/usr/bin/" + + # Fix Python2 path + sed -i 's|/usr/bin/env python|/usr/bin/env python2|' \ + "${pkgdir}"/usr/bin/nepomuk-simpleresource-rcgen +} diff --git a/kde-unstable/kdebase-runtime/kdebase-runtime.install b/kde-unstable/kdebase-runtime/kdebase-runtime.install new file mode 100644 index 000000000..3f06b8deb --- /dev/null +++ b/kde-unstable/kdebase-runtime/kdebase-runtime.install @@ -0,0 +1,12 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null + update-mime-database usr/share/mime &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdebase-workspace/kdm-xinitrd.patch b/kde-unstable/kdebase-workspace/kdm-xinitrd.patch deleted file mode 100644 index f5fc0e571..000000000 --- a/kde-unstable/kdebase-workspace/kdm-xinitrd.patch +++ /dev/null @@ -1,18 +0,0 @@ ---- kde-workspace-4.7.2/kdm/kfrontend/genkdmconf.c~ 2011-10-04 22:11:24.787771512 +0000 -+++ kde-workspace-4.7.2/kdm/kfrontend/genkdmconf.c 2011-10-04 22:13:58.612702824 +0000 -@@ -742,6 +742,15 @@ - "[ -f /etc/xprofile ] && . /etc/xprofile\n" - "[ -f $HOME/.xprofile ] && . $HOME/.xprofile\n" - "\n" -+"# run all system xinitrc shell scripts.\n" -+"if [ -d /etc/X11/xinit/xinitrc.d ]; then\n" -+" for i in /etc/X11/xinit/xinitrc.d/* ; do\n" -+" if [ -x \"$i\" ]; then\n" -+" . \"$i\"\n" -+" fi\n" -+" done\n" -+"fi\n" -+"\n" - "if [ -d /etc/X11/Xresources ]; then\n" - " for i in /etc/X11/Xresources/*; do\n" - " [ -f $i ] && xrdb -merge $i\n" diff --git a/kde-unstable/kdebase/PKGBUILD b/kde-unstable/kdebase/PKGBUILD new file mode 100644 index 000000000..70263f6aa --- /dev/null +++ b/kde-unstable/kdebase/PKGBUILD @@ -0,0 +1,120 @@ +# $Id: PKGBUILD 143310 2011-11-24 16:13:59Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> +# Contributor: Pierre Schmitz <pierre@archlinux.de> + +pkgbase=kdebase +pkgname=('kdebase-dolphin' + 'kdebase-kdepasswd' + 'kdebase-kdialog' + 'kdebase-keditbookmarks' + 'kdebase-kfind' + 'kdebase-konq-plugins' + 'kdebase-konqueror' + 'kdebase-lib' + 'kdebase-plasma') +pkgver=4.7.80 +pkgrel=1 +arch=('i686' 'x86_64') +url='http://www.kde.org' +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdebase') +makedepends=('kdelibs' 'cmake' 'automoc4' 'tidyhtml') +source=("http://download.kde.org/unstable/${pkgver}/src/kde-baseapps-${pkgver}.tar.bz2") +sha1sums=('51782a7e569479ea0eff5e2ed93bc9813111a4cc') + +build() { + cd ${srcdir} + mkdir build + cd build + cmake ../kde-baseapps-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_SKIP_RPATH=ON \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package_kdebase-dolphin() { + pkgdesc='File Manager' + depends=('kdebase-runtime' 'kdebase-lib') + optdepends=('kdegraphics-svgpart: thumbailers for SVG files' + 'kdegraphics-thumbnailers: thumbnailers for graphics file' + 'ruby: servicemenu installation') + url="http://kde.org/applications/system/dolphin/" + install=kdebase-dolphin.install + cd $srcdir/build/dolphin + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/dolphin + make DESTDIR=$pkgdir install +} + +package_kdebase-kdepasswd() { + pkgdesc='Change Password' + depends=('kdebase-runtime' 'kdebase-lib') + cd $srcdir/build/kdepasswd + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/kdepasswd + make DESTDIR=$pkgdir install +} + +package_kdebase-kdialog() { + pkgdesc='A utility for displaying dialog boxes from shell scripts' + depends=('kdebase-runtime') + cd $srcdir/build/kdialog + make DESTDIR=$pkgdir install +} + +package_kdebase-keditbookmarks() { + pkgdesc='Bookmark Organizer and Editor' + depends=('kdebase-runtime') + cd $srcdir/build/keditbookmarks + make DESTDIR=$pkgdir install +} + +package_kdebase-kfind() { + pkgdesc='Find Files/Folders' + depends=('kdebase-runtime' 'kdebase-lib') + url="http://kde.org/applications/utilities/kfind/" + install='kdebase.install' + cd $srcdir/build/kfind + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/kfind + make DESTDIR=$pkgdir install +} + +package_kdebase-konq-plugins() { + pkgdesc='Extra plugins for Konqueror' + depends=('kdebase-konqueror' 'tidyhtml') + replaces=('konq-plugins') + install='kdebase.install' + cd $srcdir/build/konq-plugins + make DESTDIR=$pkgdir install +} + +package_kdebase-konqueror() { + pkgdesc='KDE File Manager & Web Browser' + depends=('kdebase-dolphin' 'kdebase-keditbookmarks') + optdepends=('kwebkitpart: to enable webkit engine') + url="http://kde.org/applications/internet/konqueror/" + install='kdebase-konqueror.install' + conflicts=('kdebase-nsplugins') + replaces=('kdebase-nsplugins') + for i in konqueror doc/konqueror nsplugins; do + cd $srcdir/build/${i} + make DESTDIR=$pkgdir install + done +} + +package_kdebase-lib() { + pkgdesc='KDE libraries for the basic desktop applications' + groups=() + depends=('kdelibs') + cd $srcdir/build/lib + make DESTDIR=$pkgdir install +} + +package_kdebase-plasma() { + pkgdesc='Display the contents of folders (User´s home folder as default)' + depends=('kdebase-workspace' 'kdebase-lib') + cd $srcdir/build/plasma + make DESTDIR=$pkgdir install +} diff --git a/kde-unstable/kdebase/kdebase-dolphin.install b/kde-unstable/kdebase/kdebase-dolphin.install new file mode 100644 index 000000000..660593cf5 --- /dev/null +++ b/kde-unstable/kdebase/kdebase-dolphin.install @@ -0,0 +1,11 @@ +post_install() { + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdebase/kdebase-konqueror.install b/kde-unstable/kdebase/kdebase-konqueror.install new file mode 100644 index 000000000..5495fb1b5 --- /dev/null +++ b/kde-unstable/kdebase/kdebase-konqueror.install @@ -0,0 +1,12 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdebase/kdebase.install b/kde-unstable/kdebase/kdebase.install new file mode 100644 index 000000000..e70c054ec --- /dev/null +++ b/kde-unstable/kdebase/kdebase.install @@ -0,0 +1,11 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdebindings-kimono/PKGBUILD b/kde-unstable/kdebindings-kimono/PKGBUILD new file mode 100644 index 000000000..e09b59b09 --- /dev/null +++ b/kde-unstable/kdebindings-kimono/PKGBUILD @@ -0,0 +1,32 @@ +# $Id: PKGBUILD 143342 2011-11-24 16:14:33Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> + +pkgname=kdebindings-kimono +pkgver=4.7.80 +pkgrel=1 +pkgdesc=".NET/Mono bindings for the KDE libraries" +url="http://kde.org/" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +groups=('kdebindings') +depends=('kdebindings-qyoto' 'kdebindings-smokekde') +makedepends=('cmake' 'automoc4' 'kdebindings-smokegen' 'boost' 'kdepimlibs') +conflicts=('kdebindings-csharp') +source=("http://download.kde.org/unstable/${pkgver}/src/kimono-${pkgver}.tar.bz2") +sha1sums=('a60e0e77618cc29592537e3c1254f1141cfb1bee') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../kimono-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DWITH_Soprano=OFF + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdebindings-kross/PKGBUILD b/kde-unstable/kdebindings-kross/PKGBUILD new file mode 100644 index 000000000..3348d88f6 --- /dev/null +++ b/kde-unstable/kdebindings-kross/PKGBUILD @@ -0,0 +1,52 @@ +# $Id: PKGBUILD 143344 2011-11-24 16:14:36Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> + +pkgbase=kdebindings-kross +pkgname=('kdebindings-kross-python' +# 'kdebindings-kross-ruby' + 'kdebindings-kross-java') +pkgver=4.7.80 +pkgrel=1 +url="http://kde.org/" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +groups=('kdebindings') +makedepends=('kdelibs' 'cmake' 'automoc4' 'python2' 'java-environment') +source=("http://download.kde.org/unstable/${pkgver}/src/kross-interpreters-${pkgver}.tar.bz2") +sha1sums=('52adafe42de134c6bc53855dbc464df2a1190efd') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../kross-interpreters-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DBUILD_ruby=OFF \ + -DPYTHON_EXECUTABLE=/usr/bin/python2 + make +} + +package_kdebindings-kross-python() { + pkgdesc="Python2 language interpreters to enable in-process scripting with Kross" + depends=('kdelibs' 'python2') + + cd "${srcdir}"/build/python + make DESTDIR="${pkgdir}" install +} + +package_kdebindings-kross-java() { + pkgdesc="Java language interpreters to enable in-process scripting with Kross" + depends=('kdelibs' 'java-environment') + + cd "${srcdir}"/build/java + make DESTDIR="${pkgdir}" install +} + +package_kdebindings-kross-ruby() { + pkgdesc="Ruby language interpreters to enable in-process scripting with Kross" + depends=('kdelibs' 'ruby') + + cd "${srcdir}"/build/ruby + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdebindings-perlkde/PKGBUILD b/kde-unstable/kdebindings-perlkde/PKGBUILD new file mode 100644 index 000000000..ff15152b2 --- /dev/null +++ b/kde-unstable/kdebindings-perlkde/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 143346 2011-11-24 16:14:39Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> + +pkgname=kdebindings-perlkde +pkgver=4.7.80 +pkgrel=1 +pkgdesc="Perl bindings for the KDE libraries" +url="http://kde.org/" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +groups=('kdebindings') +depends=('kdebindings-perlqt' 'kdebindings-smokekde') +makedepends=('cmake' 'automoc4' 'kdebindings-smokegen' 'kdepimlibs' + 'kdegraphics-okular' 'kdesdk-kate') +source=("http://download.kde.org/unstable/${pkgver}/src/perlkde-${pkgver}.tar.bz2") +sha1sums=('2e5c317f26ccbc1e251fb53b30eae364a5153543') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../perlkde-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdebindings-perlqt/PKGBUILD b/kde-unstable/kdebindings-perlqt/PKGBUILD new file mode 100644 index 000000000..bed48ab40 --- /dev/null +++ b/kde-unstable/kdebindings-perlqt/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 143298 2011-11-24 16:13:43Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> + +pkgname=kdebindings-perlqt +pkgver=4.7.80 +pkgrel=1 +pkgdesc="Perl bindings for the Qt libraries" +url="http://kde.org/" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +groups=('kdebindings') +depends=('kdebindings-smokeqt') +makedepends=('cmake' 'automoc4' 'kdebindings-smokegen') +source=("http://download.kde.org/unstable/${pkgver}/src/perlqt-${pkgver}.tar.bz2") +sha1sums=('1f147d9554999b539b7c81da0fb4522f05f7c7d4') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../perlqt-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_SKIP_RPATH=ON \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdebindings-python/PKGBUILD b/kde-unstable/kdebindings-python/PKGBUILD new file mode 100644 index 000000000..021c5ee02 --- /dev/null +++ b/kde-unstable/kdebindings-python/PKGBUILD @@ -0,0 +1,34 @@ +# $Id: PKGBUILD 143300 2011-11-24 16:13:45Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> + +pkgname=kdebindings-python +pkgver=4.7.80 +pkgrel=1 +pkgdesc="KDE bindings for Python" +url="http://kde.org/" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +groups=('kdebindings') +depends=('kdepim-runtime' 'python2-pyqt' 'qscintilla' 'boost-libs') +makedepends=('cmake' 'automoc4' 'boost') +source=("http://download.kde.org/unstable/${pkgver}/src/pykde4-${pkgver}.tar.bz2") +sha1sums=('b67905a73566ad99b3bf1238b87f333c3ebb1fc5') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../pykde4-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DPYTHON_EXECUTABLE=/usr/bin/python2 + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install + + # Use the python2 executable + find "${pkgdir}" -name '*.py' | xargs sed -i 's|#!/usr/bin/env python|#!/usr/bin/env python2|' +} diff --git a/kde-unstable/kdebindings-qtruby/PKGBUILD b/kde-unstable/kdebindings-qtruby/PKGBUILD new file mode 100644 index 000000000..b3976602d --- /dev/null +++ b/kde-unstable/kdebindings-qtruby/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 143304 2011-11-24 16:13:50Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> + +pkgname=kdebindings-qtruby +pkgver=4.7.80 +pkgrel=1 +pkgdesc="Qt bindings for ruby" +url="http://kde.org/" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +groups=('kdebindings') +depends=('kdebindings-smokeqt' 'ruby') +makedepends=('cmake' 'automoc4' 'kdebindings-smokegen') +conflicts=('kdebindings-ruby') +source=("http://download.kde.org/unstable/${pkgver}/src/qtruby-${pkgver}.tar.bz2") +sha1sums=('ca1e73b375449d36ee52ae3012e70f2fa149f751') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../qtruby-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdebindings-qyoto/PKGBUILD b/kde-unstable/kdebindings-qyoto/PKGBUILD new file mode 100644 index 000000000..cfb9d378d --- /dev/null +++ b/kde-unstable/kdebindings-qyoto/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 143302 2011-11-24 16:13:48Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> + +pkgname=kdebindings-qyoto +pkgver=4.7.80 +pkgrel=1 +pkgdesc=".NET/Mono bindings for the Qt libraries" +url="http://kde.org/" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +groups=('kdebindings') +depends=('kdebindings-smokeqt' 'mono') +makedepends=('cmake' 'automoc4' 'kdebindings-smokegen') +conflicts=('kdebindings-csharp') +source=("http://download.kde.org/unstable/${pkgver}/src/qyoto-${pkgver}.tar.bz2") +sha1sums=('e1e4ab189e16ad33e3d19a457aee8540437c4af9') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../qyoto-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdebindings-smokegen/PKGBUILD b/kde-unstable/kdebindings-smokegen/PKGBUILD new file mode 100644 index 000000000..ac12f5f64 --- /dev/null +++ b/kde-unstable/kdebindings-smokegen/PKGBUILD @@ -0,0 +1,30 @@ +# $Id: PKGBUILD 143288 2011-11-24 16:13:26Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> + +pkgname=kdebindings-smokegen +pkgver=4.7.80 +pkgrel=1 +pkgdesc="A general purpose C++ parser with a plugin infrastructure" +url="http://kde.org/" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +depends=('kdebase-runtime') +makedepends=('cmake' 'automoc4') +conflicts=('kdebindings-smoke') +source=("http://download.kde.org/unstable/${pkgver}/src/smokegen-${pkgver}.tar.bz2") +sha1sums=('da6dd73b0650c0f6e749435c3ae822c236224b00') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../smokegen-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdebindings-smokekde/PKGBUILD b/kde-unstable/kdebindings-smokekde/PKGBUILD new file mode 100644 index 000000000..63ca984c4 --- /dev/null +++ b/kde-unstable/kdebindings-smokekde/PKGBUILD @@ -0,0 +1,32 @@ +# $Id: PKGBUILD 143296 2011-11-24 16:13:40Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> + +pkgname=kdebindings-smokekde +pkgver=4.7.80 +pkgrel=1 +pkgdesc="Language independent library for KDE bindings" +url="http://kde.org/" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +groups=('kdebindings') +depends=('kdebindings-smokeqt') +makedepends=('cmake' 'automoc4' 'kdebindings-smokegen' 'boost' + 'kdepimlibs' 'kdegraphics-okular' 'kdesdk-kate') +conflicts=('kdebindings-smoke') +source=("http://download.kde.org/unstable/${pkgver}/src/smokekde-${pkgver}.tar.bz2") +sha1sums=('579e87eaf1067593d27396fe092434f7fc7b4c09') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../smokekde-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdebindings-smokeqt/PKGBUILD b/kde-unstable/kdebindings-smokeqt/PKGBUILD new file mode 100644 index 000000000..2490b2493 --- /dev/null +++ b/kde-unstable/kdebindings-smokeqt/PKGBUILD @@ -0,0 +1,32 @@ +# $Id: PKGBUILD 143290 2011-11-24 16:13:28Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> + +pkgname=kdebindings-smokeqt +pkgver=4.7.80 +pkgrel=1 +pkgdesc="Language independent library for Qt bindings" +url="http://kde.org/" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +groups=('kdebindings') +depends=('kdebase-runtime' 'qimageblitz' 'qscintilla' 'kdebindings-smokegen') +makedepends=('cmake' 'automoc4') +conflicts=('kdebindings-smoke') +source=("http://download.kde.org/unstable/${pkgver}/src/smokeqt-${pkgver}.tar.bz2") +sha1sums=('cad6c93aef4374012de9958d9ac38e3993a799b2') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../smokeqt-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DWITH_Qwt5=OFF + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdeedu-analitza/PKGBUILD b/kde-unstable/kdeedu-analitza/PKGBUILD new file mode 100644 index 000000000..7ddcbb258 --- /dev/null +++ b/kde-unstable/kdeedu-analitza/PKGBUILD @@ -0,0 +1,30 @@ +# $Id: PKGBUILD 143324 2011-11-24 16:14:14Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> + +pkgname=kdeedu-analitza +pkgver=4.7.80 +pkgrel=1 +pkgdesc="A library to add mathematical features to your program" +url="http://kde.org/" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdeedu') +depends=('kdelibs') +makedepends=('cmake' 'automoc4') +source=("http://download.kde.org/unstable/${pkgver}/src/analitza-${pkgver}.tar.bz2") +sha1sums=('db2b8fd3f14f03c128255d078670c1273a3b6657') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../analitza-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdeedu-blinken/PKGBUILD b/kde-unstable/kdeedu-blinken/PKGBUILD new file mode 100644 index 000000000..f39a11290 --- /dev/null +++ b/kde-unstable/kdeedu-blinken/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 143348 2011-11-24 16:14:42Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> + +pkgname=kdeedu-blinken +pkgver=4.7.80 +pkgrel=1 +pkgdesc="Memory Enhancement Game" +url="http://kde.org/applications/education/blinken/" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdeedu') +depends=('kdebase-runtime') +makedepends=('cmake' 'automoc4') +install=${pkgname}.install +source=("http://download.kde.org/unstable/${pkgver}/src/blinken-${pkgver}.tar.bz2") +sha1sums=('9215dc4d2b40b8f9173f95f06cf77c5099a733cb') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../blinken-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdeedu-blinken/kdeedu-blinken.install b/kde-unstable/kdeedu-blinken/kdeedu-blinken.install new file mode 100644 index 000000000..e70c054ec --- /dev/null +++ b/kde-unstable/kdeedu-blinken/kdeedu-blinken.install @@ -0,0 +1,11 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdeedu-cantor/PKGBUILD b/kde-unstable/kdeedu-cantor/PKGBUILD new file mode 100644 index 000000000..2d6dbeb81 --- /dev/null +++ b/kde-unstable/kdeedu-cantor/PKGBUILD @@ -0,0 +1,34 @@ +# $Id: PKGBUILD 143350 2011-11-24 16:14:44Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> + +pkgname=kdeedu-cantor +pkgver=4.7.80 +pkgrel=1 +pkgdesc="KDE Frontend to Mathematical Software" +url="http://kde.org/applications/education/cantor/" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdeedu') +depends=('kdebase-runtime' 'libspectre' 'kdeedu-analitza') +makedepends=('cmake' 'automoc4' 'r') +optdepends=('maxima: Maxima backend' + 'octave: Octave backend' + 'r: R backend') +install=${pkgname}.install +source=("http://download.kde.org/unstable/${pkgver}/src/cantor-${pkgver}.tar.bz2") +sha1sums=('7ea3094de5323b51f8f8aa1c559b1cbb8c5fbea4') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../cantor-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdeedu-cantor/kdeedu-cantor.install b/kde-unstable/kdeedu-cantor/kdeedu-cantor.install new file mode 100644 index 000000000..81ce5c4b0 --- /dev/null +++ b/kde-unstable/kdeedu-cantor/kdeedu-cantor.install @@ -0,0 +1,12 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdeedu-kalgebra/PKGBUILD b/kde-unstable/kdeedu-kalgebra/PKGBUILD new file mode 100644 index 000000000..fb5280713 --- /dev/null +++ b/kde-unstable/kdeedu-kalgebra/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 143352 2011-11-24 16:14:47Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> + +pkgname=kdeedu-kalgebra +pkgver=4.7.80 +pkgrel=1 +pkgdesc="Graph Calculator" +url="http://kde.org/applications/education/kalgebra/" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdeedu') +depends=('kdebase-runtime' 'libkdeedu' 'kdeedu-analitza') +makedepends=('cmake' 'automoc4') +install=${pkgname}.install +source=("http://download.kde.org/unstable/${pkgver}/src/kalgebra-${pkgver}.tar.bz2") +sha1sums=('705bba4e1faf35b4d09d6ac487171cef9f54f642') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../kalgebra-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdeedu-kalgebra/kdeedu-kalgebra.install b/kde-unstable/kdeedu-kalgebra/kdeedu-kalgebra.install new file mode 100644 index 000000000..81ce5c4b0 --- /dev/null +++ b/kde-unstable/kdeedu-kalgebra/kdeedu-kalgebra.install @@ -0,0 +1,12 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdeedu-kalzium/PKGBUILD b/kde-unstable/kdeedu-kalzium/PKGBUILD new file mode 100644 index 000000000..7604114fd --- /dev/null +++ b/kde-unstable/kdeedu-kalzium/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 143354 2011-11-24 16:14:49Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> + +pkgname=kdeedu-kalzium +pkgver=4.7.80 +pkgrel=1 +pkgdesc="Periodic Table of Elements" +url="http://kde.org/applications/education/kalzium/" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdeedu') +depends=('kdelibs' 'avogadro' 'ocaml' 'facile') +makedepends=('cmake' 'automoc4') +install=${pkgname}.install +source=("http://download.kde.org/unstable/${pkgver}/src/kalzium-${pkgver}.tar.bz2") +sha1sums=('d6dbca03628ed96a256c3c603fae220a97d6fec3') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../kalzium-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdeedu-kalzium/kdeedu-kalzium.install b/kde-unstable/kdeedu-kalzium/kdeedu-kalzium.install new file mode 100644 index 000000000..e70c054ec --- /dev/null +++ b/kde-unstable/kdeedu-kalzium/kdeedu-kalzium.install @@ -0,0 +1,11 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdeedu-kanagram/PKGBUILD b/kde-unstable/kdeedu-kanagram/PKGBUILD new file mode 100644 index 000000000..7924b79b3 --- /dev/null +++ b/kde-unstable/kdeedu-kanagram/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 143356 2011-11-24 16:14:52Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> + +pkgname=kdeedu-kanagram +pkgver=4.7.80 +pkgrel=1 +pkgdesc="Letter Order Game" +url="http://kde.org/applications/education/kanagram/" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdeedu') +depends=('kdebase-runtime' 'libkdeedu') +makedepends=('cmake' 'automoc4') +install=${pkgname}.install +source=("http://download.kde.org/unstable/${pkgver}/src/kanagram-${pkgver}.tar.bz2") +sha1sums=('eb7d0cf7eeae5ab5520cb67cf52b73f08ec6bd57') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../kanagram-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdeedu-kanagram/kdeedu-kanagram.install b/kde-unstable/kdeedu-kanagram/kdeedu-kanagram.install new file mode 100644 index 000000000..e70c054ec --- /dev/null +++ b/kde-unstable/kdeedu-kanagram/kdeedu-kanagram.install @@ -0,0 +1,11 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdeedu-kbruch/PKGBUILD b/kde-unstable/kdeedu-kbruch/PKGBUILD new file mode 100644 index 000000000..7ab43f309 --- /dev/null +++ b/kde-unstable/kdeedu-kbruch/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 143358 2011-11-24 16:14:54Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> + +pkgname=kdeedu-kbruch +pkgver=4.7.80 +pkgrel=1 +pkgdesc="Exercise Fractions" +url="http://kde.org/applications/education/kbruch/" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdeedu') +depends=('kdebase-runtime') +makedepends=('cmake' 'automoc4') +install=${pkgname}.install +source=("http://download.kde.org/unstable/${pkgver}/src/kbruch-${pkgver}.tar.bz2") +sha1sums=('46d735c58ed5bf7a871d92633f1d42b418da7815') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../kbruch-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdeedu-kbruch/kdeedu-kbruch.install b/kde-unstable/kdeedu-kbruch/kdeedu-kbruch.install new file mode 100644 index 000000000..e70c054ec --- /dev/null +++ b/kde-unstable/kdeedu-kbruch/kdeedu-kbruch.install @@ -0,0 +1,11 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdeedu-kgeography/PKGBUILD b/kde-unstable/kdeedu-kgeography/PKGBUILD new file mode 100644 index 000000000..6aca74f87 --- /dev/null +++ b/kde-unstable/kdeedu-kgeography/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 143360 2011-11-24 16:14:56Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> + +pkgname=kdeedu-kgeography +pkgver=4.7.80 +pkgrel=1 +pkgdesc="Geography Trainer" +url="http://kde.org/applications/education/kgeography/" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdeedu') +depends=('kdebase-runtime') +makedepends=('cmake' 'automoc4') +install=${pkgname}.install +source=("http://download.kde.org/unstable/${pkgver}/src/kgeography-${pkgver}.tar.bz2") +sha1sums=('5b71a2f5a66b996cd6741422045d217e4dc275a1') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../kgeography-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdeedu-kgeography/kdeedu-kgeography.install b/kde-unstable/kdeedu-kgeography/kdeedu-kgeography.install new file mode 100644 index 000000000..e70c054ec --- /dev/null +++ b/kde-unstable/kdeedu-kgeography/kdeedu-kgeography.install @@ -0,0 +1,11 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdeedu-khangman/PKGBUILD b/kde-unstable/kdeedu-khangman/PKGBUILD new file mode 100644 index 000000000..5f450e478 --- /dev/null +++ b/kde-unstable/kdeedu-khangman/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 143362 2011-11-24 16:15:00Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> + +pkgname=kdeedu-khangman +pkgver=4.7.80 +pkgrel=1 +pkgdesc="Hangman Game" +url="http://kde.org/applications/education/khangman/" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdeedu') +depends=('kdebase-runtime' 'libkdeedu') +makedepends=('cmake' 'automoc4') +install=${pkgname}.install +source=("http://download.kde.org/unstable/${pkgver}/src/khangman-${pkgver}.tar.bz2") +sha1sums=('3e4e14a145e35ec4a433f6db1bbbf4bc3804953c') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../khangman-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdeedu-khangman/kdeedu-khangman.install b/kde-unstable/kdeedu-khangman/kdeedu-khangman.install new file mode 100644 index 000000000..e70c054ec --- /dev/null +++ b/kde-unstable/kdeedu-khangman/kdeedu-khangman.install @@ -0,0 +1,11 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdeedu-kig/PKGBUILD b/kde-unstable/kdeedu-kig/PKGBUILD new file mode 100644 index 000000000..f83a2bf20 --- /dev/null +++ b/kde-unstable/kdeedu-kig/PKGBUILD @@ -0,0 +1,34 @@ +# $Id: PKGBUILD 143364 2011-11-24 16:15:03Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> + +pkgname=kdeedu-kig +pkgver=4.7.80 +pkgrel=1 +pkgdesc="Interactive Geometry" +url="http://kde.org/applications/education/kig/" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdeedu') +depends=('kdebase-runtime') +makedepends=('cmake' 'automoc4') +install=${pkgname}.install +source=("http://download.kde.org/unstable/${pkgver}/src/kig-${pkgver}.tar.bz2") +sha1sums=('9ac87b12dde1108782e5d4c332e550759ffd769d') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../kig-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install + + # Use the python2 executable + sed -i 's|#!/usr/bin/env python|#!/usr/bin/env python2|' "${pkgdir}"/usr/bin/pykig.py +} diff --git a/kde-unstable/kdeedu-kig/kdeedu-kig.install b/kde-unstable/kdeedu-kig/kdeedu-kig.install new file mode 100644 index 000000000..81ce5c4b0 --- /dev/null +++ b/kde-unstable/kdeedu-kig/kdeedu-kig.install @@ -0,0 +1,12 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdeedu-kiten/PKGBUILD b/kde-unstable/kdeedu-kiten/PKGBUILD new file mode 100644 index 000000000..98bb48051 --- /dev/null +++ b/kde-unstable/kdeedu-kiten/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 143366 2011-11-24 16:15:06Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> + +pkgname=kdeedu-kiten +pkgver=4.7.80 +pkgrel=1 +pkgdesc="Japanese Reference/Study Tool" +url="http://kde.org/applications/education/kiten/" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdeedu') +depends=('kdebase-runtime') +makedepends=('cmake' 'automoc4') +install=${pkgname}.install +source=("http://download.kde.org/unstable/${pkgver}/src/kiten-${pkgver}.tar.bz2") +sha1sums=('60fb150e05185990da7fadf2002390938e9fef9e') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../kiten-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdeedu-kiten/kdeedu-kiten.install b/kde-unstable/kdeedu-kiten/kdeedu-kiten.install new file mode 100644 index 000000000..e70c054ec --- /dev/null +++ b/kde-unstable/kdeedu-kiten/kdeedu-kiten.install @@ -0,0 +1,11 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdeedu-klettres/PKGBUILD b/kde-unstable/kdeedu-klettres/PKGBUILD new file mode 100644 index 000000000..0a13bd752 --- /dev/null +++ b/kde-unstable/kdeedu-klettres/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 143368 2011-11-24 16:15:10Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> + +pkgname=kdeedu-klettres +pkgver=4.7.80 +pkgrel=1 +pkgdesc="Learn The Alphabet" +url="http://kde.org/applications/education/klettres/" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdeedu') +depends=('kdebase-runtime') +makedepends=('cmake' 'automoc4') +install=${pkgname}.install +source=("http://download.kde.org/unstable/${pkgver}/src/klettres-${pkgver}.tar.bz2") +sha1sums=('ef205da0317630d455d34c6f53f541b2a06038ea') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../klettres-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdeedu-klettres/kdeedu-klettres.install b/kde-unstable/kdeedu-klettres/kdeedu-klettres.install new file mode 100644 index 000000000..e70c054ec --- /dev/null +++ b/kde-unstable/kdeedu-klettres/kdeedu-klettres.install @@ -0,0 +1,11 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdeedu-kmplot/PKGBUILD b/kde-unstable/kdeedu-kmplot/PKGBUILD new file mode 100644 index 000000000..75fc53cba --- /dev/null +++ b/kde-unstable/kdeedu-kmplot/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 143370 2011-11-24 16:15:14Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> + +pkgname=kdeedu-kmplot +pkgver=4.7.80 +pkgrel=1 +pkgdesc="Mathematical Function Plotter" +url="http://kde.org/applications/education/kmplot/" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdeedu') +depends=('kdebase-runtime') +makedepends=('cmake' 'automoc4') +install=${pkgname}.install +source=("http://download.kde.org/unstable/${pkgver}/src/kmplot-${pkgver}.tar.bz2") +sha1sums=('7009619d0d11bd6be7acac095f386ff219ccd506') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../kmplot-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdeedu-kmplot/kdeedu-kmplot.install b/kde-unstable/kdeedu-kmplot/kdeedu-kmplot.install new file mode 100644 index 000000000..81ce5c4b0 --- /dev/null +++ b/kde-unstable/kdeedu-kmplot/kdeedu-kmplot.install @@ -0,0 +1,12 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdeedu-kstars/PKGBUILD b/kde-unstable/kdeedu-kstars/PKGBUILD new file mode 100644 index 000000000..38d5b4939 --- /dev/null +++ b/kde-unstable/kdeedu-kstars/PKGBUILD @@ -0,0 +1,32 @@ +# $Id: PKGBUILD 143372 2011-11-24 16:15:18Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> + +pkgname=kdeedu-kstars +pkgver=4.7.80 +pkgrel=1 +pkgdesc="Desktop Planetarium" +url="http://kde.org/applications/education/kstars/" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdeedu') +depends=('kdebase-runtime' 'eigen' 'cfitsio' 'libindi') +makedepends=('cmake' 'automoc4') +install=${pkgname}.install +source=("http://download.kde.org/unstable/${pkgver}/src/kstars-${pkgver}.tar.bz2") +sha1sums=('ac705e13f83db3017e5ad6a615c264be69259f21') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../kstars-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DWITH_Xplanet=OFF + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdeedu-kstars/kdeedu-kstars.install b/kde-unstable/kdeedu-kstars/kdeedu-kstars.install new file mode 100644 index 000000000..e70c054ec --- /dev/null +++ b/kde-unstable/kdeedu-kstars/kdeedu-kstars.install @@ -0,0 +1,11 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdeedu-ktouch/PKGBUILD b/kde-unstable/kdeedu-ktouch/PKGBUILD new file mode 100644 index 000000000..62f000d1e --- /dev/null +++ b/kde-unstable/kdeedu-ktouch/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 143374 2011-11-24 16:15:21Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> + +pkgname=kdeedu-ktouch +pkgver=4.7.80 +pkgrel=1 +pkgdesc="Touch Typing Tutor" +url="http://kde.org/applications/education/ktouch/" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdeedu') +depends=('kdebase-runtime') +makedepends=('cmake' 'automoc4') +install=${pkgname}.install +source=("http://download.kde.org/unstable/${pkgver}/src/ktouch-${pkgver}.tar.bz2") +sha1sums=('ebba0f8d22ca06db2488d1059b41432fce6b7a67') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../ktouch-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdeedu-ktouch/kdeedu-ktouch.install b/kde-unstable/kdeedu-ktouch/kdeedu-ktouch.install new file mode 100644 index 000000000..e70c054ec --- /dev/null +++ b/kde-unstable/kdeedu-ktouch/kdeedu-ktouch.install @@ -0,0 +1,11 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdeedu-kturtle/PKGBUILD b/kde-unstable/kdeedu-kturtle/PKGBUILD new file mode 100644 index 000000000..06635be37 --- /dev/null +++ b/kde-unstable/kdeedu-kturtle/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 143376 2011-11-24 16:15:26Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> + +pkgname=kdeedu-kturtle +pkgver=4.7.80 +pkgrel=1 +pkgdesc="Educational Programming Environment" +url="http://kde.org/applications/education/kturtle/" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdeedu') +depends=('kdebase-runtime') +makedepends=('cmake' 'automoc4') +install=${pkgname}.install +source=("http://download.kde.org/unstable/${pkgver}/src/kturtle-${pkgver}.tar.bz2") +sha1sums=('85e087446b2e6633658ad71e8d64c446a1029b6b') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../kturtle-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdeedu-kturtle/kdeedu-kturtle.install b/kde-unstable/kdeedu-kturtle/kdeedu-kturtle.install new file mode 100644 index 000000000..e70c054ec --- /dev/null +++ b/kde-unstable/kdeedu-kturtle/kdeedu-kturtle.install @@ -0,0 +1,11 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdeedu-kwordquiz/PKGBUILD b/kde-unstable/kdeedu-kwordquiz/PKGBUILD new file mode 100644 index 000000000..3e2415ee6 --- /dev/null +++ b/kde-unstable/kdeedu-kwordquiz/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 143378 2011-11-24 16:15:29Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> + +pkgname=kdeedu-kwordquiz +pkgver=4.7.80 +pkgrel=1 +pkgdesc="Flash Card Trainer" +url="http://kde.org/applications/education/kwordquiz/" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdeedu') +depends=('kdebase-runtime' 'libkdeedu') +makedepends=('cmake' 'automoc4') +install=${pkgname}.install +source=("http://download.kde.org/unstable/${pkgver}/src/kwordquiz-${pkgver}.tar.bz2") +sha1sums=('6bca16d9ad9d0df0517bec8b944f8e61c89f16c6') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../kwordquiz-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdeedu-kwordquiz/kdeedu-kwordquiz.install b/kde-unstable/kdeedu-kwordquiz/kdeedu-kwordquiz.install new file mode 100644 index 000000000..81ce5c4b0 --- /dev/null +++ b/kde-unstable/kdeedu-kwordquiz/kdeedu-kwordquiz.install @@ -0,0 +1,12 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdeedu-marble/PKGBUILD b/kde-unstable/kdeedu-marble/PKGBUILD new file mode 100644 index 000000000..cd5efacfd --- /dev/null +++ b/kde-unstable/kdeedu-marble/PKGBUILD @@ -0,0 +1,32 @@ +# $Id: PKGBUILD 143314 2011-11-24 16:14:04Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> + +pkgname=kdeedu-marble +pkgver=4.7.80 +pkgrel=1 +pkgdesc="Desktop Globe" +url="http://kde.org/applications/education/marble/" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdeedu') +depends=('kdebase-runtime') +makedepends=('cmake' 'automoc4' 'gpsd') +optdepends=('gpsd: gps support') +install=${pkgname}.install +source=("http://download.kde.org/unstable/${pkgver}/src/marble-${pkgver}.tar.bz2") +sha1sums=('e525f3bca3bef13a3506f5b295847e62fd69e4b2') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../marble-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdeedu-marble/kdeedu-marble.install b/kde-unstable/kdeedu-marble/kdeedu-marble.install new file mode 100644 index 000000000..81ce5c4b0 --- /dev/null +++ b/kde-unstable/kdeedu-marble/kdeedu-marble.install @@ -0,0 +1,12 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdeedu-parley/PKGBUILD b/kde-unstable/kdeedu-parley/PKGBUILD new file mode 100644 index 000000000..51199cf74 --- /dev/null +++ b/kde-unstable/kdeedu-parley/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 143380 2011-11-24 16:15:34Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> + +pkgname=kdeedu-parley +pkgver=4.7.80 +pkgrel=1 +pkgdesc="Vocabulary Trainer" +url="http://kde.org/applications/education/parley/" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdeedu') +depends=('kdebase-runtime' 'libkdeedu') +makedepends=('cmake' 'automoc4') +install=${pkgname}.install +source=("http://download.kde.org/unstable/${pkgver}/src/parley-${pkgver}.tar.bz2") +sha1sums=('be0824a60c1c33e19b1399d5995d7f9692a98a3f') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../parley-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdeedu-parley/kdeedu-parley.install b/kde-unstable/kdeedu-parley/kdeedu-parley.install new file mode 100644 index 000000000..81ce5c4b0 --- /dev/null +++ b/kde-unstable/kdeedu-parley/kdeedu-parley.install @@ -0,0 +1,12 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdeedu-rocs/PKGBUILD b/kde-unstable/kdeedu-rocs/PKGBUILD new file mode 100644 index 000000000..33e77fd6a --- /dev/null +++ b/kde-unstable/kdeedu-rocs/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 143382 2011-11-24 16:15:38Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> + +pkgname=kdeedu-rocs +pkgver=4.7.80 +pkgrel=1 +pkgdesc="Rocs Graph Theory" +url="http://kde.org/applications/education/rocs/" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdeedu') +depends=('kdebase-runtime' 'boost-libs') +makedepends=('cmake' 'automoc4' 'boost') +source=("http://download.kde.org/unstable/${pkgver}/src/rocs-${pkgver}.tar.bz2") +sha1sums=('dca8675203a9c9d9d384d0b236507cb3380cf75e') +options=('!makeflags') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../rocs-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdeedu-step/PKGBUILD b/kde-unstable/kdeedu-step/PKGBUILD new file mode 100644 index 000000000..df3186e81 --- /dev/null +++ b/kde-unstable/kdeedu-step/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 143384 2011-11-24 16:15:43Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> + +pkgname=kdeedu-step +pkgver=4.7.80 +pkgrel=1 +pkgdesc="Interactive Physical Simulator" +url="http://kde.org/applications/education/step/" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdeedu') +depends=('kdebase-runtime' 'libqalculate' 'gsl' 'eigen') +makedepends=('cmake' 'automoc4') +install=${pkgname}.install +source=("http://download.kde.org/unstable/${pkgver}/src/step-${pkgver}.tar.bz2") +sha1sums=('fd2f8f931d74c050feec57f6cf6a9e484dc59fd9') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../step-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdeedu-step/kdeedu-step.install b/kde-unstable/kdeedu-step/kdeedu-step.install new file mode 100644 index 000000000..e70c054ec --- /dev/null +++ b/kde-unstable/kdeedu-step/kdeedu-step.install @@ -0,0 +1,11 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdegames/PKGBUILD b/kde-unstable/kdegames/PKGBUILD new file mode 100644 index 000000000..5ef47f9ca --- /dev/null +++ b/kde-unstable/kdegames/PKGBUILD @@ -0,0 +1,515 @@ +# $Id: PKGBUILD 143386 2011-11-24 16:15:52Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> +# Contributor: Pierre Schmitz <pierre@archlinux.de> + +pkgbase=kdegames +pkgname=('kdegames-bomber' + 'kdegames-bovo' + 'kdegames-granatier' + 'kdegames-kajongg' + 'kdegames-kapman' + 'kdegames-katomic' + 'kdegames-kbattleship' + 'kdegames-kblackbox' + 'kdegames-kblocks' + 'kdegames-kbounce' + 'kdegames-kbreakout' + 'kdegames-kdiamond' + 'kdegames-kfourinline' + 'kdegames-kgoldrunner' + 'kdegames-kigo' + 'kdegames-killbots' + 'kdegames-kiriki' + 'kdegames-kjumpingcube' + 'kdegames-klines' + 'kdegames-klickety' + 'kdegames-kmahjongg' + 'kdegames-kmines' + 'kdegames-knetwalk' + 'kdegames-kolf' + 'kdegames-kollision' + 'kdegames-konquest' + 'kdegames-kpatience' + 'kdegames-kreversi' + 'kdegames-kshisen' + 'kdegames-ksirk' + 'kdegames-kspaceduel' + 'kdegames-ksquares' + 'kdegames-ksudoku' + 'kdegames-ktron' + 'kdegames-ktuberling' + 'kdegames-kubrick' + 'kdegames-libkdegames' + 'kdegames-libkmahjongg' + 'kdegames-lskat' + 'kdegames-palapeli') +pkgver=4.7.80 +pkgrel=1 +arch=('i686' 'x86_64') +url='http://www.kde.org' +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdegames') +makedepends=('cmake' 'automoc4' 'ggz-client-libs' 'twisted' 'kdebindings-python' + 'openal') +source=("http://download.kde.org/unstable/${pkgver}/src/${pkgbase}-${pkgver}.tar.bz2") +sha1sums=('11583e33d6a8ad6eb1a5f98d11338940083bfea4') + +build() { + cd $srcdir + mkdir build + cd build + cmake ../${pkgbase}-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_SKIP_RPATH=ON \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DPYTHON_EXECUTABLE=/usr/bin/python2 + make +} + +package_kdegames-bomber() { + pkgdesc='Arcade Bombing Game' + depends=('kdebase-runtime' 'kdegames-libkdegames') + url="http://kde.org/applications/games/bomber/" + install='kdegames.install' + cd $srcdir/build/bomber + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/bomber + make DESTDIR=$pkgdir install +} + +package_kdegames-bovo() { + pkgdesc='Five-in-a-row Board Game' + depends=('kdebase-runtime' 'kdegames-libkdegames') + url="http://kde.org/applications/games/bovo/" + install='kdegames.install' + cd $srcdir/build/bovo + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/bovo + make DESTDIR=$pkgdir install +} + +package_kdegames-granatier() { + pkgdesc='Granatier' + depends=('kdebase-runtime' 'kdegames-libkdegames' 'openal') + url="http://kde.org/applications/games/granatier/" + install='kdegames.install' + cd $srcdir/build/granatier + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/granatier + make DESTDIR=$pkgdir install +} + +package_kdegames-kajongg() { + pkgdesc='The ancient Chinese board game for 4 players' + depends=('kdegames-libkdegames' 'kdegames-libkmahjongg' 'kdebindings-python' 'twisted') + install='kdegames.install' + cd $srcdir/build/kajongg + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/kajongg + make DESTDIR=$pkgdir install + + # Use the python2 executable + find "${pkgdir}" -name '*.py' | xargs sed -i 's|#!/usr/bin/env python|#!/usr/bin/env python2|' +} + +package_kdegames-kapman() { + pkgdesc='Eat pills escaping ghosts' + depends=('kdebase-runtime' 'kdegames-libkdegames') + url="http://kde.org/applications/games/kapman/" + install='kdegames.install' + cd $srcdir/build/kapman + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/kapman + make DESTDIR=$pkgdir install +} + +package_kdegames-katomic() { + pkgdesc='Sokoban-like Logic Game' + depends=('kdebase-runtime' 'kdegames-libkdegames') + url="http://kde.org/applications/games/katomic/" + install='kdegames.install' + cd $srcdir/build/katomic + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/katomic + make DESTDIR=$pkgdir install +} + +package_kdegames-kbattleship() { + pkgdesc='Battleship Game' + depends=('kdebase-runtime' 'kdegames-libkdegames' 'ggz-client-libs') + url="http://kde.org/applications/games/kbattleship/" + install='kdegames-kbattleship.install' + cd $srcdir/build/kbattleship + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/kbattleship + make DESTDIR=$pkgdir install + install -D -m644 $srcdir/${pkgbase}-${pkgver}/kbattleship/src/module.dsc \ + $pkgdir/usr/share/ggz/kbattleship.dsc +} + +package_kdegames-kblackbox() { + pkgdesc='Blackbox Logic Game' + depends=('kdebase-runtime' 'kdegames-libkdegames') + url="http://kde.org/applications/games/kblackbox/" + install='kdegames.install' + cd $srcdir/build/kblackbox + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/kblackbox + make DESTDIR=$pkgdir install +} + +package_kdegames-kblocks() { + pkgdesc='Falling Blocks Game' + depends=('kdebase-runtime' 'kdegames-libkdegames') + url="http://kde.org/applications/games/kblocks/" + install='kdegames.install' + cd $srcdir/build/kblocks + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/kblocks + make DESTDIR=$pkgdir install +} + +package_kdegames-kbounce() { + pkgdesc='Ball Bouncing Game' + depends=('kdebase-runtime' 'kdegames-libkdegames') + url="http://kde.org/applications/games/kbounce/" + install='kdegames.install' + cd $srcdir/build/kbounce + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/kbounce + make DESTDIR=$pkgdir install +} + +package_kdegames-kbreakout() { + pkgdesc='Breakout-like Game' + depends=('kdebase-runtime' 'kdegames-libkdegames') + url="http://kde.org/applications/games/kbreakout/" + install='kdegames.install' + cd $srcdir/build/kbreakout + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/kbreakout + make DESTDIR=$pkgdir install +} + +package_kdegames-kdiamond() { + pkgdesc='Three-in-a-row game' + depends=('kdebase-runtime' 'kdegames-libkdegames') + url="http://kde.org/applications/games/kdiamond/" + install='kdegames.install' + cd $srcdir/build/kdiamond + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/kdiamond + make DESTDIR=$pkgdir install +} + +package_kdegames-kfourinline() { + pkgdesc='Four-in-a-row Board Game' + depends=('kdebase-runtime' 'kdegames-libkdegames') + url="http://kde.org/applications/games/kfourinline/" + install='kdegames-kfourinline.install' + cd $srcdir/build/kfourinline + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/kfourinline + make DESTDIR=$pkgdir install +} + +package_kdegames-kgoldrunner() { + pkgdesc='A game of action and puzzle-solving' + depends=('kdebase-runtime' 'kdegames-libkdegames' 'openal') + url="http://kde.org/applications/games/kgoldrunner/" + install='kdegames.install' + cd $srcdir/build/kgoldrunner + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/kgoldrunner + make DESTDIR=$pkgdir install +} + +package_kdegames-kigo() { + pkgdesc='Go Board Game' + depends=('kdebase-runtime' 'kdegames-libkdegames' 'gnugo') + url="http://kde.org/applications/games/kigo/" + install='kdegames-kigo.install' + cd $srcdir/build/kigo + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/kigo + make DESTDIR=$pkgdir install +} + +package_kdegames-killbots() { + pkgdesc='Killbots' + depends=('kdebase-runtime' 'kdegames-libkdegames') + url="http://kde.org/applications/games/killbots/" + install='kdegames.install' + cd $srcdir/build/killbots + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/killbots + make DESTDIR=$pkgdir install +} + +package_kdegames-kiriki() { + pkgdesc='Yahtzee-like Dice Game' + depends=('kdebase-runtime' 'kdegames-libkdegames') + url="http://kde.org/applications/games/kiriki/" + install='kdegames.install' + cd $srcdir/build/kiriki + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/kiriki + make DESTDIR=$pkgdir install +} + +package_kdegames-kjumpingcube() { + pkgdesc='Territory Capture Game' + depends=('kdebase-runtime' 'kdegames-libkdegames') + url="http://kde.org/applications/games/kjumpingcube/" + install='kdegames.install' + cd $srcdir/build/kjumpingcube + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/kjumpingcube + make DESTDIR=$pkgdir install +} + +package_kdegames-klickety() { + pkgdesc='Board Game' + depends=('kdebase-runtime' 'kdegames-libkdegames') + replaces=('kdegames-ksame') + conflicts=('kdegames-ksame') + url="http://kde.org/applications/games/ksame/" + install='kdegames.install' + cd $srcdir/build/klickety + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/klickety + make DESTDIR=$pkgdir install +} + +package_kdegames-klines() { + pkgdesc='Tactical Game' + depends=('kdebase-runtime' 'kdegames-libkdegames') + url="http://kde.org/applications/games/klines/" + install='kdegames.install' + cd $srcdir/build/klines + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/klines + make DESTDIR=$pkgdir install +} + +package_kdegames-kmahjongg() { + pkgdesc='Mahjongg Solitaire' + depends=('kdebase-runtime' 'kdegames-libkdegames' 'kdegames-libkmahjongg') + url="http://kde.org/applications/games/kmahjongg/" + install='kdegames.install' + cd $srcdir/build/kmahjongg + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/kmahjongg + make DESTDIR=$pkgdir install +} + +package_kdegames-kmines() { + pkgdesc='Minesweeper-like Game' + depends=('kdebase-runtime' 'kdegames-libkdegames') + url="http://kde.org/applications/games/kmines/" + install='kdegames.install' + cd $srcdir/build/kmines + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/kmines + make DESTDIR=$pkgdir install +} + +package_kdegames-knetwalk() { + pkgdesc='Network Construction Game' + depends=('kdebase-runtime' 'kdegames-libkdegames') + url="http://kde.org/applications/games/knetwalk/" + install='kdegames.install' + cd $srcdir/build/knetwalk + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/knetwalk + make DESTDIR=$pkgdir install +} + +package_kdegames-kolf() { + pkgdesc='Miniature Golf' + depends=('kdebase-runtime' 'kdegames-libkdegames') + url="http://kde.org/applications/games/kolf/" + install='kdegames-kolf.install' + cd $srcdir/build/kolf + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/kolf + make DESTDIR=$pkgdir install +} + +package_kdegames-kollision() { + pkgdesc='A simple ball dodging game' + depends=('kdebase-runtime' 'kdegames-libkdegames') + url="http://kde.org/applications/games/kollision/" + install='kdegames.install' + cd $srcdir/build/kollision + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/kollision + make DESTDIR=$pkgdir install +} + +package_kdegames-konquest() { + pkgdesc='Galactic Strategy Game' + depends=('kdebase-runtime' 'kdegames-libkdegames') + url="http://kde.org/applications/games/konquest/" + install='kdegames.install' + cd $srcdir/build/konquest + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/konquest + make DESTDIR=$pkgdir install +} + +package_kdegames-kpatience() { + pkgdesc='Patience Card Game' + depends=('kdebase-runtime' 'kdegames-libkdegames') + url="http://kde.org/applications/games/kpatience/" + install='kdegames-kpatience.install' + replaces=('kdegames-kpat') + cd $srcdir/build/kpat + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/kpat + make DESTDIR=$pkgdir install +} + +package_kdegames-kreversi() { + pkgdesc='Reversi Board Game' + depends=('kdebase-runtime' 'kdegames-libkdegames' 'ggz-client-libs') + url="http://kde.org/applications/games/kreversi/" + install='kdegames-kreversi.install' + cd $srcdir/build/kreversi + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/kreversi + make DESTDIR=$pkgdir install + install -D -m644 $srcdir/${pkgbase}-${pkgver}/kreversi/module.dsc \ + $pkgdir/usr/share/ggz/kreversi.dsc +} + +package_kdegames-kshisen() { + pkgdesc='Shisen-Sho Mahjongg-like Tile Game' + depends=('kdebase-runtime' 'kdegames-libkdegames' 'kdegames-libkmahjongg') + url="http://kde.org/applications/games/kshisen/" + install='kdegames.install' + cd $srcdir/build/kshisen + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/kshisen + make DESTDIR=$pkgdir install +} + +package_kdegames-ksirk() { + pkgdesc='World Domination Strategy Game' + depends=('kdebase-runtime' 'kdegames-libkdegames') + url="http://kde.org/applications/games/ksirk/" + install='kdegames.install' + cd $srcdir/build/ksirk + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/ksirk + make DESTDIR=$pkgdir install +} + +package_kdegames-kspaceduel() { + pkgdesc='Space Arcade Game' + depends=('kdebase-runtime' 'kdegames-libkdegames') + url="http://kde.org/applications/games/kspaceduel/" + install='kdegames-kspaceduel.install' + cd $srcdir/build/kspaceduel + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/kspaceduel + make DESTDIR=$pkgdir install +} + +package_kdegames-ksquares() { + pkgdesc='Connect the dots to create squares' + depends=('kdebase-runtime' 'kdegames-libkdegames' 'ggz-client-libs') + url="http://kde.org/applications/games/ksquares/" + install='kdegames-ksquares.install' + cd $srcdir/build/ksquares + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/ksquares + make DESTDIR=$pkgdir install + install -D -m644 $srcdir/${pkgbase}-${pkgver}/ksquares/src/module.dsc \ + $pkgdir/usr/share/ggz/ksquares.dsc +} + +package_kdegames-ksudoku() { + pkgdesc='KSudoku, Sudoku game & more for KDE' + depends=('kdebase-runtime' 'kdegames-libkdegames') + url="http://kde.org/applications/games/ksudoku/" + install='kdegames.install' + cd $srcdir/build/ksudoku + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/ksudoku + make DESTDIR=$pkgdir install +} + +package_kdegames-ktron() { + pkgdesc='Tron-like Game' + depends=('kdebase-runtime' 'kdegames-libkdegames') + url="http://kde.org/applications/games/ktron/" + install='kdegames.install' + cd $srcdir/build/ktron + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/ktron + make DESTDIR=$pkgdir install +} + +package_kdegames-ktuberling() { + pkgdesc='Picture Game for Children' + depends=('kdebase-runtime' 'kdegames-libkdegames') + url="http://kde.org/applications/games/ktuberling/" + install='kdegames-ktuberling.install' + cd $srcdir/build/ktuberling + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/ktuberling + make DESTDIR=$pkgdir install +} + +package_kdegames-kubrick() { + pkgdesc='A 3-D game based on Rubik´s Cube' + depends=('kdebase-runtime' 'kdegames-libkdegames') + url="http://kde.org/applications/games/kubrick/" + install='kdegames.install' + cd $srcdir/build/kubrick + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/kubrick + make DESTDIR=$pkgdir install +} + +package_kdegames-libkdegames() { + pkgdesc='KDE game library' + groups=() + depends=('kdelibs') + cd $srcdir/build/libkdegames + make DESTDIR=$pkgdir install + for i in $srcdir/${pkgbase}-${pkgver}/cmake/modules/*.cmake; do + install -D -m644 $i $pkgdir/usr/share/apps/cmake/modules/$(basename $i) + done +} + +package_kdegames-libkmahjongg() { + pkgdesc='Library used for loading and rendering of Mahjongg tilesets' + groups=() + depends=('kdelibs') + cd $srcdir/build/libkmahjongg + make DESTDIR=$pkgdir install +} + +package_kdegames-lskat() { + pkgdesc='Card Game' + depends=('kdebase-runtime' 'kdegames-libkdegames') + url="http://kde.org/applications/games/lskat/" + install='kdegames-lskat.install' + cd $srcdir/build/lskat + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/lskat + make DESTDIR=$pkgdir install +} + +package_kdegames-palapeli() { + pkgdesc='Jigsaw puzzle game' + depends=('kdebase-runtime' 'kdegames-libkdegames') + url="http://kde.org/applications/games/palapeli/" + install='kdegames-palapeli.install' + cd $srcdir/build/palapeli + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/palapeli + make DESTDIR=$pkgdir install +} diff --git a/kde-unstable/kdegames/kdegames-kbattleship.install b/kde-unstable/kdegames/kdegames-kbattleship.install new file mode 100644 index 000000000..ac4516ed0 --- /dev/null +++ b/kde-unstable/kdegames/kdegames-kbattleship.install @@ -0,0 +1,24 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null + update-desktop-database -q + ggz-config -i -f -m usr/share/ggz/kbattleship.dsc >& /dev/null +} + +pre_remove() { + if [ -f usr/share/ggz/kbattleship.dsc ]; then + ggz-config -r -m usr/share/ggz/kbattleship.dsc >& /dev/null + fi +} + +pre_upgrade() { + pre_remove +} + +post_upgrade() { + post_install +} + +post_remove() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null + update-desktop-database -q +} diff --git a/kde-unstable/kdegames/kdegames-kfourinline.install b/kde-unstable/kdegames/kdegames-kfourinline.install new file mode 100644 index 000000000..9b20edb30 --- /dev/null +++ b/kde-unstable/kdegames/kdegames-kfourinline.install @@ -0,0 +1,12 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdegames/kdegames-kigo.install b/kde-unstable/kdegames/kdegames-kigo.install new file mode 100644 index 000000000..9b20edb30 --- /dev/null +++ b/kde-unstable/kdegames/kdegames-kigo.install @@ -0,0 +1,12 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdegames/kdegames-kolf.install b/kde-unstable/kdegames/kdegames-kolf.install new file mode 100644 index 000000000..9b20edb30 --- /dev/null +++ b/kde-unstable/kdegames/kdegames-kolf.install @@ -0,0 +1,12 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdegames/kdegames-kpatience.install b/kde-unstable/kdegames/kdegames-kpatience.install new file mode 100644 index 000000000..9b20edb30 --- /dev/null +++ b/kde-unstable/kdegames/kdegames-kpatience.install @@ -0,0 +1,12 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdegames/kdegames-kreversi.install b/kde-unstable/kdegames/kdegames-kreversi.install new file mode 100644 index 000000000..4623e6e49 --- /dev/null +++ b/kde-unstable/kdegames/kdegames-kreversi.install @@ -0,0 +1,22 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null + ggz-config -i -f -m usr/share/ggz/kreversi.dsc >& /dev/null +} + +pre_remove() { + if [ -f usr/share/ggz/kreversi.dsc ]; then + ggz-config -r -m usr/share/ggz/kreversi.dsc >& /dev/null + fi +} + +pre_upgrade() { + pre_remove +} + +post_upgrade() { + post_install +} + +post_remove() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} diff --git a/kde-unstable/kdegames/kdegames-kspaceduel.install b/kde-unstable/kdegames/kdegames-kspaceduel.install new file mode 100644 index 000000000..9b20edb30 --- /dev/null +++ b/kde-unstable/kdegames/kdegames-kspaceduel.install @@ -0,0 +1,12 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdegames/kdegames-ksquares.install b/kde-unstable/kdegames/kdegames-ksquares.install new file mode 100644 index 000000000..5a619897d --- /dev/null +++ b/kde-unstable/kdegames/kdegames-ksquares.install @@ -0,0 +1,22 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null + ggz-config -i -f -m usr/share/ggz/ksquares.dsc >& /dev/null +} + +pre_remove() { + if [ -f usr/share/ggz/ksquares.dsc ]; then + ggz-config -r -m usr/share/ggz/ksquares.dsc >& /dev/null + fi +} + +pre_upgrade() { + pre_remove +} + +post_upgrade() { + post_install +} + +post_remove() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} diff --git a/kde-unstable/kdegames/kdegames-ktuberling.install b/kde-unstable/kdegames/kdegames-ktuberling.install new file mode 100644 index 000000000..9b20edb30 --- /dev/null +++ b/kde-unstable/kdegames/kdegames-ktuberling.install @@ -0,0 +1,12 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdegames/kdegames-lskat.install b/kde-unstable/kdegames/kdegames-lskat.install new file mode 100644 index 000000000..9b20edb30 --- /dev/null +++ b/kde-unstable/kdegames/kdegames-lskat.install @@ -0,0 +1,12 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdegames/kdegames-palapeli.install b/kde-unstable/kdegames/kdegames-palapeli.install new file mode 100644 index 000000000..c77e68041 --- /dev/null +++ b/kde-unstable/kdegames/kdegames-palapeli.install @@ -0,0 +1,13 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null + update-mime-database usr/share/mime &> /dev/null + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdegames/kdegames.install b/kde-unstable/kdegames/kdegames.install new file mode 100644 index 000000000..e70c054ec --- /dev/null +++ b/kde-unstable/kdegames/kdegames.install @@ -0,0 +1,11 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdegraphics-gwenview/PKGBUILD b/kde-unstable/kdegraphics-gwenview/PKGBUILD new file mode 100644 index 000000000..377064424 --- /dev/null +++ b/kde-unstable/kdegraphics-gwenview/PKGBUILD @@ -0,0 +1,32 @@ +# $Id: PKGBUILD 143388 2011-11-24 16:15:56Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> + +pkgname=kdegraphics-gwenview +pkgver=4.7.80 +pkgrel=1 +pkgdesc="A fast and easy to use image viewer for KDE" +url="http://kde.org/applications/graphics/gwenview/" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdegraphics') +depends=('kdebase-lib' 'libkipi') +makedepends=('cmake' 'automoc4') +optdepends=('kipi-plugins: extra plugins to share photos') +install=$pkgname.install +source=("http://download.kde.org/unstable/${pkgver}/src/gwenview-${pkgver}.tar.bz2") +sha1sums=('7d8a9a99f28b36e8acbd42815929e91c4b9f94eb') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../gwenview-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdegraphics-gwenview/kdegraphics-gwenview.install b/kde-unstable/kdegraphics-gwenview/kdegraphics-gwenview.install new file mode 100644 index 000000000..81ce5c4b0 --- /dev/null +++ b/kde-unstable/kdegraphics-gwenview/kdegraphics-gwenview.install @@ -0,0 +1,12 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdegraphics-kamera/PKGBUILD b/kde-unstable/kdegraphics-kamera/PKGBUILD new file mode 100644 index 000000000..ab9286568 --- /dev/null +++ b/kde-unstable/kdegraphics-kamera/PKGBUILD @@ -0,0 +1,30 @@ +# $Id: PKGBUILD 143390 2011-11-24 16:15:58Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> + +pkgname=kdegraphics-kamera +pkgver=4.7.80 +pkgrel=1 +pkgdesc="Configure Kamera" +url="http://kde.org/applications/graphics/kamera/" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdegraphics') +depends=('kdebase-runtime' 'gphoto2') +makedepends=('cmake' 'automoc4') +source=("http://download.kde.org/unstable/${pkgver}/src/kamera-${pkgver}.tar.bz2") +sha1sums=('10a794c4e8e3d26df808d6ea76c9231574f5635a') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../kamera-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdegraphics-kcolorchooser/PKGBUILD b/kde-unstable/kdegraphics-kcolorchooser/PKGBUILD new file mode 100644 index 000000000..d907e2a73 --- /dev/null +++ b/kde-unstable/kdegraphics-kcolorchooser/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 143392 2011-11-24 16:16:00Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> + +pkgname=kdegraphics-kcolorchooser +pkgver=4.7.80 +pkgrel=1 +pkgdesc="Color Chooser" +url="http://kde.org/applications/graphics/kcolorchooser/" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdegraphics') +depends=('kdebase-runtime') +makedepends=('cmake' 'automoc4') +install=${pkgname}.install +source=("http://download.kde.org/unstable/${pkgver}/src/kcolorchooser-${pkgver}.tar.bz2") +sha1sums=('611ed0489f2b913d8bba4938bb250e5c93f7bc10') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../kcolorchooser-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdegraphics-kcolorchooser/kdegraphics-kcolorchooser.install b/kde-unstable/kdegraphics-kcolorchooser/kdegraphics-kcolorchooser.install new file mode 100644 index 000000000..e70c054ec --- /dev/null +++ b/kde-unstable/kdegraphics-kcolorchooser/kdegraphics-kcolorchooser.install @@ -0,0 +1,11 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdegraphics-kgamma/PKGBUILD b/kde-unstable/kdegraphics-kgamma/PKGBUILD new file mode 100644 index 000000000..4bc017e9d --- /dev/null +++ b/kde-unstable/kdegraphics-kgamma/PKGBUILD @@ -0,0 +1,33 @@ +# $Id: PKGBUILD 143394 2011-11-24 16:16:03Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> + +pkgname=kdegraphics-kgamma +pkgver=4.7.80 +pkgrel=1 +pkgdesc="A monitor calibration tool" +url="http://kde.org/applications/graphics/kgamma/" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdegraphics') +# note on libxxf86vm: +# not detected by namcap because libgl depends on it +# but nvidia providing libgl does not depend on libxxf86vm +depends=('kdebase-runtime' 'libxxf86vm') +makedepends=('cmake' 'automoc4') +source=("http://download.kde.org/unstable/${pkgver}/src/kgamma-${pkgver}.tar.bz2") +sha1sums=('76ed0d777f6cde5c6c2facf39cebba4d3e60b8aa') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../kgamma-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdegraphics-kolourpaint/PKGBUILD b/kde-unstable/kdegraphics-kolourpaint/PKGBUILD new file mode 100644 index 000000000..4be57e33d --- /dev/null +++ b/kde-unstable/kdegraphics-kolourpaint/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 143396 2011-11-24 16:16:05Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> + +pkgname=kdegraphics-kolourpaint +pkgver=4.7.80 +pkgrel=1 +pkgdesc="Paint Program" +url="http://kde.org/applications/graphics/kolourpaint/" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdegraphics') +depends=('kdebase-runtime' 'qimageblitz') +makedepends=('cmake' 'automoc4') +install=${pkgname}.install +source=("http://download.kde.org/unstable/${pkgver}/src/kolourpaint-${pkgver}.tar.bz2") +sha1sums=('7d2e2eee77fe9307eef18cb5accd476fbb55fa57') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../kolourpaint-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdegraphics-kolourpaint/kdegraphics-kolourpaint.install b/kde-unstable/kdegraphics-kolourpaint/kdegraphics-kolourpaint.install new file mode 100644 index 000000000..81ce5c4b0 --- /dev/null +++ b/kde-unstable/kdegraphics-kolourpaint/kdegraphics-kolourpaint.install @@ -0,0 +1,12 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdegraphics-kruler/PKGBUILD b/kde-unstable/kdegraphics-kruler/PKGBUILD new file mode 100644 index 000000000..cc36025a5 --- /dev/null +++ b/kde-unstable/kdegraphics-kruler/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 143398 2011-11-24 16:16:06Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> + +pkgname=kdegraphics-kruler +pkgver=4.7.80 +pkgrel=1 +pkgdesc="Screen Ruler" +url="http://kde.org/applications/graphics/kruler/" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdegraphics') +depends=('kdebase-runtime') +makedepends=('cmake' 'automoc4') +install=${pkgname}.install +source=("http://download.kde.org/unstable/${pkgver}/src/kruler-${pkgver}.tar.bz2") +sha1sums=('efbd6ceef6645ab14eb0a6b4e142a1c6cbfaa47e') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../kruler-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdegraphics-kruler/kdegraphics-kruler.install b/kde-unstable/kdegraphics-kruler/kdegraphics-kruler.install new file mode 100644 index 000000000..81ce5c4b0 --- /dev/null +++ b/kde-unstable/kdegraphics-kruler/kdegraphics-kruler.install @@ -0,0 +1,12 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdegraphics-ksaneplugin/PKGBUILD b/kde-unstable/kdegraphics-ksaneplugin/PKGBUILD new file mode 100644 index 000000000..d084c5851 --- /dev/null +++ b/kde-unstable/kdegraphics-ksaneplugin/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 143400 2011-11-24 16:16:09Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> + +pkgname=kdegraphics-ksaneplugin +pkgver=4.7.80 +pkgrel=1 +pkgdesc="A scan plugin that implements the scanning" +url="http://kde.org/" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +depends=('libksane') +makedepends=('cmake' 'automoc4') +replaces=('kdegraphics-libs') +conflicts=('kdegraphics-libs') +source=("http://download.kde.org/unstable/${pkgver}/src/ksaneplugin-${pkgver}.tar.bz2") +sha1sums=('57af20b3a7f6973e3a4e881522443ccf40f39e2e') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../ksaneplugin-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdegraphics-ksnapshot/PKGBUILD b/kde-unstable/kdegraphics-ksnapshot/PKGBUILD new file mode 100644 index 000000000..1efef8d49 --- /dev/null +++ b/kde-unstable/kdegraphics-ksnapshot/PKGBUILD @@ -0,0 +1,32 @@ +# $Id: PKGBUILD 143402 2011-11-24 16:16:11Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> + +pkgname=kdegraphics-ksnapshot +pkgver=4.7.80 +pkgrel=1 +pkgdesc="Screen Capture Program" +url="http://kde.org/applications/graphics/ksnapshot/" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdegraphics') +depends=('kdelibs' 'libkipi') +makedepends=('cmake' 'automoc4') +optdepends=('kipi-plugins') +install=${pkgname}.install +source=("http://download.kde.org/unstable/${pkgver}/src/ksnapshot-${pkgver}.tar.bz2") +sha1sums=('5016877111e974fb745e33a36900fa2be4665279') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../ksnapshot-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdegraphics-ksnapshot/kdegraphics-ksnapshot.install b/kde-unstable/kdegraphics-ksnapshot/kdegraphics-ksnapshot.install new file mode 100644 index 000000000..81ce5c4b0 --- /dev/null +++ b/kde-unstable/kdegraphics-ksnapshot/kdegraphics-ksnapshot.install @@ -0,0 +1,12 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdegraphics-mobipocket/PKGBUILD b/kde-unstable/kdegraphics-mobipocket/PKGBUILD new file mode 100644 index 000000000..77dd2876a --- /dev/null +++ b/kde-unstable/kdegraphics-mobipocket/PKGBUILD @@ -0,0 +1,32 @@ +# $Id: PKGBUILD 143404 2011-11-24 16:16:13Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> + +pkgname=kdegraphics-mobipocket +pkgver=4.7.80 +pkgrel=1 +pkgdesc="A collection of plugins to handle mobipocket files" +url="http://kde.org/" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +depends=('kdelibs') +makedepends=('cmake' 'automoc4') +replaces=('kdegraphics-libs') +conflicts=('kdegraphics-libs') +install=${pkgname}.install +source=("http://download.kde.org/unstable/${pkgver}/src/mobipocket-${pkgver}.tar.bz2") +sha1sums=('1da0a6d283b0ee361afeb27b0e03901581b86e8a') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../mobipocket-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdegraphics-mobipocket/kdegraphics-mobipocket.install b/kde-unstable/kdegraphics-mobipocket/kdegraphics-mobipocket.install new file mode 100644 index 000000000..660593cf5 --- /dev/null +++ b/kde-unstable/kdegraphics-mobipocket/kdegraphics-mobipocket.install @@ -0,0 +1,11 @@ +post_install() { + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdegraphics-okular/PKGBUILD b/kde-unstable/kdegraphics-okular/PKGBUILD new file mode 100644 index 000000000..554ca1f62 --- /dev/null +++ b/kde-unstable/kdegraphics-okular/PKGBUILD @@ -0,0 +1,34 @@ +# $Id: PKGBUILD 143292 2011-11-24 16:13:32Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> + +pkgname=kdegraphics-okular +pkgver=4.7.80 +pkgrel=1 +pkgdesc='Document Viewer' +arch=('i686' 'x86_64') +url="http://kde.org/applications/graphics/okular/" +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdegraphics') +depends=('kdebase-runtime' 'qimageblitz' 'poppler-qt' 'chmlib' 'djvulibre' + 'ebook-tools' 'libspectre') +makedepends=('cmake' 'automoc4') +optdepends=('kdegraphics-mobipocket: mobipocket support') +install=${pkgname}.install +source=("http://download.kde.org/unstable/${pkgver}/src/okular-${pkgver}.tar.bz2") +sha1sums=('971562ce741fc6d4afb6c80dc405984b77ef7bfa') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../okular-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_SKIP_RPATH=ON \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdegraphics-okular/kdegraphics-okular.install b/kde-unstable/kdegraphics-okular/kdegraphics-okular.install new file mode 100644 index 000000000..81ce5c4b0 --- /dev/null +++ b/kde-unstable/kdegraphics-okular/kdegraphics-okular.install @@ -0,0 +1,12 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdegraphics-strigi-analyzer/PKGBUILD b/kde-unstable/kdegraphics-strigi-analyzer/PKGBUILD new file mode 100644 index 000000000..cab45048e --- /dev/null +++ b/kde-unstable/kdegraphics-strigi-analyzer/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 143406 2011-11-24 16:16:15Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> + +pkgname=kdegraphics-strigi-analyzer +pkgver=4.7.80 +pkgrel=1 +pkgdesc="Strigi analyzers for various graphics file formats" +url="http://kde.org/" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +depends=('kdelibs') +makedepends=('cmake' 'automoc4') +replaces=('kdegraphics-libs') +conflicts=('kdegraphics-libs') +source=("http://download.kde.org/unstable/${pkgver}/src/${pkgname}-${pkgver}.tar.bz2") +sha1sums=('3a7dbc47de312d08d804bbfa394bc9c2a454cd5c') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../${pkgname}-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdegraphics-svgpart/PKGBUILD b/kde-unstable/kdegraphics-svgpart/PKGBUILD new file mode 100644 index 000000000..930d12fa0 --- /dev/null +++ b/kde-unstable/kdegraphics-svgpart/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 143408 2011-11-24 16:16:17Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> + +pkgname=kdegraphics-svgpart +pkgver=4.7.80 +pkgrel=1 +pkgdesc="A KPart for viewving SVGs" +url="http://kde.org/" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +depends=('kdelibs') +makedepends=('cmake' 'automoc4') +replaces=('kdegraphics-libs') +conflicts=('kdegraphics-libs') +source=("http://download.kde.org/unstable/${pkgver}/src/svgpart-${pkgver}.tar.bz2") +sha1sums=('41f05ccdb5a903fc2b91a685477271b3b4c8d72e') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../svgpart-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdegraphics-thumbnailers/PKGBUILD b/kde-unstable/kdegraphics-thumbnailers/PKGBUILD new file mode 100644 index 000000000..d6a0d8de2 --- /dev/null +++ b/kde-unstable/kdegraphics-thumbnailers/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 143410 2011-11-24 16:16:19Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> + +pkgname=kdegraphics-thumbnailers +pkgver=4.7.80 +pkgrel=1 +pkgdesc="Thumbnailers for various graphics file formats" +url="http://kde.org/" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +depends=('libkexiv2' 'libkdcraw') +makedepends=('cmake' 'automoc4') +replaces=('kdegraphics-libs') +conflicts=('kdegraphics-libs') +source=("http://download.kde.org/unstable/${pkgver}/src/${pkgname}-${pkgver}.tar.bz2") +sha1sums=('b690cdf4175ea0ecefc5ae21c054d460e3ce508e') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../${pkgname}-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdelibs/PKGBUILD b/kde-unstable/kdelibs/PKGBUILD new file mode 100644 index 000000000..86a31d841 --- /dev/null +++ b/kde-unstable/kdelibs/PKGBUILD @@ -0,0 +1,56 @@ +# $Id: PKGBUILD 143279 2011-11-24 16:13:15Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org +# Contributor: Pierre Schmitz <pierre@archlinux.de> + +pkgname=kdelibs +pkgver=4.7.80 +pkgrel=1 +pkgdesc="KDE Core Libraries" +arch=('i686' 'x86_64') +url='http://www.kde.org' +license=('GPL' 'LGPL' 'FDL') +depends=('strigi' 'attica' 'libxss' 'xz' 'soprano' 'krb5' 'grantlee' + 'shared-desktop-ontologies' 'qca' 'libdbusmenu-qt' 'polkit-qt' + 'shared-mime-info' 'enchant' 'giflib' 'jasper' 'openexr' 'docbook-xsl' + 'phonon' 'upower' 'udisks' 'libxcursor') +makedepends=('cmake' 'automoc4' 'avahi' 'libgl' 'hspell') +replaces=('kdelibs-experimental') +install=${pkgname}.install +source=("http://download.kde.org/unstable/${pkgver}/src/${pkgname}-${pkgver}.tar.bz2" + 'kde-applications-menu.patch' 'archlinux-menu.patch') +sha1sums=('0dac96f3d7445bde8e2e7066986ca5656d441b02' + '86ee8c8660f19de8141ac99cd6943964d97a1ed7' + '63a850ab4196b9d06934f2b4a13acd9f7739bc67') + +build() { + cd "${srcdir}"/${pkgname}-${pkgver} + + # avoid file conflict with gnome-menus + patch -p1 -i "${srcdir}"/kde-applications-menu.patch + # add Archlinux menu entry + patch -p1 -i "${srcdir}"/archlinux-menu.patch + + cd "${srcdir}" + mkdir build + cd build + cmake ../${pkgname}-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_SKIP_RPATH=ON \ + -DKDE_DISTRIBUTION_TEXT='Arch Linux' \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DSYSCONF_INSTALL_DIR=/etc \ + -DHTML_INSTALL_DIR=/usr/share/doc/kde/html \ + -DKDE_DEFAULT_HOME='.kde4' \ + -DWITH_FAM=OFF + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install + + # cert bundle seems to be hardcoded + # link it to the one from ca-certificates + rm -f "${pkgdir}"/usr/share/apps/kssl/ca-bundle.crt + ln -sf /etc/ssl/certs/ca-certificates.crt "${pkgdir}"/usr/share/apps/kssl/ca-bundle.crt +} diff --git a/kde-unstable/kdelibs/archlinux-menu.patch b/kde-unstable/kdelibs/archlinux-menu.patch new file mode 100644 index 000000000..546784fa2 --- /dev/null +++ b/kde-unstable/kdelibs/archlinux-menu.patch @@ -0,0 +1,22 @@ +--- kdelibs-4.3.98/kded/applications.menu 2010-01-31 19:28:11.000000000 +0000 ++++ kdelibs-4.3.98/kded/applications.menu 2010-01-31 22:25:53.556043077 +0000 +@@ -16,11 +16,19 @@ + </DefaultLayout> + <Layout> + <Merge type="menus"/> ++ <Menuname>Arch Linux</Menuname> + <Menuname>Applications</Menuname> + <Merge type="files"/> + </Layout> + + <Menu> ++ <Name>Arch Linux</Name> ++ <Directory>Archlinux.directory</Directory> ++ <Include> ++ <Category>Archlinux</Category> ++ </Include> ++ </Menu> ++ <Menu> + <Name>Applications</Name> + <Directory>kde-unknown.directory</Directory> + <OnlyUnallocated/> diff --git a/kde-unstable/kdelibs/kde-applications-menu.patch b/kde-unstable/kdelibs/kde-applications-menu.patch new file mode 100644 index 000000000..4b513298a --- /dev/null +++ b/kde-unstable/kdelibs/kde-applications-menu.patch @@ -0,0 +1,22 @@ +--- kdelibs-4.3.98/kded/CMakeLists.txt 2009-10-02 14:55:17.000000000 +0000 ++++ kdelibs-4.3.98/kded/CMakeLists.txt 2010-01-31 22:16:13.946933892 +0000 +@@ -69,7 +69,7 @@ + if (WIN32) + install( FILES applications.menu DESTINATION ${SHARE_INSTALL_PREFIX}/xdg/menus ) + else (WIN32) +-install( FILES applications.menu DESTINATION ${SYSCONF_INSTALL_DIR}/xdg/menus ) ++install( FILES applications.menu DESTINATION ${SYSCONF_INSTALL_DIR}/xdg/menus RENAME kde-applications.menu ) + endif (WIN32) + install( FILES kdedmodule.desktop DESTINATION ${SERVICETYPES_INSTALL_DIR} ) + install( FILES kded.upd DESTINATION ${DATA_INSTALL_DIR}/kconf_update ) +--- kdelibs-4.3.98/kded/kbuildsycoca.cpp 2009-12-04 23:10:18.000000000 +0000 ++++ kdelibs-4.3.98/kded/kbuildsycoca.cpp 2010-01-31 22:16:13.962766572 +0000 +@@ -302,7 +302,7 @@ + if (!m_trackId.isEmpty()) + g_vfolder->setTrackId(m_trackId); + +- VFolderMenu::SubMenu *kdeMenu = g_vfolder->parseMenu("applications.menu", true); ++ VFolderMenu::SubMenu *kdeMenu = g_vfolder->parseMenu("kde-applications.menu", true); + + KServiceGroup::Ptr entry = g_bsgf->addNew("/", kdeMenu->directoryFile, KServiceGroup::Ptr(), false); + entry->setLayoutInfo(kdeMenu->layoutList); diff --git a/kde-unstable/kdelibs/kdelibs.install b/kde-unstable/kdelibs/kdelibs.install new file mode 100644 index 000000000..c77e68041 --- /dev/null +++ b/kde-unstable/kdelibs/kdelibs.install @@ -0,0 +1,13 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null + update-mime-database usr/share/mime &> /dev/null + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdemultimedia/PKGBUILD b/kde-unstable/kdemultimedia/PKGBUILD new file mode 100644 index 000000000..29264c7ee --- /dev/null +++ b/kde-unstable/kdemultimedia/PKGBUILD @@ -0,0 +1,108 @@ +# $Id: PKGBUILD 143412 2011-11-24 16:16:21Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> +# Contributor: Pierre Schmitz <pierre@archlinux.de> + +pkgbase=kdemultimedia +pkgname=('kdemultimedia-dragonplayer' + 'kdemultimedia-ffmpegthumbs' + 'kdemultimedia-juk' + 'kdemultimedia-kioslave' + 'kdemultimedia-kmix' + 'kdemultimedia-kscd' + 'kdemultimedia-mplayerthumbs') +pkgver=4.7.80 +pkgrel=1 +arch=('i686' 'x86_64') +url='http://www.kde.org' +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdemultimedia') +makedepends=('cmake' 'automoc4' 'kdelibs' 'tunepimp' 'ffmpeg' 'mplayer' + 'pulseaudio' 'libmusicbrainz3') +source=("http://download.kde.org/unstable/${pkgver}/src/${pkgbase}-${pkgver}.tar.bz2" + 'mplayerthumbs.config') +sha1sums=('44b9adf781fcbebe1214fc87b006bf13ddd8b702' + 'ba016fa2563c14ffcba852c62506b66bfc6ee683') + +build() { + cd ${srcdir} + mkdir build + cd build + cmake ../${pkgbase}-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_SKIP_RPATH=ON \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package_kdemultimedia-dragonplayer() { + pkgdesc='Video Player' + depends=('kdebase-runtime') + url="http://kde.org/applications/multimedia/dragonplayer/" + install='kdemultimedia-dragonplayer.install' + cd $srcdir/build/dragonplayer + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/dragonplayer + make DESTDIR=$pkgdir install +} + +package_kdemultimedia-ffmpegthumbs() { + pkgdesc='Video Files (ffmpegthumbs)' + depends=('kdebase-runtime' 'ffmpeg') + install='kdemultimedia.install' + cd $srcdir/build/ffmpegthumbs + make DESTDIR=$pkgdir install +} + +package_kdemultimedia-juk() { + pkgdesc='Music Player' + depends=('kdebase-runtime' 'tunepimp') + url="http://kde.org/applications/multimedia/juk" + install='kdemultimedia.install' + cd $srcdir/build/juk + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/juk + make DESTDIR=$pkgdir install +} + +package_kdemultimedia-kioslave() { + pkgdesc='Audio CD Browser' + depends=('kdelibs' 'libmusicbrainz3' 'cdparanoia') + conflicts=('kdemultimedia-libkcddb' 'kdemultimedia-libkcompactdisc') + replaces=('kdemultimedia-libkcddb' 'kdemultimedia-libkcompactdisc') + for i in kioslave doc/kioslave libkcddb libkcompactdisc; do + cd $srcdir/build/${i} + make DESTDIR=$pkgdir install + done +} + +package_kdemultimedia-kmix() { + pkgdesc='Sound Mixer' + depends=('kdebase-runtime') + url="http://kde.org/applications/multimedia/kmix" + install='kdemultimedia.install' + cd $srcdir/build/kmix + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/kmix + make DESTDIR=$pkgdir install +} + +package_kdemultimedia-kscd() { + pkgdesc='CD Player' + depends=('kdebase-runtime' 'libmusicbrainz3') + url="http://kde.org/applications/multimedia/kscd" + install='kdemultimedia.install' + cd $srcdir/build/kscd + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/kcontrol/cddbretrieval + make DESTDIR=$pkgdir install +} + +package_kdemultimedia-mplayerthumbs() { + pkgdesc='Video Files (MPlayerThumbs)' + depends=('kdebase-runtime' 'mplayer') + replaces=('mplayerthumbs') + conflicts=('mplayerthumbs') + cd $srcdir/build/mplayerthumbs + make DESTDIR=$pkgdir install + install -D -m644 $srcdir/mplayerthumbs.config $pkgdir/usr/share/config/mplayerthumbs +} diff --git a/kde-unstable/kdemultimedia/kdemultimedia-dragonplayer.install b/kde-unstable/kdemultimedia/kdemultimedia-dragonplayer.install new file mode 100644 index 000000000..5495fb1b5 --- /dev/null +++ b/kde-unstable/kdemultimedia/kdemultimedia-dragonplayer.install @@ -0,0 +1,12 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdemultimedia/kdemultimedia.install b/kde-unstable/kdemultimedia/kdemultimedia.install new file mode 100644 index 000000000..e70c054ec --- /dev/null +++ b/kde-unstable/kdemultimedia/kdemultimedia.install @@ -0,0 +1,11 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdemultimedia/mplayerthumbs.config b/kde-unstable/kdemultimedia/mplayerthumbs.config new file mode 100644 index 000000000..761a17953 --- /dev/null +++ b/kde-unstable/kdemultimedia/mplayerthumbs.config @@ -0,0 +1,2 @@ +[MPlayerThumbsCfg] +backend=0 diff --git a/kde-unstable/kdenetwork/PKGBUILD b/kde-unstable/kdenetwork/PKGBUILD new file mode 100644 index 000000000..4b0cc1dc1 --- /dev/null +++ b/kde-unstable/kdenetwork/PKGBUILD @@ -0,0 +1,110 @@ +# $Id: PKGBUILD 143414 2011-11-24 16:16:24Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> +# Contributor: Pierre Schmitz <pierre@archlinux.de> + +pkgbase=kdenetwork +pkgname=('kdenetwork-filesharing' + 'kdenetwork-kdnssd' + 'kdenetwork-kget' + 'kdenetwork-kopete' + 'kdenetwork-kppp' + 'kdenetwork-krdc' + 'kdenetwork-krfb') +pkgver=4.7.80 +pkgrel=1 +arch=('i686' 'x86_64') +url='http://www.kde.org' +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdenetwork') +makedepends=('cmake' 'automoc4' 'boost' 'speex' 'ortp' 'libotr' 'ppp' + 'qca-ossl' 'kdebase-workspace' 'kdebase-lib' 'libvncserver' 'libmsn' + 'v4l-utils' 'libidn' 'rdesktop' 'qimageblitz' 'libxdamage' 'libgadu' + 'telepathy-qt4' 'libktorrent' 'libmms' 'mediastreamer') +source=("http://download.kde.org/unstable/${pkgver}/src/${pkgbase}-${pkgver}.tar.bz2") +sha1sums=('3ea7ab56d36260db9deaef2585feee80311ccfdc') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../${pkgbase}-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_SKIP_RPATH=ON \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DMOZPLUGIN_INSTALL_DIR=/usr/lib/mozilla/plugins/ \ + -DWITH_Xmms=OFF \ + -DWITH_LibMeanwhile=OFF + make +} + +package_kdenetwork-filesharing() { + pkgdesc='Konqueror properties dialog plugin to share a directory with the local network' + depends=('kdelibs' 'smbclient') + install='kdenetwork.install' + cd $srcdir/build/filesharing + make DESTDIR=$pkgdir install +} + +package_kdenetwork-kdnssd() { + pkgdesc='Monitors the network for DNS-SD services' + depends=('kdelibs') + cd $srcdir/build/kdnssd + make DESTDIR=$pkgdir install +} + +package_kdenetwork-kget() { + pkgdesc='Download Manager' + depends=('kdebase-workspace' 'kdebase-lib' 'libktorrent' 'libmms') + url="http://kde.org/applications/internet/kget/" + install='kdenetwork-kget.install' + cd $srcdir/build/kget + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/kget + make DESTDIR=$pkgdir install +} + +package_kdenetwork-kopete() { + pkgdesc='Instant Messenger' + depends=('kdebase-runtime' 'kdepimlibs' 'qca-ossl' 'libotr' 'libmsn' + 'libidn' 'qimageblitz' 'libgadu' 'mediastreamer') + url="http://kde.org/applications/internet/kopete/" + install='kdenetwork-kopete.install' + cd $srcdir/build/kopete + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/kopete + make DESTDIR=$pkgdir install +} + +package_kdenetwork-kppp() { + pkgdesc='Internet Dial-Up Tool' + depends=('kdebase-runtime' 'ppp') + url="http://kde.org/applications/internet/kppp/" + install='kdenetwork-kppp.install' + cd $srcdir/build/kppp + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/kppp + make DESTDIR=$pkgdir install +} + +package_kdenetwork-krdc() { + pkgdesc='Remote Desktop Client' + depends=('kdebase-runtime' 'libvncserver' 'rdesktop' 'telepathy-qt4') + optdepends=('kdebase-keditbookmarks: to edit bookmarks') + url="http://kde.org/applications/internet/krdc/" + cd $srcdir/build/krdc + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/krdc + make DESTDIR=$pkgdir install +} + +package_kdenetwork-krfb() { + pkgdesc='Desktop Sharing' + # note on libxdamage: + # not detected by namcap because libgl depends on it + # but nvidia providing libgl does not depend on libxdamage + depends=('kdebase-runtime' 'libvncserver' 'libxdamage') + cd $srcdir/build/krfb + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/krfb + make DESTDIR=$pkgdir install +} diff --git a/kde-unstable/kdenetwork/kdenetwork-kget.install b/kde-unstable/kdenetwork/kdenetwork-kget.install new file mode 100644 index 000000000..5495fb1b5 --- /dev/null +++ b/kde-unstable/kdenetwork/kdenetwork-kget.install @@ -0,0 +1,12 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdenetwork/kdenetwork-kopete.install b/kde-unstable/kdenetwork/kdenetwork-kopete.install new file mode 100644 index 000000000..5495fb1b5 --- /dev/null +++ b/kde-unstable/kdenetwork/kdenetwork-kopete.install @@ -0,0 +1,12 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdenetwork/kdenetwork-kppp.install b/kde-unstable/kdenetwork/kdenetwork-kppp.install new file mode 100644 index 000000000..5495fb1b5 --- /dev/null +++ b/kde-unstable/kdenetwork/kdenetwork-kppp.install @@ -0,0 +1,12 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdenetwork/kdenetwork.install b/kde-unstable/kdenetwork/kdenetwork.install new file mode 100644 index 000000000..e70c054ec --- /dev/null +++ b/kde-unstable/kdenetwork/kdenetwork.install @@ -0,0 +1,11 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdepim-runtime/PKGBUILD b/kde-unstable/kdepim-runtime/PKGBUILD new file mode 100644 index 000000000..51dc56b29 --- /dev/null +++ b/kde-unstable/kdepim-runtime/PKGBUILD @@ -0,0 +1,32 @@ +# $Id: PKGBUILD 143286 2011-11-24 16:13:23Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> +# Contributor: Pierre Schmitz <pierre@archlinux.de> + +pkgname=kdepim-runtime +pkgver=4.7.80 +pkgrel=1 +pkgdesc='KDE PIM Runtime Environment' +arch=('i686' 'x86_64') +url='http://www.kde.org' +license=('GPL' 'LGPL' 'FDL') +depends=('kdepimlibs' 'kdebase-runtime') +makedepends=('cmake' 'automoc4' 'boost') +install=${pkgname}.install +source=("http://download.kde.org/unstable/${pkgver}/src/${pkgname}-${pkgver}.tar.bz2") +sha1sums=('54de62929a8293d7a514e505ce63a46c7514a9e6') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../${pkgname}-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_SKIP_RPATH=ON \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdepim-runtime/kdepim-runtime.install b/kde-unstable/kdepim-runtime/kdepim-runtime.install new file mode 100644 index 000000000..ce5c32e1b --- /dev/null +++ b/kde-unstable/kdepim-runtime/kdepim-runtime.install @@ -0,0 +1,12 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null + update-mime-database usr/share/mime &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +}
\ No newline at end of file diff --git a/kde-unstable/kdepim/PKGBUILD b/kde-unstable/kdepim/PKGBUILD new file mode 100644 index 000000000..d29e3c7f6 --- /dev/null +++ b/kde-unstable/kdepim/PKGBUILD @@ -0,0 +1,253 @@ +# $Id: PKGBUILD 143416 2011-11-24 16:16:27Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> +# Contributor: Pierre Schmitz <pierre@archlinux.de> + +pkgbase=kdepim +pkgname=('kdepim-akonadiconsole' + 'kdepim-akregator' + 'kdepim-blogilo' + 'kdepim-console' + 'kdepim-kaddressbook' + 'kdepim-kalarm' + 'kdepim-kjots' + 'kdepim-kleopatra' + 'kdepim-kmail' + 'kdepim-knode' + 'kdepim-knotes' + 'kdepim-kontact' + 'kdepim-korganizer' + 'kdepim-kresources' + 'kdepim-ktimetracker' + 'kdepim-libkdepim' + 'kdepim-wizards') +pkgver=4.7.80 +pkgrel=1 +arch=('i686' 'x86_64') +url='http://pim.kde.org' +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdepim') +makedepends=('cmake' 'automoc4' 'boost' 'kdepim-runtime' 'libxss' 'pilot-link' + 'kde-agent') +source=("http://download.kde.org/unstable/${pkgver}/src/${pkgbase}-${pkgver}.tar.bz2") +sha1sums=('e1b6f42a864a9be2263a9ac2cd21367af39fd532') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../${pkgbase}-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_SKIP_RPATH=ON \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DKDEPIM_BUILD_MOBILE=OFF + make +} + +package_kdepim-akonadiconsole() { + pkgdesc='Akonadi Management and Debugging Console' + depends=('kdepim-libkdepim') + url='http://pim.kde.org' + install='kdepim.install' + cd "${srcdir}"/build/akonadiconsole + make DESTDIR="${pkgdir}" install +} + +package_kdepim-akregator() { + pkgdesc='A Feed Reader for KDE' + depends=('kdepim-libkdepim') + url="http://kde.org/applications/internet/akregator/" + install='kdepim.install' + cd "${srcdir}"/build/akregator + make DESTDIR="${pkgdir}" install + cd "${srcdir}"/build/doc/akregator + make DESTDIR="${pkgdir}" install + cd "${srcdir}"/build/kontact/plugins/akregator + make DESTDIR="${pkgdir}" install +} + +package_kdepim-blogilo() { + pkgdesc='A KDE Blogging Client' + depends=('kdepim-runtime') + url="http://kde.org/applications/internet/blogilo/" + replaces=('blogilo') + conflicts=('blogilo') + install='kdepim.install' + cd "${srcdir}"/build/blogilo + make DESTDIR="${pkgdir}" install + cd "${srcdir}"/build/doc/blogilo + make DESTDIR="${pkgdir}" install +} + +package_kdepim-console() { + pkgdesc='Command line tool for accessing calendar files' + depends=('kdepim-runtime') + url='http://pim.kde.org' + install='kdepim.install' + cd "${srcdir}"/build/console + make DESTDIR="${pkgdir}" install +} + +package_kdepim-kaddressbook() { + pkgdesc='Contact Manager' + depends=('kdepim-libkdepim') + url="http://kde.org/applications/office/kaddressbook/" + install='kdepim.install' + cd "${srcdir}"/build/kaddressbook + make DESTDIR="${pkgdir}" install + cd "${srcdir}"/build/kontact/plugins/kaddressbook + make DESTDIR="${pkgdir}" install + cd "${srcdir}"/build/plugins/kaddressbook + make DESTDIR="${pkgdir}" install +} + +package_kdepim-kalarm() { + pkgdesc='Personal Alarm Scheduler' + depends=('kdepim-libkdepim') + url="http://kde.org/applications/utilities/kalarm/" + install='kdepim.install' + cd "${srcdir}"/build/kalarm + make DESTDIR="${pkgdir}" install + cd "${srcdir}"/build/doc/kalarm + make DESTDIR="${pkgdir}" install +} + +package_kdepim-kjots() { + pkgdesc='Note Taker' + depends=('kdepim-libkdepim') + url="http://kde.org/applications/utilities/kjots/" + install='kdepim.install' + cd "${srcdir}"/build/kjots + make DESTDIR="${pkgdir}" install + cd "${srcdir}"/build/doc/kjots + make DESTDIR="${pkgdir}" install + cd "${srcdir}"/build/kontact/plugins/kjots + make DESTDIR="${pkgdir}" install +} + +package_kdepim-kleopatra() { + pkgdesc='Certificate Manager and Unified Crypto GUI' + depends=('kdepim-libkdepim') + install=kdepim-kleopatra.install + url="http://kde.org/applications/utilities/kleopatra/" + cd "${srcdir}"/build/kleopatra + make DESTDIR="${pkgdir}" install + cd "${srcdir}"/build/doc/kleopatra + make DESTDIR="${pkgdir}" install +} + +package_kdepim-kmail() { + pkgdesc='Mail Client' + depends=('kdepim-libkdepim') + url="http://kde.org/applications/internet/kmail/" + install='kdepim-kmail.install' + conflicts=('kdepim-kmailcvt' 'kdepim-ksendemail' 'kdepim-libksieve' + 'kdepim-mimelib' 'kdepim-plugins') + replaces=('kdepim-kmailcvt' 'kdepim-ksendemail' 'kdepim-libksieve' + 'kdepim-mimelib' 'kdepim-plugins') + for i in kmail doc/kmail kmailcvt ksendemail libksieve mailcommon \ + mailfilteragent ontologies kontact/plugins/kmail; do + cd "${srcdir}"/build/${i} + make DESTDIR="${pkgdir}" install + done +} + +package_kdepim-knode() { + pkgdesc='News Reader' + depends=('kdepim-libkdepim') + url="http://kde.org/applications/internet/knode/" + install='kdepim.install' + cd "${srcdir}"/build/knode + make DESTDIR="${pkgdir}" install + cd "${srcdir}"/build/doc/knode + make DESTDIR="${pkgdir}" install + cd "${srcdir}"/build/kontact/plugins/knode + make DESTDIR="${pkgdir}" install +} + +package_kdepim-knotes() { + pkgdesc='Popup Notes' + depends=('kdepim-libkdepim') + url="http://kde.org/applications/utilities/knotes/" + install='kdepim.install' + cd "${srcdir}"/build/knotes + make DESTDIR="${pkgdir}" install + cd "${srcdir}"/build/doc/knotes + make DESTDIR="${pkgdir}" install + cd "${srcdir}"/build/kontact/plugins/knotes + make DESTDIR="${pkgdir}" install +} + +package_kdepim-kontact() { + pkgdesc='Personal Information Manager' + depends=('kdepim-libkdepim') + url="http://kde.org/applications/office/kontact/" + install='kdepim.install' + conflcits=('kdepim-kontactinterfaces') + replaces=('kdepim-kontactinterfaces') + for i in kontact/src doc/kontact \ + kontact/plugins/summary kontact/plugins/specialdates; do + cd "${srcdir}"/build/${i} + make DESTDIR="${pkgdir}" install + done +} + +package_kdepim-korganizer() { + pkgdesc='Calendar and Scheduling Program' + depends=('kdepim-libkdepim') + url="http://kde.org/applications/office/korganizer" + install='kdepim-korganizer.install' + cd "${srcdir}"/build/korganizer + make DESTDIR="${pkgdir}" install + cd "${srcdir}"/build/doc/korganizer + make DESTDIR="${pkgdir}" install + cd "${srcdir}"/build/kontact/plugins/korganizer + make DESTDIR="${pkgdir}" install +} + +package_kdepim-kresources() { + pkgdesc='KDE PIM resources' + depends=('kdepim-libkdepim') + url='http://pim.kde.org' + cd "${srcdir}"/build/kresources + make DESTDIR="${pkgdir}" install +} + +package_kdepim-ktimetracker() { + pkgdesc='Personal Time Tracker' + depends=('kdepim-kresources') + url="http://kde.org/applications/utilities/ktimetracker/" + install='kdepim.install' + cd "${srcdir}"/build/ktimetracker + make DESTDIR="${pkgdir}" install + cd "${srcdir}"/build/doc/ktimetracker + make DESTDIR="${pkgdir}" install + cd "${srcdir}"/build/kontact/plugins/ktimetracker + make DESTDIR="${pkgdir}" install +} + +package_kdepim-libkdepim() { + pkgdesc='Library for KDE PIM' + groups=() + depends=('kde-agent' 'kdepim-runtime') + url='http://pim.kde.org' + conflicts=('kdepim-icons' 'kdepim-libkleo' 'kdepim-libkpgp' + 'kdepim-strigi-analyzer' 'kdepim-akonadi') + replaces=('kdepim-icons' 'kdepim-libkleo' 'kdepim-libkpgp' + 'kdepim-strigi-analyzer' 'kdepim-akonadi') + for i in akonadi_next calendarsupport calendarviews incidenceeditor-ng \ + kdgantt2 libkdepim libkdepimdbusinterfaces libkleo libkpgp \ + messagecomposer messagecore messagelist messageviewer icons \ + strigi-analyzer templateparser plugins/messageviewer \ + plugins/ktexteditor; do + cd "${srcdir}"/build/${i} + make DESTDIR="${pkgdir}" install + done +} + +package_kdepim-wizards() { + pkgdesc='KDE Groupware Wizard' + depends=('kdepim-kresources') + url='http://pim.kde.org' + cd "${srcdir}"/build/wizards + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdepim/kdepim-kleopatra.install b/kde-unstable/kdepim/kdepim-kleopatra.install new file mode 100644 index 000000000..5787df72f --- /dev/null +++ b/kde-unstable/kdepim/kdepim-kleopatra.install @@ -0,0 +1,12 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdepim/kdepim-kmail.install b/kde-unstable/kdepim/kdepim-kmail.install new file mode 100644 index 000000000..5787df72f --- /dev/null +++ b/kde-unstable/kdepim/kdepim-kmail.install @@ -0,0 +1,12 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdepim/kdepim-korganizer.install b/kde-unstable/kdepim/kdepim-korganizer.install new file mode 100644 index 000000000..5787df72f --- /dev/null +++ b/kde-unstable/kdepim/kdepim-korganizer.install @@ -0,0 +1,12 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdepim/kdepim.install b/kde-unstable/kdepim/kdepim.install new file mode 100644 index 000000000..e70c054ec --- /dev/null +++ b/kde-unstable/kdepim/kdepim.install @@ -0,0 +1,11 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdepimlibs/PKGBUILD b/kde-unstable/kdepimlibs/PKGBUILD new file mode 100644 index 000000000..d706eecbb --- /dev/null +++ b/kde-unstable/kdepimlibs/PKGBUILD @@ -0,0 +1,32 @@ +# $Id: PKGBUILD 143281 2011-11-24 16:13:17Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> +# Contributor: Pierre Schmitz <pierre@archlinux.de> + +pkgname=kdepimlibs +pkgver=4.7.80 +pkgrel=1 +pkgdesc="KDE PIM Libraries" +arch=('i686' 'x86_64') +url='http://www.kde.org' +license=('GPL' 'LGPL') +depends=('kdelibs' 'gpgme' 'akonadi' 'libical' 'prison') +makedepends=('cmake' 'automoc4' 'boost' 'cyrus-sasl' 'openldap') +install='kdepimlibs.install' +source=("http://download.kde.org/unstable/${pkgver}/src/${pkgname}-${pkgver}.tar.bz2") +sha1sums=('8c32406b85cf9677b7bebeb61cf50621dd034787') + +build() { + cd ${srcdir} + mkdir build + cd build + cmake ../${pkgname}-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_SKIP_RPATH=ON \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd $srcdir/build + make DESTDIR=$pkgdir install +} diff --git a/kde-unstable/kdepimlibs/kdepimlibs.install b/kde-unstable/kdepimlibs/kdepimlibs.install new file mode 100644 index 000000000..99262607c --- /dev/null +++ b/kde-unstable/kdepimlibs/kdepimlibs.install @@ -0,0 +1,11 @@ +post_install() { + update-mime-database usr/share/mime &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +}
\ No newline at end of file diff --git a/kde-unstable/kdeplasma-addons/PKGBUILD b/kde-unstable/kdeplasma-addons/PKGBUILD new file mode 100644 index 000000000..21270b2f6 --- /dev/null +++ b/kde-unstable/kdeplasma-addons/PKGBUILD @@ -0,0 +1,619 @@ +# $Id: PKGBUILD 143418 2011-11-24 16:16:32Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> +# Contributor: Pierre Schmitz <pierre@archlinux.de> + +pkgbase=kdeplasma-addons +pkgname=('kdeplasma-addons-applets-bball' + 'kdeplasma-addons-applets-binary-clock' + 'kdeplasma-addons-applets-blackboard' + 'kdeplasma-addons-applets-bookmarks' + 'kdeplasma-addons-applets-bubblemon' + 'kdeplasma-addons-applets-calculator' + 'kdeplasma-addons-applets-charselect' + 'kdeplasma-addons-applets-comic' + 'kdeplasma-addons-applets-community' + 'kdeplasma-addons-applets-dict' + 'kdeplasma-addons-applets-eyes' + 'kdeplasma-addons-applets-fifteenpuzzle' + 'kdeplasma-addons-applets-filewatcher' + 'kdeplasma-addons-applets-frame' + 'kdeplasma-addons-applets-fuzzy-clock' + 'kdeplasma-addons-applets-icontasks' + 'kdeplasma-addons-applets-incomingmsg' + 'kdeplasma-addons-applets-kdeobservatory' + 'kdeplasma-addons-applets-kimpanel' + 'kdeplasma-addons-applets-knowledgebase' + 'kdeplasma-addons-applets-kolourpicker' + 'kdeplasma-addons-applets-konqprofiles' + 'kdeplasma-addons-applets-konsoleprofiles' + 'kdeplasma-addons-applets-lancelot' + 'kdeplasma-addons-applets-leavenote' + 'kdeplasma-addons-applets-life' + 'kdeplasma-addons-applets-luna' + 'kdeplasma-addons-applets-magnifique' + 'kdeplasma-addons-applets-mediaplayer' + 'kdeplasma-addons-applets-microblog' + 'kdeplasma-addons-applets-news' + 'kdeplasma-addons-applets-notes' + 'kdeplasma-addons-applets-nowplaying' + 'kdeplasma-addons-applets-paste' + 'kdeplasma-addons-applets-pastebin' + 'kdeplasma-addons-applets-plasmaboard' + 'kdeplasma-addons-applets-previewer' + 'kdeplasma-addons-applets-qalculate' + 'kdeplasma-addons-applets-rememberthemilk' + 'kdeplasma-addons-applets-rssnow' + 'kdeplasma-addons-applets-showdashboard' + 'kdeplasma-addons-applets-showdesktop' + 'kdeplasma-addons-applets-social-news' + 'kdeplasma-addons-applets-spellcheck' + 'kdeplasma-addons-applets-systemloadviewer' + 'kdeplasma-addons-applets-timer' + 'kdeplasma-addons-applets-unitconverter' + 'kdeplasma-addons-applets-weather' + 'kdeplasma-addons-applets-weatherstation' + 'kdeplasma-addons-applets-webslice' + 'kdeplasma-addons-containments' + 'kdeplasma-addons-libs' + 'kdeplasma-addons-runners-audioplayercontrol' + 'kdeplasma-addons-runners-browserhistory' + 'kdeplasma-addons-runners-characters' + 'kdeplasma-addons-runners-contacts' + 'kdeplasma-addons-runners-converter' + 'kdeplasma-addons-runners-datetime' + 'kdeplasma-addons-runners-events' + 'kdeplasma-addons-runners-katesessions' + 'kdeplasma-addons-runners-konquerorsessions' + 'kdeplasma-addons-runners-konsolesessions' + 'kdeplasma-addons-runners-kopete' + 'kdeplasma-addons-runners-mediawiki' + 'kdeplasma-addons-runners-spellchecker' + 'kdeplasma-addons-wallpapers-mandelbrot' + 'kdeplasma-addons-wallpapers-marble' + 'kdeplasma-addons-wallpapers-pattern' + 'kdeplasma-addons-wallpapers-potd' + 'kdeplasma-addons-wallpapers-virus' + 'kdeplasma-addons-wallpapers-weather') +pkgver=4.7.80 +pkgrel=1 +arch=('i686' 'x86_64') +url='http://www.kde.org' +license=('GPL' 'LGPL') +groups=('kde' 'kdeplasma-addons') +makedepends=('cmake' 'automoc4' 'kdebase-workspace' 'kdeedu-marble' 'eigen' + 'scim' 'qwt' 'boost' 'libkexiv2') +source=("http://download.kde.org/unstable/${pkgver}/src/${pkgbase}-${pkgver}.tar.bz2") +sha1sums=('fd27a14fc2ad676a4d5ddf4cd8658d80fc7aa8e9') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../${pkgbase}-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_SKIP_RPATH=ON \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package_kdeplasma-addons-applets-bball() { + pkgdesc='A bouncy ball for plasma' + depends=('kdebase-workspace') + install='kdeplasma-addons-applets.install' + cd $srcdir/build/applets/bball + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-binary-clock() { + pkgdesc='Time displayed in binary format' + depends=('kdebase-workspace') + cd $srcdir/build/applets/binary-clock + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-blackboard() { + pkgdesc='Black Board' + depends=('kdebase-workspace') + cd $srcdir/build/applets/blackboard + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-bookmarks() { + pkgdesc='Quick Access to the Bookmarks' + depends=('kdebase-workspace') + cd $srcdir/build/applets/bookmarks + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-bubblemon() { + pkgdesc='A pretty bubble that monitors your system.' + depends=('kdebase-workspace') + cd $srcdir/build/applets/bubblemon + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-calculator() { + pkgdesc='Calculate simple sums' + depends=('kdebase-workspace') + cd $srcdir/build/applets/calculator + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-charselect() { + pkgdesc='View, select, and copy characters from a font collection' + depends=('kdebase-workspace') + cd $srcdir/build/applets/charselect + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-comic() { + pkgdesc='View comic strips from the Internet' + depends=('kdebase-workspace' 'kdeplasma-addons-libs') + cd $srcdir/build/applets/comic + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-community() { + pkgdesc='Communicate using the Social Desktop' + depends=('kdebase-workspace') + cd $srcdir/build/applets/community + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-dict() { + pkgdesc='Look up the meaning of words and their translation into different languages' + depends=('kdebase-workspace') + cd $srcdir/build/applets/dict + make DESTDIR=$pkgdir install + # FIXME + # /usr/share/icons/oxygen/scalable/apps/accessories-dictionary.svgz + rm -rf $pkgdir/usr/share/icons +} + +package_kdeplasma-addons-applets-eyes() { + pkgdesc='XEyes clone' + depends=('kdebase-workspace') + install='kdeplasma-addons-applets.install' + cd $srcdir/build/applets/eyes + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-fifteenpuzzle() { + pkgdesc='Put the pieces in order' + depends=('kdebase-workspace') + install='kdeplasma-addons-applets.install' + cd $srcdir/build/applets/fifteenPuzzle + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-filewatcher() { + pkgdesc='Watch for changes in specified files' + depends=('kdebase-workspace') + cd $srcdir/build/applets/fileWatcher + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-frame() { + pkgdesc='Display your favorite pictures' + depends=('kdebase-workspace' 'libkexiv2') + cd $srcdir/build/applets/frame + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-fuzzy-clock() { + pkgdesc='Time displayed in a less precise format' + depends=('kdebase-workspace') + cd $srcdir/build/applets/fuzzy-clock + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-icontasks() { + pkgdesc='Switch between running applications' + depends=('kdebase-workspace') + cd $srcdir/build/applets/icontasks + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-incomingmsg() { + pkgdesc='Notification of new messages' + depends=('kdebase-workspace') + cd $srcdir/build/applets/incomingmsg + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-kdeobservatory() { + pkgdesc='Visualize the KDE ecosystem' + depends=('kdebase-workspace' 'kdeplasma-addons-libs' 'qwt') + install='kdeplasma-addons-applets.install' + cd $srcdir/build/applets/kdeobservatory + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-kimpanel() { + pkgdesc='A generic input method panel for Oriental languages' + depends=('kdebase-workspace' 'kdeplasma-addons-libs') + optdepends=('scim: SCIM backend' + 'fcitx: FCITX backend') + cd $srcdir/build/applets/kimpanel + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-knowledgebase() { + pkgdesc='Opendesktop Knowledgebase' + depends=('kdebase-workspace') + cd $srcdir/build/applets/knowledgebase + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-kolourpicker() { + pkgdesc='Pick a color from the desktop' + depends=('kdebase-workspace') + cd $srcdir/build/applets/kolourpicker + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-konqprofiles() { + pkgdesc='List and launch Konqueror profiles' + depends=('kdebase-workspace') + cd $srcdir/build/applets/konqprofiles + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-konsoleprofiles() { + pkgdesc='List and launch Konsole profiles' + depends=('kdebase-workspace') + cd $srcdir/build/applets/konsoleprofiles + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-lancelot() { + pkgdesc='Launcher to start applications' + depends=('kdebase-workspace' 'kdeplasma-addons-libs') + replaces=('lancelot') + provides=('lancelot') + conflicts=('lancelot') + install='kdeplasma-addons-applets-lancelot.install' + cd $srcdir/build/applets/lancelot + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-leavenote() { + pkgdesc='Leave notes for users while they are away' + depends=('kdebase-workspace') + cd $srcdir/build/applets/leavenote + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-life() { + pkgdesc='Life' + depends=('kdebase-workspace') + install='kdeplasma-addons-applets.install' + cd $srcdir/build/applets/life + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-luna() { + pkgdesc='Display moon phases for your location' + depends=('kdebase-workspace') + install='kdeplasma-addons-applets.install' + cd $srcdir/build/applets/luna + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-magnifique() { + pkgdesc='A magnification glass for the Plasma desktop' + depends=('kdebase-workspace') + cd $srcdir/build/applets/magnifique + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-mediaplayer() { + pkgdesc='Widget that can play video and sound' + depends=('kdebase-workspace') + cd $srcdir/build/applets/mediaplayer + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-microblog() { + pkgdesc='Update and view your microblog status.' + depends=('kdebase-workspace' 'kdeplasma-addons-libs' 'qoauth' 'qca-ossl') + cd $srcdir/build/applets/microblog + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-news() { + pkgdesc='Show news from various sources' + depends=('kdebase-workspace') + cd $srcdir/build/applets/news + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-notes() { + pkgdesc='Desktop sticky notes' + depends=('kdebase-workspace') + cd $srcdir/build/applets/notes + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-nowplaying() { + pkgdesc='Displays currently playing audio' + depends=('kdebase-workspace') + cd $srcdir/build/applets/nowplaying + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-paste() { + pkgdesc='Paste text snippets' + depends=('kdebase-workspace') + cd $srcdir/build/applets/paste + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-pastebin() { + pkgdesc='Paste text/images to a remote server' + depends=('kdebase-workspace') + cd $srcdir/build/applets/pastebin + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-plasmaboard() { + pkgdesc='A virtual, on-screen keyboard' + depends=('kdebase-workspace') + cd $srcdir/build/applets/plasmaboard + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-previewer() { + pkgdesc='Preview This File' + depends=('kdebase-workspace') + install='kdeplasma-addons-applets.install' + cd $srcdir/build/applets/previewer + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-qalculate() { + pkgdesc='A powerful mathematical equation solver' + depends=('kdebase-workspace') + install='kdeplasma-addons-applets.install' + cd $srcdir/build/applets/qalculate + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-rememberthemilk() { + pkgdesc='Remember The Milk Todo list applet' + depends=('kdebase-workspace' 'kdeplasma-addons-libs') + cd $srcdir/build/applets/rememberthemilk + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-rssnow() { + pkgdesc='Show news from various sources' + depends=('kdebase-workspace') + cd $srcdir/build/applets/rssnow + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-showdashboard() { + pkgdesc='Show the Plasma widget dashboard above other windows' + depends=('kdebase-workspace') + cd $srcdir/build/applets/showdashboard + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-showdesktop() { + pkgdesc='Show the Plasma desktop' + depends=('kdebase-workspace') + cd $srcdir/build/applets/showdesktop + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-social-news() { + pkgdesc='Stay informed with the Social Desktop' + replaces=('kdeplasma-addons-applets-opendesktop' 'kdeplasma-addons-applets-opendesktop-activities') + conflicts=('kdeplasma-addons-applets-opendesktop' 'kdeplasma-addons-applets-opendesktop-activities') + depends=('kdebase-workspace' 'kdeplasma-addons-libs') + cd $srcdir/build/applets/social-news + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-spellcheck() { + pkgdesc='Fast spell checking' + depends=('kdebase-workspace') + cd $srcdir/build/applets/spellcheck + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-systemloadviewer() { + pkgdesc='Tiny CPU/RAM/Swap monitor' + depends=('kdebase-workspace') + cd $srcdir/build/applets/systemloadviewer + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-timer() { + pkgdesc='Countdown over a specified time period' + depends=('kdebase-workspace') + cd $srcdir/build/applets/timer + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-unitconverter() { + pkgdesc='Plasmoid for converting units' + depends=('kdebase-workspace') + cd $srcdir/build/applets/unitconverter + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-weather() { + pkgdesc='Displays Weather information' + depends=('kdebase-workspace' 'kdeplasma-addons-libs') + cd $srcdir/build/applets/weather + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-weatherstation() { + pkgdesc='Weather reports with an LCD display style' + depends=('kdebase-workspace' 'kdeplasma-addons-libs') + cd $srcdir/build/applets/weatherstation + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-webslice() { + pkgdesc='Show a part of a webpage' + depends=('kdebase-workspace') + cd $srcdir/build/applets/webslice + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-containments() { + pkgdesc='Activities types for Plasma shells' + depends=('kdebase-workspace') + cd $srcdir/build/containments + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-libs() { + pkgdesc='Plasma Addon Library' + depends=('kdebase-workspace') + groups=() + replaces=('kdeplasma-addons-dataengines') + provides=('kdeplasma-addons-dataengines') + conflicts=('kdeplasma-addons-dataengines') + cd $srcdir/build/libs + make DESTDIR=$pkgdir install + cd $srcdir/build/dataengines + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-runners-audioplayercontrol() { + pkgdesc='Allows to control MPRIS audio players (it is able to search through Amarok´s collection, too)' + depends=('kdebase-workspace') + cd $srcdir/build/runners/audioplayercontrol + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-runners-browserhistory() { + pkgdesc='Searches in Konqueror´s history' + depends=('kdebase-workspace') + cd $srcdir/build/runners/browserhistory + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-runners-characters() { + pkgdesc='special Characters' + depends=('kdebase-workspace') + cd $srcdir/build/runners/characters + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-runners-contacts() { + pkgdesc='Finds entries in your address book' + depends=('kdebase-workspace') + cd $srcdir/build/runners/contacts + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-runners-converter() { + pkgdesc='Convert values to different units' + depends=('kdebase-workspace') + cd $srcdir/build/runners/converter + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-runners-datetime() { + pkgdesc='The current date and time, locally or in any timezone' + depends=('kdebase-workspace') + cd $srcdir/build/runners/datetime + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-runners-events() { + pkgdesc='Calendar Events runner' + depends=('kdebase-workspace') + cd $srcdir/build/runners/events + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-runners-katesessions() { + pkgdesc='Matches Kate Sessions' + depends=('kdebase-workspace') + cd $srcdir/build/runners/katesessions + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-runners-konquerorsessions() { + pkgdesc='Matches Konqueror Sessions' + depends=('kdebase-workspace') + cd $srcdir/build/runners/konquerorsessions + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-runners-konsolesessions() { + pkgdesc='Matches Konsole Sessions' + depends=('kdebase-workspace') + cd $srcdir/build/runners/konsolesessions + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-runners-kopete() { + pkgdesc='Kopete Contact runner' + depends=('kdebase-workspace') + cd $srcdir/build/runners/kopete + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-runners-mediawiki() { + pkgdesc='Search on Wikitravel' + depends=('kdebase-workspace') + cd $srcdir/build/runners/mediawiki + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-runners-spellchecker() { + pkgdesc='Check the spelling of a word' + depends=('kdebase-workspace') + cd $srcdir/build/runners/spellchecker + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-wallpapers-mandelbrot() { + pkgdesc='Mandelbrot' + depends=('kdebase-workspace') + cd $srcdir/build/wallpapers/mandelbrot + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-wallpapers-marble() { + pkgdesc='Globe' + depends=('kdebase-workspace' 'kdeedu-marble') + cd $srcdir/build/wallpapers/marble + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-wallpapers-pattern() { + pkgdesc='Pattern' + depends=('kdebase-workspace') + cd $srcdir/build/wallpapers/pattern + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-wallpapers-potd() { + pkgdesc='Picture of the Day' + depends=('kdebase-workspace' 'kdeplasma-addons-libs') + cd $srcdir/build/wallpapers/potd + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-wallpapers-virus() { + pkgdesc='Virus' + depends=('kdebase-workspace') + cd $srcdir/build/wallpapers/virus + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-wallpapers-weather() { + pkgdesc='Weather' + depends=('kdebase-workspace' 'kdeplasma-addons-libs') + cd $srcdir/build/wallpapers/weather + make DESTDIR=$pkgdir install +} diff --git a/kde-unstable/kdeplasma-addons/kdeplasma-addons-applets-lancelot.install b/kde-unstable/kdeplasma-addons/kdeplasma-addons-applets-lancelot.install new file mode 100644 index 000000000..ce5c32e1b --- /dev/null +++ b/kde-unstable/kdeplasma-addons/kdeplasma-addons-applets-lancelot.install @@ -0,0 +1,12 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null + update-mime-database usr/share/mime &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +}
\ No newline at end of file diff --git a/kde-unstable/calligra/calligra-plan.install b/kde-unstable/kdeplasma-addons/kdeplasma-addons-applets.install index c2179f6e2..c4ef46ba8 100644 --- a/kde-unstable/calligra/calligra-plan.install +++ b/kde-unstable/kdeplasma-addons/kdeplasma-addons-applets.install @@ -1,6 +1,5 @@ post_install() { xdg-icon-resource forceupdate --theme hicolor &> /dev/null - update-desktop-database -q } post_upgrade() { diff --git a/kde-unstable/kdesdk-kate/PKGBUILD b/kde-unstable/kdesdk-kate/PKGBUILD new file mode 100644 index 000000000..84619e271 --- /dev/null +++ b/kde-unstable/kdesdk-kate/PKGBUILD @@ -0,0 +1,58 @@ +# $Id: PKGBUILD 143294 2011-11-24 16:13:37Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> + +pkgbase=kdesdk-kate +pkgname=('kdebase-kwrite' + 'kdesdk-kate') +pkgver=4.7.80 +pkgrel=1 +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +makedepends=('kdelibs ''cmake' 'automoc4') +source=("http://download.kde.org/unstable/${pkgver}/src/kate-${pkgver}.tar.bz2" + 'pkgbuild-syntax-highlight.patch') +sha1sums=('6c243a3fc1f114b8c1d9a6d644ec61e3ebf332e8' + '0a928253bd2077f0264d96a6c8823c69c47b6a8d') + +build() { + cd "${srcdir}"/kate-${pkgver} + patch -p1 -i "${srcdir}"/pkgbuild-syntax-highlight.patch + + cd "${srcdir}" + mkdir build + cd build + cmake ../kate-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DBUILD_KTEXTEDITOR=OFF + make +} + +package_kdebase-kwrite() { + pkgdesc="Text Editor" + depends=('kdebase-runtime') + groups=('kde' 'kdebase') + install='kdebase-kwrite.install' + + cd "${srcdir}"/build/kwrite + make DESTDIR="${pkgdir}" install + + cd "${srcdir}"/build/part + make DESTDIR="${pkgdir}" install + + cd "${srcdir}"/build/doc/kwrite + make DESTDIR="${pkgdir}" install +} + +package_kdesdk-kate() { + pkgdesc="Advanced Text Editor" + depends=('kdebase-kwrite') + groups=('kde' 'kdesdk') + install='kdesdk-kate.install' + + cd "${srcdir}"/build/kate + make DESTDIR="${pkgdir}" install + + cd "${srcdir}"/build/doc/kate + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdesdk-kate/kdebase-kwrite.install b/kde-unstable/kdesdk-kate/kdebase-kwrite.install new file mode 100644 index 000000000..81ce5c4b0 --- /dev/null +++ b/kde-unstable/kdesdk-kate/kdebase-kwrite.install @@ -0,0 +1,12 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdesdk-kate/kdesdk-kate.install b/kde-unstable/kdesdk-kate/kdesdk-kate.install new file mode 100644 index 000000000..a9c01ef06 --- /dev/null +++ b/kde-unstable/kdesdk-kate/kdesdk-kate.install @@ -0,0 +1,13 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null + update-desktop-database -q + update-mime-database usr/share/mime +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdesdk-kate/pkgbuild-syntax-highlight.patch b/kde-unstable/kdesdk-kate/pkgbuild-syntax-highlight.patch new file mode 100644 index 000000000..27729d1ad --- /dev/null +++ b/kde-unstable/kdesdk-kate/pkgbuild-syntax-highlight.patch @@ -0,0 +1,11 @@ +--- kate-4.7.80/part/syntax/data/bash.xml~ 2011-11-20 06:14:30.581097154 +0000 ++++ kate-4.7.80/part/syntax/data/bash.xml 2011-11-20 06:14:45.494553146 +0000 +@@ -8,7 +8,7 @@ + <!ENTITY noword "(?![\w$+-])"> <!-- no word, $, + or - following --> + <!ENTITY pathpart "([\w_@.%*?+-]|\\ )"> <!-- valid character in a file name --> + ]> +-<language name="Bash" version="2.14" kateversion="2.4" section="Scripts" extensions="*.sh;*.bash;*.ebuild;*.eclass;.bashrc;.bash_profile;.bash_login;.profile" mimetype="application/x-shellscript" casesensitive="1" author="Wilbert Berendsen (wilbert@kde.nl)" license="LGPL"> ++<language name="Bash" version="2.14" kateversion="2.4" section="Scripts" extensions="*.sh;*.bash;*.ebuild;*.eclass;.bashrc;.bash_profile;.bash_login;.profile;PKGBUILD" mimetype="application/x-shellscript" casesensitive="1" author="Wilbert Berendsen (wilbert@kde.nl)" license="LGPL"> + + <!-- (c) 2004 by Wilbert Berendsen (wilbert@kde.nl) + Changes by Matthew Woehlke (mw_triad@users.sourceforge.net) diff --git a/kde-unstable/kdesdk/PKGBUILD b/kde-unstable/kdesdk/PKGBUILD new file mode 100644 index 000000000..87d3ca27d --- /dev/null +++ b/kde-unstable/kdesdk/PKGBUILD @@ -0,0 +1,258 @@ +# $Id: PKGBUILD 143420 2011-11-24 16:16:37Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> +# Contributor: Pierre Schmitz <pierre@archlinux.de> + +pkgbase=kdesdk +pkgname=('kdesdk-cervisia' + 'kdesdk-dolphin-plugins' + 'kdesdk-kapptemplate' + 'kdesdk-kcachegrind' + 'kdesdk-kdeaccounts-plugin' + 'kdesdk-kdepalettes' + 'kdesdk-kioslave' + 'kdesdk-kmtrace' + 'kdesdk-kompare' + 'kdesdk-kpartloader' + 'kdesdk-kprofilemethod' + 'kdesdk-kstartperf' + 'kdesdk-kuiviewer' + 'kdesdk-lokalize' + 'kdesdk-okteta' + 'kdesdk-poxml' + 'kdesdk-scripts' + 'kdesdk-strigi-analyzer' + 'kdesdk-umbrello') +pkgver=4.7.80 +pkgrel=1 +arch=('i686' 'x86_64') +url='http://www.kde.org' +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdesdk') +makedepends=('cmake' 'automoc4' 'boost' 'subversion' 'antlr2' 'kdepimlibs' + 'kdebase-lib') +source=("http://download.kde.org/unstable/${pkgver}/src/${pkgbase}-${pkgver}.tar.bz2" + 'fix-python2-path.patch') +sha1sums=('725ca18c5bbf16061911bde15d98cb0e86db4471' + '923cabd7a877cf9a68efeb24fbf3d5827e1d949e') + +build() { + cd ${srcdir}/${pkgbase}-${pkgver} + + # Fix hardcoded python2 cmd + patch -Np1 -i ${srcdir}/fix-python2-path.patch + + cd ${srcdir} + mkdir build + cd build + cmake ../${pkgbase}-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package_kdesdk-cervisia() { + pkgdesc='CVS Frontend' + depends=('kdebase-runtime') + url="http://kde.org/applications/development/cervisia/" + install='kdesdk-cervisia.install' + cd $srcdir/build/cervisia + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/cervisia + make DESTDIR=$pkgdir install +} + +package_kdesdk-dolphin-plugins() { + pkgdesc='Extra Dolphin plugins' + depends=('kdebase-dolphin' 'subversion' 'git' 'kdesdk-kompare') + install='kdesdk.install' + cd $srcdir/build/dolphin-plugins/git + make DESTDIR=$pkgdir install + cd $srcdir/build/dolphin-plugins/svn + make DESTDIR=$pkgdir install +} + +package_kdesdk-kapptemplate() { + pkgdesc='KDE Template Generator' + depends=('kdebase-runtime') + url="http://kde.org/applications/development/kapptemplate/" + install='kdesdk.install' + cd $srcdir/build/kapptemplate + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/kapptemplate + make DESTDIR=$pkgdir install +} + +package_kdesdk-kcachegrind() { + pkgdesc='Visualization of Performance Profiling Data' + depends=('kdebase-runtime' 'python2') + optdepends=('php: PHP support') + url="http://kde.org/applications/development/kcachegrind/" + install='kdesdk-kcachegrind.install' + cd $srcdir/build/kcachegrind + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/kcachegrind + make DESTDIR=$pkgdir install + + # Fix python 2 path + sed -i 's|#!/usr/bin/env python|#!/usr/bin/env python2|' \ + "${pkgdir}"/usr/bin/hotshot2calltree +} + +package_kdesdk-kdeaccounts-plugin() { + pkgdesc='KDE Repository Accounts' + depends=('kdepim-runtime') + cd $srcdir/build/kdeaccounts-plugin + make DESTDIR=$pkgdir install +} + +package_kdesdk-kdepalettes() { + pkgdesc='Palettes for the Gimp that match the KDE standard color palette' + optdepends=('gimp') + install -D -m644 $srcdir/${pkgbase}-${pkgver}/kdepalettes/KDE_Gimp \ + $pkgdir/usr/share/gimp/2.0/palettes/KDE.gpl +} + +package_kdesdk-kioslave() { + pkgdesc='KDED Subversion Module' + depends=('kdebase-runtime' 'subversion') + install='kdesdk.install' + cd $srcdir/build/kioslave + make DESTDIR=$pkgdir install +} + +package_kdesdk-kmtrace() { + pkgdesc='A KDE tool to assist with malloc debugging using glibc´s "mtrace" functionality' + depends=('kdebase-runtime') + cd $srcdir/build/kmtrace + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/kmtrace + make DESTDIR=$pkgdir install +} + +package_kdesdk-kompare() { + pkgdesc='Diff/Patch Frontend' + depends=('kdebase-runtime') + url="http://kde.org/applications/development/kompare/" + install='kdesdk.install' + cd $srcdir/build/kompare + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/kompare + make DESTDIR=$pkgdir install +} + +package_kdesdk-kpartloader() { + pkgdesc='A test application for KParts' + depends=('kdebase-runtime') + install='kdesdk.install' + cd $srcdir/build/kpartloader + make DESTDIR=$pkgdir install +} + +package_kdesdk-kprofilemethod() { + pkgdesc='Macros helping to profile' + cd $srcdir/build/kprofilemethod + make DESTDIR=$pkgdir install +} + +package_kdesdk-kspy() { + pkgdesc='An Object Inspector for Qt/KDE applications' + depends=('kdebase-runtime') + cd $srcdir/build/kspy + make DESTDIR=$pkgdir install +} + +package_kdesdk-kstartperf() { + pkgdesc='Startup time measurement tool for KDE applications' + depends=('kdebase-runtime') + cd $srcdir/build/kstartperf + make DESTDIR=$pkgdir install +} + +package_kdesdk-kuiviewer() { + pkgdesc='Qt Designer UI File Viewer' + depends=('kdebase-runtime') + url="http://kde.org/applications/development/kuiviewer/" + install='kdesdk-kuiviewer.install' + cd $srcdir/build/kuiviewer + make DESTDIR=$pkgdir install +} + +package_kdesdk-lokalize() { + pkgdesc='Computer-Aided Translation System' + depends=('kdebase-runtime' 'kdebindings-python') + url="http://kde.org/applications/development/lokalize/" + optdepends=('translate-toolkit: enable extra python script') + install='kdesdk-lokalize.install' + cd $srcdir/build/lokalize + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/lokalize + make DESTDIR=$pkgdir install + + # Fix python 2 path + sed -i 's|#!/usr/bin/env python|#!/usr/bin/env python2|' \ + "${pkgdir}"/usr/share/apps/lokalize/scripts/odf/xliffmerge.py +} + +package_kdesdk-okteta() { + pkgdesc='Hex Editor' + depends=('kdebase-runtime') + replaces=('kdeutils-okteta') + conflicts=('kdeutils-okteta') + url="http://kde.org/applications/utilities/okteta" + install='kdesdk-okteta.install' + cd $srcdir/build/okteta + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/okteta + make DESTDIR=$pkgdir install +} + +package_kdesdk-poxml() { + pkgdesc='Translates DocBook XML files using gettext po files' + depends=('qt' 'antlr2') + cd $srcdir/build/poxml + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/poxml + make DESTDIR=$pkgdir install +} + +package_kdesdk-scheck() { + pkgdesc='An interface style to highlight accel and style guide conflicts' + depends=('kdebase-runtime') + cd $srcdir/build/scheck + make DESTDIR=$pkgdir install +} + +package_kdesdk-scripts() { + pkgdesc='KDE SDK scripts' + depends=('python2') + cd $srcdir/build/scripts + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/scripts + make DESTDIR=$pkgdir install + + # Fix python 2 path + sed -i 's|#!/usr/bin/env python|#!/usr/bin/env python2|' \ + "${pkgdir}"/usr/bin/{{kde-systemsettings-tree,kdelnk2desktop,zonetab2pot}.py,kde_generate_export_header} +} + +package_kdesdk-strigi-analyzer() { + pkgdesc='Strigi-Analyzer for KDE SDK' + depends=('kdelibs') + cd $srcdir/build/strigi-analyzer + make DESTDIR=$pkgdir install +} + +package_kdesdk-umbrello() { + pkgdesc='UML Modeller' + depends=('kdebase-runtime') + url="http://kde.org/applications/development/umbrello/" + install='kdesdk-umbrello.install' + cd $srcdir/build/umbrello + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/umbrello + make DESTDIR=$pkgdir install + + # Fix python 2 path + sed -i 's|#!/usr/bin/env python|#!/usr/bin/env python2|' \ + "${pkgdir}"/usr/share/apps/umbrello/headings/heading.py +} diff --git a/kde-unstable/kdesdk/fix-python2-path.patch b/kde-unstable/kdesdk/fix-python2-path.patch new file mode 100644 index 000000000..720487031 --- /dev/null +++ b/kde-unstable/kdesdk/fix-python2-path.patch @@ -0,0 +1,32 @@ +--- kdesdk-4.5.80/lokalize/scripts/msgmerge.py~ 2010-11-24 11:22:42.120000002 +0100 ++++ kdesdk-4.5.80/lokalize/scripts/msgmerge.py 2010-11-24 11:22:42.146666670 +0100 +@@ -114,7 +114,7 @@ + print >>sys.stderr, "Execution failed:", e + + cmd='%s/odf/xliffmerge.py -i %s -t %s -o %s' % (ourPath,xliffpathname,xlifftemplatepathname,xliffpathname) +- if os.name!='nt': cmd='python '+cmd ++ if os.name!='nt': cmd='python2 '+cmd + else: cmd=cmd.replace('/','\\') + os.system(cmd) + +--- kdesdk-4.5.80/lokalize/scripts/xliff2odf.py~ 2010-11-24 11:24:10.853333336 +0100 ++++ kdesdk-4.5.80/lokalize/scripts/xliff2odf.py 2010-11-24 11:24:10.883333336 +0100 +@@ -42,7 +42,7 @@ + xliff2odf.convertxliff(xliffinput, translatedodfpathname, odf) + + ourpath=([p for p in sys.path if os.path.exists(p+'/xliff2odf.py')]+[''])[0] +- os.system('python "'+ourpath+'/xliff2odf-standalone.py" "%s" "%s" &'%(translatedodfpathname, Editor.currentEntryId())) ++ os.system('python2 "'+ourpath+'/xliff2odf-standalone.py" "%s" "%s" &'%(translatedodfpathname, Editor.currentEntryId())) + + try: convert() + except: print 'error occured' +--- kdesdk-4.5.80/scripts/svn2log.sh~ 2010-11-24 11:46:24.863333337 +0100 ++++ kdesdk-4.5.80/scripts/svn2log.sh 2010-11-24 11:46:24.896666669 +0100 +@@ -17,6 +17,6 @@ + svn cat svn://anonsvn.kde.org/home/kde/trunk/kde-common/accounts > /tmp/accounts.$PPID + + echo "Creating changelog..."; +-svn log -v --xml $1 | python $CURRENT/svn2log.py --users=/tmp/accounts.$PPID --users-charset=UTF8 ++svn log -v --xml $1 | python2 $CURRENT/svn2log.py --users=/tmp/accounts.$PPID --users-charset=UTF8 + + rm /tmp/accounts.$PPID
\ No newline at end of file diff --git a/kde-unstable/kdesdk/kdesdk-cervisia.install b/kde-unstable/kdesdk/kdesdk-cervisia.install new file mode 100644 index 000000000..5495fb1b5 --- /dev/null +++ b/kde-unstable/kdesdk/kdesdk-cervisia.install @@ -0,0 +1,12 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdesdk/kdesdk-kcachegrind.install b/kde-unstable/kdesdk/kdesdk-kcachegrind.install new file mode 100644 index 000000000..5495fb1b5 --- /dev/null +++ b/kde-unstable/kdesdk/kdesdk-kcachegrind.install @@ -0,0 +1,12 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdesdk/kdesdk-kompare.install b/kde-unstable/kdesdk/kdesdk-kompare.install new file mode 100644 index 000000000..5495fb1b5 --- /dev/null +++ b/kde-unstable/kdesdk/kdesdk-kompare.install @@ -0,0 +1,12 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdesdk/kdesdk-kuiviewer.install b/kde-unstable/kdesdk/kdesdk-kuiviewer.install new file mode 100644 index 000000000..5495fb1b5 --- /dev/null +++ b/kde-unstable/kdesdk/kdesdk-kuiviewer.install @@ -0,0 +1,12 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdesdk/kdesdk-lokalize.install b/kde-unstable/kdesdk/kdesdk-lokalize.install new file mode 100644 index 000000000..5495fb1b5 --- /dev/null +++ b/kde-unstable/kdesdk/kdesdk-lokalize.install @@ -0,0 +1,12 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdesdk/kdesdk-okteta.install b/kde-unstable/kdesdk/kdesdk-okteta.install new file mode 100644 index 000000000..3f06b8deb --- /dev/null +++ b/kde-unstable/kdesdk/kdesdk-okteta.install @@ -0,0 +1,12 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null + update-mime-database usr/share/mime &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdesdk/kdesdk-umbrello.install b/kde-unstable/kdesdk/kdesdk-umbrello.install new file mode 100644 index 000000000..5495fb1b5 --- /dev/null +++ b/kde-unstable/kdesdk/kdesdk-umbrello.install @@ -0,0 +1,12 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdesdk/kdesdk.install b/kde-unstable/kdesdk/kdesdk.install new file mode 100644 index 000000000..e70c054ec --- /dev/null +++ b/kde-unstable/kdesdk/kdesdk.install @@ -0,0 +1,11 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdetoys/PKGBUILD b/kde-unstable/kdetoys/PKGBUILD new file mode 100644 index 000000000..7c515243d --- /dev/null +++ b/kde-unstable/kdetoys/PKGBUILD @@ -0,0 +1,56 @@ +# $Id: PKGBUILD 143422 2011-11-24 16:16:40Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> +# Contributor: Pierre Schmitz <pierre@archlinux.de> + +pkgbase=kdetoys +pkgname=('kdetoys-amor' + 'kdetoys-kteatime' + 'kdetoys-ktux') +pkgver=4.7.80 +pkgrel=1 +arch=('i686' 'x86_64') +url='http://www.kde.org' +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdetoys') +makedepends=('cmake' 'automoc4' 'kdebase-workspace') +source=("http://download.kde.org/unstable/${pkgver}/src/${pkgbase}-${pkgver}.tar.bz2") +sha1sums=('5462cdc809f22fcc2837844fb7b5fad0b5f716c5') + +build() { + cd $srcdir + mkdir build + cd build + cmake ../${pkgbase}-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_SKIP_RPATH=ON \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package_kdetoys-amor() { + pkgdesc='On-Screen Creature' + depends=('kdebase-runtime') + install='kdetoys.install' + cd $srcdir/build/amor + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/amor + make DESTDIR=$pkgdir install +} + +package_kdetoys-kteatime() { + pkgdesc='Tea Cooker' + depends=('kdebase-runtime') + install='kdetoys.install' + cd $srcdir/build/kteatime + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/kteatime + make DESTDIR=$pkgdir install +} + +package_kdetoys-ktux() { + pkgdesc='KTux' + depends=('kdebase-workspace' ) + install='kdetoys.install' + cd $srcdir/build/ktux + make DESTDIR=$pkgdir install +} diff --git a/kde-unstable/kdetoys/kdetoys.install b/kde-unstable/kdetoys/kdetoys.install new file mode 100644 index 000000000..e70c054ec --- /dev/null +++ b/kde-unstable/kdetoys/kdetoys.install @@ -0,0 +1,11 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdeutils-filelight/PKGBUILD b/kde-unstable/kdeutils-filelight/PKGBUILD new file mode 100644 index 000000000..85976db3b --- /dev/null +++ b/kde-unstable/kdeutils-filelight/PKGBUILD @@ -0,0 +1,35 @@ +# $Id: PKGBUILD 143426 2011-11-24 16:16:44Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> + +pkgname=kdeutils-filelight +pkgver=4.7.80 +pkgrel=1 +pkgdesc='View disk usage information' +url='http://kde.org/applications/utilities/filelight' +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +depends=('kdebase-runtime') +makedepends=('cmake' 'automoc4') +groups=('kde' 'kdeutils') +replaces=('filelight') +conflicts=('filelight') +install=${pkgname}.install +source=("http://download.kde.org/unstable/${pkgver}/src/filelight-${pkgver}.tar.bz2") +sha1sums=('e77283760f0a787e7090dbd121e133036e5e57de') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../filelight-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd $srcdir/build + make DESTDIR=$pkgdir install + cd $srcdir/build/doc + make DESTDIR=$pkgdir install +} diff --git a/kde-unstable/kdeutils-filelight/kdeutils-filelight.install b/kde-unstable/kdeutils-filelight/kdeutils-filelight.install new file mode 100644 index 000000000..81ce5c4b0 --- /dev/null +++ b/kde-unstable/kdeutils-filelight/kdeutils-filelight.install @@ -0,0 +1,12 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdeutils-kcalc/PKGBUILD b/kde-unstable/kdeutils-kcalc/PKGBUILD new file mode 100644 index 000000000..c5ec6c1e4 --- /dev/null +++ b/kde-unstable/kdeutils-kcalc/PKGBUILD @@ -0,0 +1,33 @@ +# $Id: PKGBUILD 143428 2011-11-24 16:16:47Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> + +pkgname=kdeutils-kcalc +pkgver=4.7.80 +pkgrel=1 +pkgdesc='Scientific Calculator' +url='http://kde.org/applications/utilities/kcalc' +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +depends=('kdebase-runtime') +makedepends=('cmake' 'automoc4') +groups=('kde' 'kdeutils') +install=${pkgname}.install +source=("http://download.kde.org/unstable/${pkgver}/src/kcalc-${pkgver}.tar.bz2") +sha1sums=('0fce57dbbd39028bb3b5749959368c35d8aa0442') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../kcalc-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd $srcdir/build + make DESTDIR=$pkgdir install + cd $srcdir/build/doc + make DESTDIR=$pkgdir install +} diff --git a/kde-unstable/kdeutils-kcalc/kdeutils-kcalc.install b/kde-unstable/kdeutils-kcalc/kdeutils-kcalc.install new file mode 100644 index 000000000..e70c054ec --- /dev/null +++ b/kde-unstable/kdeutils-kcalc/kdeutils-kcalc.install @@ -0,0 +1,11 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdeutils-kcharselect/PKGBUILD b/kde-unstable/kdeutils-kcharselect/PKGBUILD new file mode 100644 index 000000000..478a59212 --- /dev/null +++ b/kde-unstable/kdeutils-kcharselect/PKGBUILD @@ -0,0 +1,32 @@ +# $Id: PKGBUILD 143430 2011-11-24 16:16:50Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> + +pkgname=kdeutils-kcharselect +pkgver=4.7.80 +pkgrel=1 +pkgdesc='Character Selector' +url="http://kde.org/applications/utilities/kcharselect/" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +depends=('kdebase-runtime') +makedepends=('cmake' 'automoc4') +groups=('kde' 'kdeutils') +source=("http://download.kde.org/unstable/${pkgver}/src/kcharselect-${pkgver}.tar.bz2") +sha1sums=('d5938cdba2aa32970fa7211827c1ee0e614f4acf') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../kcharselect-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd $srcdir/build + make DESTDIR=$pkgdir install + cd $srcdir/build/doc + make DESTDIR=$pkgdir install +} diff --git a/kde-unstable/kdeutils-kdf/PKGBUILD b/kde-unstable/kdeutils-kdf/PKGBUILD new file mode 100644 index 000000000..7d27cec82 --- /dev/null +++ b/kde-unstable/kdeutils-kdf/PKGBUILD @@ -0,0 +1,33 @@ +# $Id: PKGBUILD 143432 2011-11-24 16:16:52Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> + +pkgname=kdeutils-kdf +pkgver=4.7.80 +pkgrel=1 +url="http://kde.org/applications/system/kdiskfree/" +arch=('i686' 'x86_64') +pkgdesc='View Disk Usage' +license=('GPL' 'LGPL' 'FDL') +depends=('kdebase-runtime') +makedepends=('cmake' 'automoc4') +groups=('kde' 'kdeutils') +install=${pkgname}.install +source=("http://download.kde.org/unstable/${pkgver}/src/kdf-${pkgver}.tar.bz2") +sha1sums=('22f42048664ab76cb7a5357c4ce18e3ac9321120') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../kdf-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd $srcdir/build + make DESTDIR=$pkgdir install + cd $srcdir/build/doc + make DESTDIR=$pkgdir install +} diff --git a/kde-unstable/kdeutils-kdf/kdeutils-kdf.install b/kde-unstable/kdeutils-kdf/kdeutils-kdf.install new file mode 100644 index 000000000..e70c054ec --- /dev/null +++ b/kde-unstable/kdeutils-kdf/kdeutils-kdf.install @@ -0,0 +1,11 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdeutils-kfloppy/PKGBUILD b/kde-unstable/kdeutils-kfloppy/PKGBUILD new file mode 100644 index 000000000..213d1a741 --- /dev/null +++ b/kde-unstable/kdeutils-kfloppy/PKGBUILD @@ -0,0 +1,33 @@ +# $Id: PKGBUILD 143434 2011-11-24 16:16:54Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> + +pkgname=kdeutils-kfloppy +pkgver=4.7.80 +pkgrel=1 +pkgdesc='Floppy Formatter' +url='http://kde.org/applications/utilities/kfloppy' +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +depends=('kdebase-runtime') +makedepends=('cmake' 'automoc4') +groups=('kde' 'kdeutils') +install=${pkgname}.install +source=("http://download.kde.org/unstable/${pkgver}/src/kfloppy-${pkgver}.tar.bz2") +sha1sums=('c7669a2c35fff0a403ecf8df23e0da03238dc6ae') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../kfloppy-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd $srcdir/build + make DESTDIR=$pkgdir install + cd $srcdir/build/doc + make DESTDIR=$pkgdir install +} diff --git a/kde-unstable/kdeutils-kfloppy/kdeutils-kfloppy.install b/kde-unstable/kdeutils-kfloppy/kdeutils-kfloppy.install new file mode 100644 index 000000000..81ce5c4b0 --- /dev/null +++ b/kde-unstable/kdeutils-kfloppy/kdeutils-kfloppy.install @@ -0,0 +1,12 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdeutils-kgpg/PKGBUILD b/kde-unstable/kdeutils-kgpg/PKGBUILD new file mode 100644 index 000000000..9c6f639a7 --- /dev/null +++ b/kde-unstable/kdeutils-kgpg/PKGBUILD @@ -0,0 +1,33 @@ +# $Id: PKGBUILD 143436 2011-11-24 16:16:56Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> + +pkgname=kdeutils-kgpg +pkgver=4.7.80 +pkgrel=1 +pkgdesc='A GnuPG frontend' +url='http://kde.org/applications/utilities/kgpg' +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +depends=('kdepim-runtime' 'kde-agent') +makedepends=('cmake' 'automoc4') +groups=('kde' 'kdeutils') +install=${pkgname}.install +source=("http://download.kde.org/unstable/${pkgver}/src/kgpg-${pkgver}.tar.bz2") +sha1sums=('ee2143a2c5ecc04608e7b037a364b2f360d06574') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../kgpg-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd $srcdir/build + make DESTDIR=$pkgdir install + cd $srcdir/build/doc + make DESTDIR=$pkgdir install +} diff --git a/kde-unstable/kdeutils-kgpg/kdeutils-kgpg.install b/kde-unstable/kdeutils-kgpg/kdeutils-kgpg.install new file mode 100644 index 000000000..81ce5c4b0 --- /dev/null +++ b/kde-unstable/kdeutils-kgpg/kdeutils-kgpg.install @@ -0,0 +1,12 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdeutils-kremotecontrol/PKGBUILD b/kde-unstable/kdeutils-kremotecontrol/PKGBUILD new file mode 100644 index 000000000..51c1c9397 --- /dev/null +++ b/kde-unstable/kdeutils-kremotecontrol/PKGBUILD @@ -0,0 +1,35 @@ +# $Id$ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> + +pkgname=kdeutils-kremotecontrol +pkgver=4.7.80 +pkgrel=1 +pkgdesc='Configure your remote controls for use with applications' +url='http://kde.org/applications/utilities/kremotecontrol' +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +depends=('kdebase-workspace') +makedepends=('cmake' 'automoc4') +groups=('kde' 'kdeutils') +replaces=('kdeutils-kdelirc') +conflicts=('kdeutils-kdelirc') +install=${pkgname}.install +source=("http://download.kde.org/unstable/${pkgver}/src/kremotecontrol-${pkgver}.tar.bz2") +sha1sums=('fae17c72a67fbcd3333815838ff1d934a3fc7c53') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../kremotecontrol-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd $srcdir/build + make DESTDIR=$pkgdir install + cd $srcdir/build/doc + make DESTDIR=$pkgdir install +} diff --git a/kde-unstable/kdeutils-kremotecontrol/kdeutils-kremotecontrol.install b/kde-unstable/kdeutils-kremotecontrol/kdeutils-kremotecontrol.install new file mode 100644 index 000000000..e70c054ec --- /dev/null +++ b/kde-unstable/kdeutils-kremotecontrol/kdeutils-kremotecontrol.install @@ -0,0 +1,11 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdeutils-ktimer/PKGBUILD b/kde-unstable/kdeutils-ktimer/PKGBUILD new file mode 100644 index 000000000..37886965e --- /dev/null +++ b/kde-unstable/kdeutils-ktimer/PKGBUILD @@ -0,0 +1,33 @@ +# $Id: PKGBUILD 143440 2011-11-24 16:17:00Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> + +pkgname=kdeutils-ktimer +pkgver=4.7.80 +pkgrel=1 +pkgdesc='Countdown Launcher' +url='http://kde.org/applications/utilities/ktimer/' +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +depends=('kdebase-runtime') +makedepends=('cmake' 'automoc4') +groups=('kde' 'kdeutils') +install=${pkgname}.install +source=("http://download.kde.org/unstable/${pkgver}/src/ktimer-${pkgver}.tar.bz2") +sha1sums=('763c0116dc99f3c428fa1f48721b9dd37a9b53e1') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../ktimer-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd $srcdir/build + make DESTDIR=$pkgdir install + cd $srcdir/build/doc + make DESTDIR=$pkgdir install +} diff --git a/kde-unstable/kdeutils-ktimer/kdeutils-ktimer.install b/kde-unstable/kdeutils-ktimer/kdeutils-ktimer.install new file mode 100644 index 000000000..e70c054ec --- /dev/null +++ b/kde-unstable/kdeutils-ktimer/kdeutils-ktimer.install @@ -0,0 +1,11 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdeutils-kwallet/PKGBUILD b/kde-unstable/kdeutils-kwallet/PKGBUILD new file mode 100644 index 000000000..b48789a39 --- /dev/null +++ b/kde-unstable/kdeutils-kwallet/PKGBUILD @@ -0,0 +1,33 @@ +# $Id: PKGBUILD 143442 2011-11-24 16:17:02Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> + +pkgname=kdeutils-kwallet +pkgver=4.7.80 +pkgrel=1 +pkgdesc='Wallet Management Tool' +url='http://kde.org/applications/system/kwalletmanager/' +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +depends=('kdebase-runtime') +makedepends=('cmake' 'automoc4') +groups=('kde' 'kdeutils') +install=${pkgname}.install +source=("http://download.kde.org/unstable/${pkgver}/src/kwallet-${pkgver}.tar.bz2") +sha1sums=('ba1fc1e070c8d84af6d8a3e58452854f4b504214') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../kwallet-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd $srcdir/build + make DESTDIR=$pkgdir install + cd $srcdir/build/doc + make DESTDIR=$pkgdir install +} diff --git a/kde-unstable/kdeutils-kwallet/kdeutils-kwallet.install b/kde-unstable/kdeutils-kwallet/kdeutils-kwallet.install new file mode 100644 index 000000000..5495fb1b5 --- /dev/null +++ b/kde-unstable/kdeutils-kwallet/kdeutils-kwallet.install @@ -0,0 +1,12 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdeutils-printer-applet/PKGBUILD b/kde-unstable/kdeutils-printer-applet/PKGBUILD new file mode 100644 index 000000000..43f4f2a39 --- /dev/null +++ b/kde-unstable/kdeutils-printer-applet/PKGBUILD @@ -0,0 +1,38 @@ +# $Id: PKGBUILD 143444 2011-11-24 16:17:04Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> + +pkgname=kdeutils-printer-applet +pkgver=4.7.80 +pkgrel=1 +pkgdesc='System tray icon for managing print jobs' +url='http://kde.org/applications/system/printerapplet/' +arch=('i686' 'x86_64') +url='http://www.kde.org' +license=('GPL' 'LGPL' 'FDL') +depends=('kdebase-runtime' 'kdebindings-python' 'system-config-printer-common') +makedepends=('cmake' 'automoc4') +groups=('kde' 'kdeutils') +source=("http://download.kde.org/unstable/${pkgver}/src/printer-applet-${pkgver}.tar.bz2") +sha1sums=('d1fc4913baf8ca7a938347f7ce4efcb5b1e2ab85') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../printer-applet-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DPYTHON_EXECUTABLE=/usr/bin/python2 + make +} + +package() { + cd $srcdir/build + make DESTDIR=$pkgdir install + cd $srcdir/build/doc + make DESTDIR=$pkgdir install + + # Fix python 2 path + sed -i 's|#!/usr/bin/env python|#!/usr/bin/env python2|' \ + "${pkgdir}"/usr/share/apps/printer-applet/{authconn,debug,monitor,printer-applet,statereason}.py +} diff --git a/kde-unstable/kdeutils-superkaramba/PKGBUILD b/kde-unstable/kdeutils-superkaramba/PKGBUILD new file mode 100644 index 000000000..e7b4a7039 --- /dev/null +++ b/kde-unstable/kdeutils-superkaramba/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 143446 2011-11-24 16:17:06Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> + +pkgname=kdeutils-superkaramba +pkgver=4.7.80 +pkgrel=1 +pkgdesc='An engine for cool desktop eyecandy' +url='http://kde.org/applications/utilities/superkaramba' +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +depends=('kdebase-runtime' 'qimageblitz') +makedepends=('cmake' 'automoc4') +groups=('kde' 'kdeutils') +install=${pkgname}.install +source=("http://download.kde.org/unstable/${pkgver}/src/superkaramba-${pkgver}.tar.bz2") +sha1sums=('16c505363cf3dac342eb411d8a5ffea80216563d') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../superkaramba-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd $srcdir/build + make DESTDIR=$pkgdir install +} diff --git a/kde-unstable/kdeutils-superkaramba/kdeutils-superkaramba.install b/kde-unstable/kdeutils-superkaramba/kdeutils-superkaramba.install new file mode 100644 index 000000000..81ce5c4b0 --- /dev/null +++ b/kde-unstable/kdeutils-superkaramba/kdeutils-superkaramba.install @@ -0,0 +1,12 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdeutils-sweeper/PKGBUILD b/kde-unstable/kdeutils-sweeper/PKGBUILD new file mode 100644 index 000000000..9225f5813 --- /dev/null +++ b/kde-unstable/kdeutils-sweeper/PKGBUILD @@ -0,0 +1,33 @@ +# $Id: PKGBUILD 143448 2011-11-24 16:17:08Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> + +pkgname=kdeutils-sweeper +pkgver=4.7.80 +pkgrel=1 +pkgdesc='System Cleaner' +url='http://kde.org/applications/utilities/sweeper' +arch=('i686' 'x86_64') +url='http://www.kde.org' +license=('GPL' 'LGPL' 'FDL') +depends=('kdebase-runtime') +makedepends=('cmake' 'automoc4') +groups=('kde' 'kdeutils') +source=("http://download.kde.org/unstable/${pkgver}/src/sweeper-${pkgver}.tar.bz2") +sha1sums=('18c915a8057fd63edcb47c7e7c2a4503e5141856') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../sweeper-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd $srcdir/build + make DESTDIR=$pkgdir install + cd $srcdir/build/doc + make DESTDIR=$pkgdir install +} diff --git a/kde-unstable/kdewebdev/PKGBUILD b/kde-unstable/kdewebdev/PKGBUILD new file mode 100644 index 000000000..a3638ccd0 --- /dev/null +++ b/kde-unstable/kdewebdev/PKGBUILD @@ -0,0 +1,66 @@ +# $Id: PKGBUILD 143450 2011-11-24 16:17:10Z andrea $ +# Maintainer: Pierre Schmitz <pierre@archlinux.de> + +pkgbase=kdewebdev +pkgname=('kdewebdev-kfilereplace' + 'kdewebdev-kimagemapeditor' + 'kdewebdev-klinkstatus' + 'kdewebdev-kommander') +pkgver=4.7.80 +pkgrel=1 +arch=('i686' 'x86_64') +url='http://www.kde.org' +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdewebdev') +makedepends=('cmake' 'automoc4' 'ruby' 'tidyhtml' 'kdepim-runtime' 'boost') +source=("http://download.kde.org/unstable/${pkgver}/src/${pkgbase}-${pkgver}.tar.bz2") +sha1sums=('505444a089b88b210a34dc31d09ae2926892aee0') + +build() { + cd $srcdir + mkdir build + cd build + cmake ../${pkgbase}-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_SKIP_RPATH=ON \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package_kdewebdev-kfilereplace() { + pkgdesc='Search & Replace Tool' + depends=('kdebase-runtime') + url="http://kde.org/applications/utilities/kfilereplace/" + install='kdewebdev.install' + cd $srcdir/build/kfilereplace + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/kfilereplace + make DESTDIR=$pkgdir install +} + +package_kdewebdev-kimagemapeditor() { + pkgdesc='HTML Image Map Editor' + depends=('kdebase-runtime') + install='kdewebdev-kimagemapeditor.install' + cd $srcdir/build/kimagemapeditor + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/kimagemapeditor + make DESTDIR=$pkgdir install +} + +package_kdewebdev-klinkstatus() { + pkgdesc='Link Checker' + depends=('kdepim-runtime' 'tidyhtml') + install='kdewebdev.install' + cd $srcdir/build/klinkstatus + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/klinkstatus + make DESTDIR=$pkgdir install +} + +package_kdewebdev-kommander() { + pkgdesc='Executor for Kommander dialogs' + depends=('kdebase-runtime') + cd $srcdir/build/kommander + make DESTDIR=$pkgdir install +} diff --git a/kde-unstable/kdewebdev/kdewebdev-kimagemapeditor.install b/kde-unstable/kdewebdev/kdewebdev-kimagemapeditor.install new file mode 100644 index 000000000..5495fb1b5 --- /dev/null +++ b/kde-unstable/kdewebdev/kdewebdev-kimagemapeditor.install @@ -0,0 +1,12 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdewebdev/kdewebdev.install b/kde-unstable/kdewebdev/kdewebdev.install new file mode 100644 index 000000000..e70c054ec --- /dev/null +++ b/kde-unstable/kdewebdev/kdewebdev.install @@ -0,0 +1,11 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/libkdcraw/PKGBUILD b/kde-unstable/libkdcraw/PKGBUILD new file mode 100644 index 000000000..5abf08e05 --- /dev/null +++ b/kde-unstable/libkdcraw/PKGBUILD @@ -0,0 +1,32 @@ +# $Id: PKGBUILD 143316 2011-11-24 16:14:06Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> + +pkgname=libkdcraw +pkgver=4.7.80 +pkgrel=1 +pkgdesc="A C++ interface used to decode RAW picture" +url="http://kde.org/" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +depends=('kdelibs' 'lcms') +makedepends=('cmake' 'automoc4') +replaces=('kdegraphics-libs') +conflicts=('kdegraphics-libs') +install=${pkgname}.install +source=("http://download.kde.org/unstable/${pkgver}/src/${pkgname}-${pkgver}.tar.bz2") +sha1sums=('67f6b65a98a4ab24e946fdf2c4b3523c803c935a') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../${pkgname}-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/libkdcraw/libkdcraw.install b/kde-unstable/libkdcraw/libkdcraw.install new file mode 100644 index 000000000..e70c054ec --- /dev/null +++ b/kde-unstable/libkdcraw/libkdcraw.install @@ -0,0 +1,11 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/libkdeedu/PKGBUILD b/kde-unstable/libkdeedu/PKGBUILD new file mode 100644 index 000000000..15624153e --- /dev/null +++ b/kde-unstable/libkdeedu/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 143312 2011-11-24 16:14:02Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> + +pkgname=libkdeedu +pkgver=4.7.80 +pkgrel=1 +pkgdesc="Libraries used by KDE Education applications" +url="http://kde.org/" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +depends=('kdelibs') +makedepends=('cmake' 'automoc4') +install=${pkgname}.install +replaces=('kdeedu-libkdeedu' 'kdeedu-data') +source=("http://download.kde.org/unstable/${pkgver}/src/${pkgname}-${pkgver}.tar.bz2") +sha1sums=('31113d9c884d37d36a6af10d5a3b9ab66dcb7396') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../${pkgname}-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/libkdeedu/libkdeedu.install b/kde-unstable/libkdeedu/libkdeedu.install new file mode 100644 index 000000000..e70c054ec --- /dev/null +++ b/kde-unstable/libkdeedu/libkdeedu.install @@ -0,0 +1,11 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/libkexiv2/PKGBUILD b/kde-unstable/libkexiv2/PKGBUILD new file mode 100644 index 000000000..aaf47b893 --- /dev/null +++ b/kde-unstable/libkexiv2/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 143318 2011-11-24 16:14:08Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> + +pkgname=libkexiv2 +pkgver=4.7.80 +pkgrel=1 +pkgdesc="A library to manipulate pictures metadata" +url="http://kde.org/" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +depends=('kdelibs') +makedepends=('cmake' 'automoc4') +replaces=('kdegraphics-libs') +conflicts=('kdegraphics-libs') +source=("http://download.kde.org/unstable/${pkgver}/src/${pkgname}-${pkgver}.tar.bz2") +sha1sums=('50916f1f47653f1a3fb84f07cd8eeed4296bf9b1') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../${pkgname}-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/libkipi/PKGBUILD b/kde-unstable/libkipi/PKGBUILD new file mode 100644 index 000000000..0e45757c6 --- /dev/null +++ b/kde-unstable/libkipi/PKGBUILD @@ -0,0 +1,32 @@ +# $Id: PKGBUILD 143320 2011-11-24 16:14:10Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> + +pkgname=libkipi +pkgver=4.7.80 +pkgrel=1 +pkgdesc="An interface to use kipi-plugins from a KDE application" +url="http://kde.org/" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +depends=('kdelibs') +makedepends=('cmake' 'automoc4') +replaces=('kdegraphics-libs') +conflicts=('kdegraphics-libs') +install=${pkgname}.install +source=("http://download.kde.org/unstable/${pkgver}/src/${pkgname}-${pkgver}.tar.bz2") +sha1sums=('cd223fb1dbdbfbdea39b3abf79291fe81f534906') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../${pkgname}-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/libkipi/libkipi.install b/kde-unstable/libkipi/libkipi.install new file mode 100644 index 000000000..e70c054ec --- /dev/null +++ b/kde-unstable/libkipi/libkipi.install @@ -0,0 +1,11 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/libksane/PKGBUILD b/kde-unstable/libksane/PKGBUILD new file mode 100644 index 000000000..58f01f20a --- /dev/null +++ b/kde-unstable/libksane/PKGBUILD @@ -0,0 +1,32 @@ +# $Id: PKGBUILD 143322 2011-11-24 16:14:12Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> + +pkgname=libksane +pkgver=4.7.80 +pkgrel=1 +pkgdesc="An image scanning library" +url="http://kde.org/" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +depends=('kdelibs' 'sane') +makedepends=('cmake' 'automoc4') +replaces=('kdegraphics-libs') +conflicts=('kdegraphics-libs') +install=${pkgname}.install +source=("http://download.kde.org/unstable/${pkgver}/src/${pkgname}-${pkgver}.tar.bz2") +sha1sums=('331914883d031e9e56560d6c6fbef08de304767e') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../${pkgname}-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/libksane/libksane.install b/kde-unstable/libksane/libksane.install new file mode 100644 index 000000000..e70c054ec --- /dev/null +++ b/kde-unstable/libksane/libksane.install @@ -0,0 +1,11 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/staging/hugin/PKGBUILD b/staging/hugin/PKGBUILD new file mode 100644 index 000000000..af979e2b7 --- /dev/null +++ b/staging/hugin/PKGBUILD @@ -0,0 +1,34 @@ +# $Id: PKGBUILD 143262 2011-11-24 07:45:07Z eric $ +# Maintainer: Tobias Kieslich <tobias@archlinux.org> +# Contributor: Giovanni Scafora <giovanni@archlinux.org> +# Contributor: Dominik Ryba <domryba@post.pl> + +pkgname=hugin +pkgver=2011.2.0 +pkgrel=2 +pkgdesc="A frontend to the panorama-tools" +arch=('i686' 'x86_64') +url="http://hugin.sourceforge.net/" +license=('GPL') +depends=('wxgtk' 'boost-libs' 'enblend-enfuse' 'exiv2' 'autopano-sift-c' + 'lapack' 'desktop-file-utils' 'make' 'perl-exiftool') +makedepends=('zip' 'cmake' 'boost' 'tclap') +install=hugin.install +source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.bz2) +sha1sums=('79dfdac229b4e58f50c893c1238bdd0921ad9da6') + +build() { + cd "${srcdir}" + mkdir build && cd build + cmake "${srcdir}/${pkgname}-${pkgver}" \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_EXE_LINKER_FLAGS="-lpthread" \ + -DENABLE_LAPACK=yes + make +} + +package(){ + cd "${srcdir}/build" + make DESTDIR="${pkgdir}" install +} diff --git a/staging/hugin/hugin.install b/staging/hugin/hugin.install new file mode 100644 index 000000000..362749233 --- /dev/null +++ b/staging/hugin/hugin.install @@ -0,0 +1,15 @@ +post_install() { + gtk-update-icon-cache -q -t -f usr/share/icons/gnome + update-desktop-database -q + update-mime-database usr/share/mime > /dev/null +} + +post_upgrade() { + post_install $1 +} + +post_remove() { + gtk-update-icon-cache -q -t -f usr/share/icons/gnome + update-desktop-database -q + update-mime-database usr/share/mime > /dev/null +} diff --git a/testing/apr-util/PKGBUILD b/testing/apr-util/PKGBUILD new file mode 100644 index 000000000..5fc373942 --- /dev/null +++ b/testing/apr-util/PKGBUILD @@ -0,0 +1,28 @@ +# $Id: PKGBUILD 143458 2011-11-24 17:02:48Z stephane $ +# Maintainer: Jan de Groot <jgc@archlinux.org> +# Maintainer: Pierre Schmitz <pierre@archlinux.de> + +pkgname=apr-util +pkgver=1.3.12 +pkgrel=3 +pkgdesc="The Apache Portable Runtime" +arch=('i686' 'x86_64') +url="http://apr.apache.org/" +depends=('apr' 'gdbm' 'expat' 'db' 'libldap' 'unixodbc') +options=('!libtool') +license=('APACHE') +source=("http://www.apache.org/dist/apr/apr-util-${pkgver}.tar.bz2") +md5sums=('0f671b037ca62751a8a7005578085560') + +build() { + cd "${srcdir}/apr-util-${pkgver}" + ./configure --prefix=/usr --with-apr=/usr \ + --without-pgsql --without-mysql --without-sqlite2 --without-sqlite3 \ + --with-berkeley-db=/usr --with-gdbm=/usr --with-ldap + make +} + +package() { + cd "${srcdir}/apr-util-${pkgver}" + make DESTDIR="${pkgdir}" install +} diff --git a/testing/avahi/PKGBUILD b/testing/avahi/PKGBUILD new file mode 100644 index 000000000..0d4d0bc97 --- /dev/null +++ b/testing/avahi/PKGBUILD @@ -0,0 +1,75 @@ +# $Id: PKGBUILD 143460 2011-11-24 17:02:50Z stephane $ +# Contributor: Douglas Soares de Andrade <douglas@archlinux.org> +# Maintainer: Gaetan Bisson <bisson@archlinux.org> + +pkgname=avahi +pkgver=0.6.30 +pkgrel=6 +pkgdesc='A multicast/unicast DNS-SD framework' +arch=('i686' 'x86_64') +url='http://www.avahi.org/' +license=('LGPL') +depends=('expat' 'libdaemon' 'glib2' 'dbus' 'libcap' 'gdbm') +optdepends=('gtk3: avahi-discover-standalone, bshell, bssh, bvnc' + 'gtk2: gtk2 bindings' + 'qt3: qt3 bindings' + 'qt: qt bindings' + 'pygtk: avahi-bookmarks, avahi-discover' + 'twisted: avahi-bookmarks' + 'mono: mono bindings' + 'dbus-python: avahi-discover' + 'nss-mdns: NSS support for mDNS') +makedepends=('qt' 'qt3' 'pygtk' 'mono' 'intltool' 'dbus-python' + 'gtk-sharp-2' 'gobject-introspection' 'gtk3') +backup=(etc/avahi/avahi-daemon.conf etc/avahi/services/{sftp-,}ssh.service) +install=install +conflicts=('howl' 'mdnsresponder') +provides=('howl' 'mdnsresponder') +replaces=('howl' 'mdnsresponder') +options=('!libtool') +source=("http://www.avahi.org/download/avahi-${pkgver}.tar.gz" + 'gnome-nettool.png' + 'rc.d.patch') +sha1sums=('5b77443537600a00770e4c77e3c443eeb5861d06' + 'cf56387c88aed246b9f435efc182ef44de4d52f3' + '625ad7c131c0c1c383caeddef18fc7a32d8f3ab9') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + + sed -i 's/netdev/network/g' avahi-daemon/avahi-dbus.conf + patch -p1 -i "../rc.d.patch" + + # pygtk requires python2; make it explicit in case other python are installed: FS#21865 + PYTHON=python2 \ + PKG_CONFIG_PATH=/opt/qt/lib/pkgconfig \ + ./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --disable-static \ + --disable-monodoc \ + --disable-doxygen-doc \ + --disable-xmltoman \ + --enable-compat-libdns_sd \ + --enable-compat-howl \ + --with-distro=archlinux \ + --with-avahi-priv-access-group=network \ + --with-autoipd-user=avahi \ + --with-autoipd-group=avahi \ + --with-systemdsystemunitdir=/lib/systemd/system # See FS#20999 + + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install + install -D -m 644 ../gnome-nettool.png "${pkgdir}"/usr/share/pixmaps/gnome-nettool.png + + cd "${pkgdir}" + sed -i '1c #!/usr/bin/python2' usr/bin/avahi-{bookmarks,discover} + # howl and mdnsresponder compatability + (cd usr/include; ln -s avahi-compat-libdns_sd/dns_sd.h dns_sd.h; ln -s avahi-compat-howl howl) + (cd usr/lib/pkgconfig; ln -s avahi-compat-howl.pc howl.pc) +} diff --git a/testing/avahi/gnome-nettool.png b/testing/avahi/gnome-nettool.png Binary files differnew file mode 100644 index 000000000..227d0678a --- /dev/null +++ b/testing/avahi/gnome-nettool.png diff --git a/testing/avahi/install b/testing/avahi/install new file mode 100644 index 000000000..7c75c3dd4 --- /dev/null +++ b/testing/avahi/install @@ -0,0 +1,21 @@ +post_install() { + getent group avahi &>/dev/null || groupadd -r -g 84 avahi >/dev/null + getent passwd avahi &>/dev/null || useradd -r -u 84 -g avahi -d / -s /bin/false -c avahi avahi >/dev/null + + cat <<EOF +==> The following daemons may be added to DAEMONS in /etc/rc.conf: +==> avahi-daemon: the mdns responder, you probably want this. +==> dbus needs to be running when you start it. +==> avahi-dnsconfd: daemon used for peer-to-peer automatic dns +==> configuration on dhcp-less networks. + +==> To use some of the client applications you will have to install python. +==> In addition, pygtk is required for the graphical ones and +==> twisted for avahi-bookmarks. +EOF +} + +post_remove() { + getent passwd avahi &>/dev/null && userdel avahi >/dev/null + getent group avahi &>/dev/null && groupdel avahi >/dev/null +} diff --git a/testing/avahi/rc.d.patch b/testing/avahi/rc.d.patch new file mode 100644 index 000000000..fd735734b --- /dev/null +++ b/testing/avahi/rc.d.patch @@ -0,0 +1,11 @@ +diff -aur old/initscript/archlinux/avahi-daemon.in new/initscript/archlinux/avahi-daemon.in +--- old/initscript/archlinux/avahi-daemon.in 2011-06-24 03:07:00.916170590 +0200 ++++ new/initscript/archlinux/avahi-daemon.in 2011-06-24 03:16:32.220596377 +0200 +@@ -33,6 +33,7 @@ + + case "$1" in + start) ++ ck_daemon dbus && { echo -n "Start dbus first." >&2; stat_die; } + stat_busy "Starting $DESC" + $DAEMON -D > /dev/null 2>&1 + if [ $? -gt 0 ]; then diff --git a/testing/bison/PKGBUILD b/testing/bison/PKGBUILD new file mode 100644 index 000000000..ea49664d9 --- /dev/null +++ b/testing/bison/PKGBUILD @@ -0,0 +1,39 @@ +# $Id: PKGBUILD 143498 2011-11-25 03:24:12Z allan $ +# Maintainer: Allan McRae <allan@archlinux.org> +# Contributor: Eric Belanger <eric@archlinux.org> + +pkgname=bison +pkgver=2.5 +pkgrel=3 +pkgdesc="The GNU general-purpose parser generator" +arch=('i686' 'x86_64') +license=('GPL3') +url="http://www.gnu.org/software/bison/bison.html" +depends=('glibc' 'm4' 'sh') +groups=('base-devel') +install=bison.install +source=(ftp://ftp.gnu.org/gnu/bison/${pkgname}-${pkgver}.tar.bz2{,.sig} + bison-2.5-undefined-reference.patch) +md5sums=('9dba20116b13fc61a0846b0058fbe004' + '610b73db67bd4760209458efe7554ca3' + '2015c5421b2ad99032154f27bf5c4772') + +build() { + cd ${srcdir}/${pkgname}-${pkgver} + + # workaround for FS#26794 + patch -Np1 -i $srcdir/bison-2.5-undefined-reference.patch + + ./configure --prefix=/usr --datadir=/usr/share + make +} + +check() { + cd ${srcdir}/${pkgname}-${pkgver} + make check +} + +package() { + cd ${srcdir}/${pkgname}-${pkgver} + make DESTDIR=${pkgdir} install +} diff --git a/testing/bison/bison-2.5-undefined-reference.patch b/testing/bison/bison-2.5-undefined-reference.patch new file mode 100644 index 000000000..ea390259e --- /dev/null +++ b/testing/bison/bison-2.5-undefined-reference.patch @@ -0,0 +1,11 @@ +diff -Naur bison-2.5-orig/lib/yyerror.c bison-2.5/lib/yyerror.c +--- bison-2.5-orig/lib/yyerror.c 2011-01-04 00:50:42.000000000 +1000 ++++ bison-2.5/lib/yyerror.c 2011-11-09 22:01:48.725507079 +1000 +@@ -18,6 +18,7 @@ + along with this program. If not, see <http://www.gnu.org/licenses/>. */ + + #include <stdio.h> ++#undef fprintf + + int yyerror (char const *); + diff --git a/testing/bison/bison.install b/testing/bison/bison.install new file mode 100644 index 000000000..0081a194f --- /dev/null +++ b/testing/bison/bison.install @@ -0,0 +1,16 @@ +infodir=usr/share/info +file=bison.info.gz + +post_install() { + [ -x usr/bin/install-info ] || return 0 + install-info $infodir/$file $infodir/dir 2> /dev/null +} + +post_upgrade() { + post_install $1 +} + +pre_remove() { + [ -x usr/bin/install-info ] || return 0 + install-info --delete $infodir/$file $infodir/dir 2> /dev/null +} diff --git a/testing/gdbm/PKGBUILD b/testing/gdbm/PKGBUILD new file mode 100644 index 000000000..f5bf6c5ac --- /dev/null +++ b/testing/gdbm/PKGBUILD @@ -0,0 +1,57 @@ +# $Id: PKGBUILD 143462 2011-11-24 17:02:53Z stephane $ +# Maintainer: Stéphane Gaudreault <stephane@archlinux.org> +# Contributor: Allan McRae <allan@archlinux.org> +# Contributor: judd <jvinet@zeroflux.org> + +pkgname=gdbm +pkgver=1.10 +pkgrel=1 +pkgdesc="GNU database library" +url="http://www.gnu.org/software/gdbm/gdbm.html" +license=('GPL') +arch=('i686' 'x86_64') +depends=('glibc' 'sh') +source=(ftp://ftp.gnu.org/gnu/gdbm/${pkgname}-${pkgver}.tar.gz + gdbm-1.10-zeroheaders.patch) +options=('!libtool' '!makeflags') +install=gdbm.install +md5sums=('88770493c2559dc80b561293e39d3570' + 'ac255b10452005237836cd2d3a470733') +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + + # Prevent gdbm from storing uninitialized memory content + # to database files. This patch improves security, as the + # uninitialized memory might contain sensitive informations + # from other applications. + # https://bugzilla.redhat.com/show_bug.cgi?id=4457 + # http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=208927 + patch -Np1 -i ../gdbm-1.10-zeroheaders.patch + + ./configure --prefix=/usr \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --enable-libgdbm-compat + + make prefix=/usr +} + +check() { + cd "${srcdir}/${pkgname}-${pkgver}" + make check +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make prefix="${pkgdir}"/usr \ + manprefix="${pkgdir}"/usr/share/man \ + man3dir="${pkgdir}"/usr/share/man/man3 \ + infodir="${pkgdir}"/usr/share/info \ + install + + # create symlinks for compatibility + install -dm755 "${pkgdir}"/usr/include/gdbm + ln -sf ../gdbm.h "${pkgdir}"/usr/include/gdbm/gdbm.h + ln -sf ../ndbm.h "${pkgdir}"/usr/include/gdbm/ndbm.h + ln -sf ../dbm.h "${pkgdir}"/usr/include/gdbm/dbm.h +} diff --git a/testing/gdbm/gdbm-1.10-zeroheaders.patch b/testing/gdbm/gdbm-1.10-zeroheaders.patch new file mode 100644 index 000000000..a268f6bdf --- /dev/null +++ b/testing/gdbm/gdbm-1.10-zeroheaders.patch @@ -0,0 +1,33 @@ +diff -up gdbm-1.10/src/falloc.c.zeroheaders gdbm-1.10/src/falloc.c +--- gdbm-1.10/src/falloc.c.zeroheaders 2011-11-11 11:59:11.000000000 +0100 ++++ gdbm-1.10/src/falloc.c 2011-11-14 17:34:32.487604027 +0100 +@@ -255,7 +255,7 @@ push_avail_block (GDBM_FILE dbf) + + + /* Split the header block. */ +- temp = (avail_block *) malloc (av_size); ++ temp = (avail_block *) calloc (1, av_size); + if (temp == NULL) _gdbm_fatal (dbf, _("malloc error")); + /* Set the size to be correct AFTER the pop_avail_block. */ + temp->size = dbf->header->avail.size; +diff -up gdbm-1.10/src/gdbmopen.c.zeroheaders gdbm-1.10/src/gdbmopen.c +--- gdbm-1.10/src/gdbmopen.c.zeroheaders 2011-11-11 19:39:42.000000000 +0100 ++++ gdbm-1.10/src/gdbmopen.c 2011-11-14 17:33:24.867608650 +0100 +@@ -264,7 +264,7 @@ gdbm_open (const char *file, int block_s + (dbf->header->block_size - sizeof (hash_bucket)) + / sizeof (bucket_element) + 1; + dbf->header->bucket_size = dbf->header->block_size; +- dbf->bucket = (hash_bucket *) malloc (dbf->header->bucket_size); ++ dbf->bucket = (hash_bucket *) calloc (1, dbf->header->bucket_size); + if (dbf->bucket == NULL) + { + gdbm_close (dbf); +@@ -456,7 +456,7 @@ _gdbm_init_cache(GDBM_FILE dbf, size_t s + for(index = 0; index < size; index++) + { + (dbf->bucket_cache[index]).ca_bucket +- = (hash_bucket *) malloc (dbf->header->bucket_size); ++ = (hash_bucket *) calloc (1, dbf->header->bucket_size); + if ((dbf->bucket_cache[index]).ca_bucket == NULL) + { + gdbm_errno = GDBM_MALLOC_ERROR; diff --git a/testing/gdbm/gdbm.install b/testing/gdbm/gdbm.install new file mode 100644 index 000000000..2d1ce2c5a --- /dev/null +++ b/testing/gdbm/gdbm.install @@ -0,0 +1,21 @@ +infodir=/usr/share/info +filelist=(gdbm.info) + +post_install() { + [ -x usr/bin/install-info ] || return 0 + for file in ${filelist[@]}; do + usr/bin/install-info $infodir/$file $infodir/dir 2> /dev/null + done +} + +post_upgrade() { + post_install $1 +} + +pre_remove() { + [ -x usr/bin/install-info ] || return 0 + for file in ${filelist[@]}; do + usr/bin/install-info --delete $infodir/$file $infodir/dir 2> /dev/null + done +} + diff --git a/testing/lighttpd/PKGBUILD b/testing/lighttpd/PKGBUILD new file mode 100644 index 000000000..1a41dd995 --- /dev/null +++ b/testing/lighttpd/PKGBUILD @@ -0,0 +1,67 @@ +# $Id: PKGBUILD 143464 2011-11-24 17:02:56Z stephane $ +# Maintainer: Pierre Schmitz <pierre@archlinux.de> + +pkgname=lighttpd +pkgver=1.4.29 +pkgrel=3 +pkgdesc='a secure, fast, compliant and very flexible web-server' +license=('custom') +arch=('i686' 'x86_64') +url="http://www.lighttpd.net/" +depends=('pcre' 'bzip2' 'libldap' 'util-linux') +makedepends=('fcgi' 'libmysqlclient' 'lua' 'libxml2' 'e2fsprogs' 'sqlite3' 'gdbm' 'pkgconfig') +optdepends=('libxml2: mod_webdav' + 'lua: mod_cml/mod_magnet' + 'libmysqlclient: mod_mysql_vhost' + 'sqlite3: mod_webdav') +backup=('etc/lighttpd/lighttpd.conf' 'etc/logrotate.d/lighttpd') +options=('!libtool' 'emptydirs') +source=("http://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-${pkgver}.tar.bz2" + "http://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-${pkgver}.tar.bz2.asc" + 'lighttpd.rc.d' 'lighttpd.logrotate.d' 'lighttpd.conf') +md5sums=('e6e67b09986cb504db630b5a86b2dd76' + 'de2afb4ed6a088fd7fa5f13c387a08f0' + '268386e71f5748dc1d887b9a0ab65589' + '913e2157fa78d990c32146f387d44c2b' + 'acdaa94299e6299cb5085e6d88babeca') + +build() { + cd $srcdir/$pkgname-$pkgver + + ./configure --prefix=/usr \ + --libexecdir=/usr/lib/lighttpd/modules \ + --sysconfdir=/etc/lighttpd \ + --with-mysql \ + --with-ldap \ + --with-attr \ + --with-openssl \ + --with-kerberos5 \ + --without-fam \ + --with-webdav-props \ + --with-webdav-locks \ + --with-gdbm \ + --with-memcache \ + --with-lua + make +} + +check() { + cd $srcdir/$pkgname-$pkgver + make check +} + +package() { + cd $srcdir/$pkgname-$pkgver + make DESTDIR=$pkgdir install + + install -D -m755 $srcdir/lighttpd.rc.d $pkgdir/etc/rc.d/lighttpd + install -D -m644 $srcdir/lighttpd.logrotate.d $pkgdir/etc/logrotate.d/lighttpd + install -D -m644 $srcdir/lighttpd.conf $pkgdir/etc/lighttpd/lighttpd.conf + install -d -m755 -o http -g http $pkgdir/var/{log,cache}/lighttpd/ + + pushd doc/config >/dev/null + find . -type f ! -name 'Makefile*' -exec install -D -m644 {} ${pkgdir}/usr/share/doc/lighttpd/config/{} \; + popd >/dev/null + + install -D -m644 COPYING $pkgdir/usr/share/licenses/$pkgname/COPYING +} diff --git a/testing/lighttpd/lighttpd.conf b/testing/lighttpd/lighttpd.conf new file mode 100644 index 000000000..4ca1b23a4 --- /dev/null +++ b/testing/lighttpd/lighttpd.conf @@ -0,0 +1,12 @@ +# This is a minimal example config +# See /usr/share/doc/lighttpd +# and http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs:ConfigurationOptions + +server.port = 80 +server.username = "http" +server.groupname = "http" +server.document-root = "/srv/http" +server.errorlog = "/var/log/lighttpd/error.log" +dir-listing.activate = "enable" +index-file.names = ( "index.html" ) +mimetype.assign = ( ".html" => "text/html", ".txt" => "text/plain", ".jpg" => "image/jpeg", ".png" => "image/png" ) diff --git a/testing/lighttpd/lighttpd.logrotate.d b/testing/lighttpd/lighttpd.logrotate.d new file mode 100644 index 000000000..5ff32a0c5 --- /dev/null +++ b/testing/lighttpd/lighttpd.logrotate.d @@ -0,0 +1,6 @@ +/var/log/lighttpd/*log { + missingok + postrotate + /etc/rc.d/lighttpd reload >/dev/null || true + endscript +} diff --git a/testing/lighttpd/lighttpd.rc.d b/testing/lighttpd/lighttpd.rc.d new file mode 100644 index 000000000..88f0a1474 --- /dev/null +++ b/testing/lighttpd/lighttpd.rc.d @@ -0,0 +1,132 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + + +pid_file='/var/run/lighttpd/lighttpd-angel.pid' + +get_pid() { + if [ -r "${pid_file}" ]; then + cat "${pid_file}" + else + pgrep -f /usr/sbin/lighttpd-angel + fi +} + +test_config() { + stat_busy 'Checking configuration' + if [ $(id -u) -ne 0 ]; then + stat_append '(This script must be run as root)' + stat_die + fi + + if [ ! -r /etc/lighttpd/lighttpd.conf ]; then + stat_append '(/etc/lighttpd/lighttpd.conf not found)' + stat_die + fi + + /usr/sbin/lighttpd -t -f /etc/lighttpd/lighttpd.conf >/dev/null 2>&1 + if [ $? -gt 0 ]; then + stat_append '(error in /etc/lighttpd/lighttpd.conf)' + stat_die + fi + + local piddir=$(dirname "${pid_file}") + if [ ! -d "${piddir}" ]; then + install -d -m755 -o http -g http "${piddir}" + fi + + stat_done +} + +start() { + stat_busy 'Starting lighttpd' + + local PID=$(get_pid) + if [ -z "$PID" ]; then + nohup /usr/sbin/lighttpd-angel -D -f /etc/lighttpd/lighttpd.conf >>/var/log/lighttpd/lighttpd-angel.log 2>&1 & + if [ $? -gt 0 ]; then + stat_die + else + echo $! > "${pid_file}" + add_daemon lighttpd + stat_done + fi + else + stat_die + fi +} + +stop() { + stat_busy 'Stopping lighttpd' + local PID=$(get_pid) + [ -n "$PID" ] && kill $PID &> /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + [ -f "${pid_file}" ] && rm -f "${pid_file}" + rm_daemon lighttpd + stat_done + fi +} + +gracefull-stop() { + stat_busy 'Stopping lighttpd gracefully' + local PID=$(get_pid) + [ -n "$PID" ] && kill -INT $PID &> /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + [ -f "${pid_file}" ] && rm -f "${pid_file}" + rm_daemon lighttpd + stat_done + fi +} + +reload() { + stat_busy 'Reloading lighttpd' + local PID=$(get_pid) + [ -n "$PID" ] && kill -HUP $PID &> /dev/null + if [ $? -gt 0 ]; then + stat_die + else + stat_done + fi +} + + +case "$1" in + start) + test_config + start + ;; + stop) + test_config + stop + ;; + gracefull-stop) + test_config + stop + ;; + reload) + test_config + reload + ;; + restart) + test_config + stop + while [ -n "$(get_pid)" ]; do + sleep 1 + done + start + ;; + status) + stat_busy 'Checking lighttpd status' + ck_status lighttpd + ;; + *) + echo "usage: $0 {start|stop|gracefull-stop|reload|restart|status}" +esac + +exit 0 diff --git a/testing/links/PKGBUILD b/testing/links/PKGBUILD new file mode 100644 index 000000000..511ef96d3 --- /dev/null +++ b/testing/links/PKGBUILD @@ -0,0 +1,47 @@ +# $Id: PKGBUILD 143456 2011-11-24 16:44:18Z eric $ +# Maintainer: Eric Bélanger <eric@archlinux.org> + +pkgname=links +pkgver=2.4 +pkgrel=1 +pkgdesc="A text WWW browser, similar to Lynx" +arch=('i686' 'x86_64') +url="http://links.twibright.com/" +license=('GPL') +depends=('bzip2' 'zlib' 'openssl' 'gpm') +makedepends=('libtiff' 'libpng' 'libxt') +optdepends=('libx11: for using xlinks' 'libtiff: for using xlinks' 'libpng: for using xlinks') +provides=('links-g') +conflicts=('links-g') +replaces=('links-g') +source=(http://links.twibright.com/download/${pkgname}-${pkgver}.tar.bz2 links.desktop) +sha1sums=('c09fcb03874b1d0586f582f73833bb2f4c9ed7ac' + 'f600e27c2a71184444f7dd07a10230aa44463a02') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + (cd intl; ./gen-intl; ./synclang) + ./configure --prefix=/usr --mandir=/usr/share/man --enable-javascript \ + --enable-graphics --with-x --with-fb + make + mv links xlinks + + ./configure --prefix=/usr --mandir=/usr/share/man --enable-javascript \ + --disable-graphics --without-x --without-fb + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install + + install -m755 xlinks "${pkgdir}/usr/bin/xlinks" + ln -s links.1.gz "${pkgdir}/usr/share/man/man1/xlinks.1.gz" + + install -D -m644 "${srcdir}/links.desktop" "${pkgdir}/usr/share/applications/links.desktop" + install -d "${pkgdir}/usr/share/pixmaps" + install -m644 links_16x16_1.xpm links_16x16_2.xpm links_32x32.xpm "${pkgdir}/usr/share/pixmaps/" + + install -d "${pkgdir}/usr/share/doc/links/calibration" + install -m644 doc/links_cal/* "${pkgdir}/usr/share/doc/links/calibration/" +} diff --git a/testing/links/links.desktop b/testing/links/links.desktop new file mode 100644 index 000000000..9d6338a5b --- /dev/null +++ b/testing/links/links.desktop @@ -0,0 +1,7 @@ +[Desktop Entry] +Name=Links +Exec=xlinks -g +Icon=links_32x32.xpm +Type=Application +Terminal=false +Categories=Network;WebBrowser; diff --git a/testing/man-db/1361_1360.diff b/testing/man-db/1361_1360.diff new file mode 100644 index 000000000..c93856980 --- /dev/null +++ b/testing/man-db/1361_1360.diff @@ -0,0 +1,25 @@ +=== modified file 'src/straycats.c' +--- src/straycats.c 2011-01-10 20:08:22 +0000 ++++ src/straycats.c 2011-06-04 06:34:51 +0000 +@@ -177,6 +177,7 @@ + char *lang, *page_encoding; + char *mandir_base; + pipecmd *col_cmd; ++ char *col_locale; + char *fullpath; + + /* we have a straycat. Need to filter it and get +@@ -226,6 +227,12 @@ + col_cmd = pipecmd_new_argstr + (get_def_user ("col", COL)); + pipecmd_arg (col_cmd, "-bx"); ++ col_locale = find_charset_locale ("UTF-8"); ++ if (col_locale) { ++ pipecmd_setenv (col_cmd, "LC_CTYPE", ++ col_locale); ++ free (col_locale); ++ } + pipeline_command (decomp, col_cmd); + + fullpath = canonicalize_file_name (catdir); + diff --git a/testing/man-db/PKGBUILD b/testing/man-db/PKGBUILD new file mode 100644 index 000000000..f2cdff3c3 --- /dev/null +++ b/testing/man-db/PKGBUILD @@ -0,0 +1,60 @@ +# $Id: PKGBUILD 143466 2011-11-24 17:02:58Z stephane $ +# Maintainer: Andreas Radke <andyrtr@archlinux.org> +# Contributor: Sergej Pupykin <sergej@aur.archlinux.org> + +pkgname=man-db +pkgver=2.6.0.2 +pkgrel=3 +pkgdesc="A utility for reading man pages" +arch=('i686' 'x86_64') +url="http://www.nongnu.org/man-db/" +license=('GPL' 'LGPL') +groups=('base') +depends=( 'bash' 'gdbm' 'zlib' 'groff' 'libpipeline') +optdepends=('less' 'gzip') +backup=('etc/man_db.conf' + 'etc/cron.daily/man-db') +conflicts=('man') +provides=('man') +replaces=('man') +install=${pkgname}.install +source=(http://savannah.nongnu.org/download/man-db/$pkgname-$pkgver.tar.gz + 1361_1360.diff + #http://launchpad.net/man-db/main/${pkgver}/+download/${pkgname}-${pkgver}.tar.gz + convert-mans man-db.cron.daily) +options=('!libtool') +md5sums=('2b41c96efec032d2b74ccbf2e401f93e' + '08b76b1f924c5493a280b79fc0aebde4' + '2b7662a7d5b33fe91f9f3e034361a2f6' + 'd30c39ae47560304471b5461719e0f03') + +build() { + cd ${srcdir}/${pkgname}-${pkgver} + # https://bugs.archlinux.org/task/18722 + patch -Np0 -i $srcdir/1361_1360.diff + ./configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib \ + --with-db=gdbm --disable-setuid --enable-mandirs=GNU \ + --with-sections="1 n l 8 3 0 2 5 4 9 6 7" + make +} + +check() { + cd ${srcdir}/${pkgname}-${pkgver} + make check +} + +package() { + cd ${srcdir}/${pkgname}-${pkgver} + make DESTDIR=${pkgdir} install + + # part of groff pkg + rm -f ${pkgdir}/usr/bin/zsoelim + + # script from LFS to convert manpages, see + # http://www.linuxfromscratch.org/lfs/view/6.4/chapter06/man-db.html + install -D -m755 ${srcdir}/convert-mans ${pkgdir}/usr/bin/convert-mans + + #install whatis cron script + install -D -m744 ${srcdir}/man-db.cron.daily ${pkgdir}/etc/cron.daily/man-db +} + diff --git a/testing/man-db/convert-mans b/testing/man-db/convert-mans new file mode 100644 index 000000000..58a0224b0 --- /dev/null +++ b/testing/man-db/convert-mans @@ -0,0 +1,11 @@ +#!/bin/sh -e +FROM="$1" +TO="$2" +shift ; shift +while [ $# -gt 0 ] +do + FILE="$1" + shift + iconv -f "$FROM" -t "$TO" "$FILE" >.tmp.iconv + mv .tmp.iconv "$FILE" +done diff --git a/testing/man-db/man-db.cron.daily b/testing/man-db/man-db.cron.daily new file mode 100755 index 000000000..53e66e1e9 --- /dev/null +++ b/testing/man-db/man-db.cron.daily @@ -0,0 +1,39 @@ +#!/bin/sh + +# nicenesses range from -20 (most favorable scheduling) to 19 (least favorable) +NICE=19 + +# 0 for none, 1 for real time, 2 for best-effort, 3 for idle +IONICE_CLASS=2 + +# 0-7 (for IONICE_CLASS 1 and 2 only), 0=highest, 7=lowest +IONICE_PRIORITY=7 + +UPDATEMANDB="/usr/bin/mandb --quiet" + +# Update the "whatis" database +#/usr/sbin/makewhatis -u -w + +# taken from Debian +# man-db cron daily +set -e + +if ! [ -d /var/cache/man ]; then + # Recover from deletion, per FHS. + mkdir -p /var/cache/man + chmod 755 /var/cache/man +fi + +# regenerate man database + +if [ -x /usr/bin/nice ]; then + UPDATEMANDB="/usr/bin/nice -n ${NICE:-19} ${UPDATEMANDB}" +fi + +if [ -x /usr/bin/ionice ]; then + UPDATEMANDB="/usr/bin/ionice -c ${IONICE_CLASS:-2} -n ${IONICE_PRIORITY:-7} ${UPDATEMANDB}" +fi + +${UPDATEMANDB} + +exit 0 diff --git a/testing/man-db/man-db.install b/testing/man-db/man-db.install new file mode 100644 index 000000000..f6f0f27a6 --- /dev/null +++ b/testing/man-db/man-db.install @@ -0,0 +1,22 @@ +post_install() { + echo "it's recommended to create an initial" + echo "database running as root:" + echo "\"/usr/bin/mandb --quiet\"" +} + +post_upgrade() { + if [ "`vercmp $2 2.5.3-2`" -lt 0 ]; then + echo "systemuser \"man\" is no more required" + echo "run \"userdel man\". please also" + echo "chown root:root /var/cache/man" + fi + # force database rebuild to get rid off badly imported pages + if [ "`vercmp $2 2.6.0.2`" -lt 0 ]; then + echo "(re)building database..." + mandb -c --quiet + fi +} + +post_remove() { + rm -rf /var/cache/man +} diff --git a/testing/mutt/PKGBUILD b/testing/mutt/PKGBUILD new file mode 100644 index 000000000..57b14432d --- /dev/null +++ b/testing/mutt/PKGBUILD @@ -0,0 +1,48 @@ +# $Id: PKGBUILD 143468 2011-11-24 17:03:00Z stephane $ +# Contributor: tobias [tobias [at] archlinux.org] +# Maintainer: Gaetan Bisson <bisson@archlinux.org> + +pkgname=mutt +pkgver=1.5.21 +pkgrel=6 +pkgdesc='Small but very powerful text-based mail client' +url='http://www.mutt.org/' +license=('GPL') +backup=('etc/Muttrc') +arch=('i686' 'x86_64') +optdepends=('smtp-forwarder: to send mail') +depends=('gpgme' 'ncurses' 'openssl' 'libsasl' 'gdbm' 'libidn' 'mime-types' 'krb5') +source=("ftp://ftp.mutt.org/mutt/devel/${pkgname}-${pkgver}.tar.gz") +sha1sums=('a8475f2618ce5d5d33bff85c0affdf21ab1d76b9') + +install=install + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --enable-gpgme \ + --enable-pop \ + --enable-imap \ + --enable-smtp \ + --enable-hcache \ + --with-curses=/usr \ + --with-regex \ + --with-gss=/usr \ + --with-ssl=/usr \ + --with-sasl \ + --with-idn \ + + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install + + rm "${pkgdir}"/usr/bin/{flea,muttbug} + rm "${pkgdir}"/usr/share/man/man1/{flea,muttbug}.1 + rm "${pkgdir}"/etc/mime.types{,.dist} + install -Dm644 contrib/gpg.rc "${pkgdir}"/etc/Muttrc.gpg.dist +} diff --git a/testing/mutt/install b/testing/mutt/install new file mode 100644 index 000000000..d65675c06 --- /dev/null +++ b/testing/mutt/install @@ -0,0 +1,8 @@ +post_install() { + cat <<EOF + +==> For GPG support, add the following to your muttrc: +==> source /etc/Muttrc.gpg.dist + +EOF +} diff --git a/testing/ocaml/PKGBUILD b/testing/ocaml/PKGBUILD new file mode 100644 index 000000000..1ea6e5ccd --- /dev/null +++ b/testing/ocaml/PKGBUILD @@ -0,0 +1,57 @@ +# $Id: PKGBUILD 143470 2011-11-24 17:03:04Z stephane $ +# Maintainer: Tobias Powalowski <tpowa@archlinux.org> + +pkgbase='ocaml' +pkgname=('ocaml' 'ocaml-compiler-libs') +pkgver=3.12.1 +pkgrel=3 +pkgdesc="A functional language with OO extensions" +arch=('i686' 'x86_64') +license=('LGPL2' 'custom: QPL-1.0') +url="http://caml.inria.fr/" +depends=('gdbm') +makedepends=('tk' 'ncurses>=5.6-7' 'libx11') +optdepends=('ncurses: advanced ncurses features' 'tk: advanced tk features') +source=(http://caml.inria.fr/distrib/ocaml-3.12/${pkgname}-${pkgver}.tar.gz) +md5sums=('814a047085f0f901ab7d8e3a4b7a9e65') +options=('!makeflags' '!emptydirs') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure -prefix /usr + make world.opt +} + +package_ocaml() { + cd "${srcdir}/${pkgbase}-${pkgver}" + make PREFIX="${pkgdir}/usr" MANDIR="${pkgdir}/usr/share/man" install + + # Save >10MB with this one, makepkg only strips debug symbols. + #find "${pkgdir}/usr/lib" -type f -name '*.so.*' -exec strip --strip-unneeded {} \; + + # install license + install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/" +} + +package_ocaml-compiler-libs() { +pkgdesc="Several modules used internally by the OCaml compiler" +license=('custom: QPL-1.0') +depends=('ocaml') +optdepends=() + + cd "${srcdir}/${pkgbase}-${pkgver}" + + # Install compiler libraries + local compiler_libs="${pkgdir}/usr/lib/ocaml/compiler-libs" + mkdir -p "$compiler_libs"/{parsing,typing,utils} + cp parsing/*.{cmi,cmo,cmx,ml,mli,mll,o} "$compiler_libs"/parsing + cp typing/*.{cmi,cmo,cmx,ml,mli,o} "$compiler_libs"/typing + cp utils/*.{cmi,cmo,cmx,ml,mli,o} "$compiler_libs"/utils + # duplicated by installation + rm -f "$compiler_libs"/typing/outcometree.{cmi,mli} + + # install license + install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/" +} diff --git a/testing/ocaml/fix-ocaml-binutils-2.21.patch b/testing/ocaml/fix-ocaml-binutils-2.21.patch new file mode 100644 index 000000000..fa7664cec --- /dev/null +++ b/testing/ocaml/fix-ocaml-binutils-2.21.patch @@ -0,0 +1,66 @@ +From: Stephane Glondu <steph@glondu.net> +Date: Tue, 8 Mar 2011 21:17:40 +0100 +Subject: [PATCH] Fix ocamlopt w.r.t. binutils 2.21 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Bug: http://caml.inria.fr/mantis/view.php?id=5237 +Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=617404 +Authors: Eric Cooper, spiralvoice +Reviewed-by: Stéphane Glondu <steph@glondu.net> +--- + asmcomp/amd64/emit.mlp | 13 +++++++------ + asmcomp/i386/emit.mlp | 6 +++--- + 2 files changed, 10 insertions(+), 9 deletions(-) + +diff --git a/asmcomp/amd64/emit.mlp b/asmcomp/amd64/emit.mlp +index 4a3f844..525c6e6 100644 +--- a/asmcomp/amd64/emit.mlp ++++ b/asmcomp/amd64/emit.mlp +@@ -679,17 +679,18 @@ let fundecl fundecl = + emit_all true fundecl.fun_body; + List.iter emit_call_gc !call_gc_sites; + emit_call_bound_errors (); ++ begin match Config.system with ++ "linux" | "gnu" -> ++ ` .type {emit_symbol fundecl.fun_name},@function\n`; ++ ` .size {emit_symbol fundecl.fun_name},.-{emit_symbol fundecl.fun_name}\n` ++ | _ -> () ++ end; + if !float_constants <> [] then begin + if macosx + then ` .literal8\n` + else ` .section .rodata.cst8,\"a\",@progbits\n`; + List.iter emit_float_constant !float_constants +- end; +- match Config.system with +- "linux" | "gnu" -> +- ` .type {emit_symbol fundecl.fun_name},@function\n`; +- ` .size {emit_symbol fundecl.fun_name},.-{emit_symbol fundecl.fun_name}\n` +- | _ -> () ++ end + + (* Emission of data *) + +diff --git a/asmcomp/i386/emit.mlp b/asmcomp/i386/emit.mlp +index 2992f29..0b1252c 100644 +--- a/asmcomp/i386/emit.mlp ++++ b/asmcomp/i386/emit.mlp +@@ -905,12 +905,12 @@ let fundecl fundecl = + emit_all true fundecl.fun_body; + List.iter emit_call_gc !call_gc_sites; + emit_call_bound_errors (); +- List.iter emit_float_constant !float_constants; +- match Config.system with ++ begin match Config.system with + "linux_elf" | "bsd_elf" | "gnu" -> + ` .type {emit_symbol fundecl.fun_name},@function\n`; + ` .size {emit_symbol fundecl.fun_name},.-{emit_symbol fundecl.fun_name}\n` +- | _ -> () ++ | _ -> () end; ++ List.iter emit_float_constant !float_constants + + + (* Emission of data *) +-- diff --git a/testing/perl/0001-Append-CFLAGS-and-LDFLAGS-to-their-Config.pm-counter.patch b/testing/perl/0001-Append-CFLAGS-and-LDFLAGS-to-their-Config.pm-counter.patch new file mode 100644 index 000000000..1404460df --- /dev/null +++ b/testing/perl/0001-Append-CFLAGS-and-LDFLAGS-to-their-Config.pm-counter.patch @@ -0,0 +1,83 @@ +From bb249b0b26c2e79a6f55355ef94889070f07fd21 Mon Sep 17 00:00:00 2001 +From: Niko Tyni <ntyni@debian.org> +Date: Thu, 28 Apr 2011 09:18:54 +0300 +Subject: [PATCH] Append CFLAGS and LDFLAGS to their Config.pm counterparts in + EU::CBuilder + +Since ExtUtils::CBuilder 0.27_04 (bleadperl commit 06e8058f27e4), +CFLAGS and LDFLAGS from the environment have overridden the Config.pm +ccflags and ldflags settings. This can cause binary incompatibilities +between the core Perl and extensions built with EU::CBuilder. + +Append to the Config.pm values rather than overriding them. +--- + .../lib/ExtUtils/CBuilder/Base.pm | 6 +++- + dist/ExtUtils-CBuilder/t/04-base.t | 25 +++++++++++++++++++- + 2 files changed, 28 insertions(+), 3 deletions(-) + +diff --git a/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Base.pm b/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Base.pm +index b572312..2255c51 100644 +--- a/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Base.pm ++++ b/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Base.pm +@@ -40,11 +40,13 @@ sub new { + $self->{config}{$k} = $v unless exists $self->{config}{$k}; + } + $self->{config}{cc} = $ENV{CC} if defined $ENV{CC}; +- $self->{config}{ccflags} = $ENV{CFLAGS} if defined $ENV{CFLAGS}; ++ $self->{config}{ccflags} = join(" ", $self->{config}{ccflags}, $ENV{CFLAGS}) ++ if defined $ENV{CFLAGS}; + $self->{config}{cxx} = $ENV{CXX} if defined $ENV{CXX}; + $self->{config}{cxxflags} = $ENV{CXXFLAGS} if defined $ENV{CXXFLAGS}; + $self->{config}{ld} = $ENV{LD} if defined $ENV{LD}; +- $self->{config}{ldflags} = $ENV{LDFLAGS} if defined $ENV{LDFLAGS}; ++ $self->{config}{ldflags} = join(" ", $self->{config}{ldflags}, $ENV{LDFLAGS}) ++ if defined $ENV{LDFLAGS}; + + unless ( exists $self->{config}{cxx} ) { + my ($ccpath, $ccbase, $ccsfx ) = fileparse($self->{config}{cc}, qr/\.[^.]*/); +diff --git a/dist/ExtUtils-CBuilder/t/04-base.t b/dist/ExtUtils-CBuilder/t/04-base.t +index c3bf6b5..1bb15aa 100644 +--- a/dist/ExtUtils-CBuilder/t/04-base.t ++++ b/dist/ExtUtils-CBuilder/t/04-base.t +@@ -1,7 +1,7 @@ + #! perl -w + + use strict; +-use Test::More tests => 50; ++use Test::More tests => 64; + use Config; + use Cwd; + use File::Path qw( mkpath ); +@@ -326,6 +326,29 @@ is_deeply( $mksymlists_args, + "_prepare_mksymlists_args(): got expected arguments for Mksymlists", + ); + ++my %testvars = ( ++ CFLAGS => 'ccflags', ++ LDFLAGS => 'ldflags', ++); ++ ++while (my ($VAR, $var) = each %testvars) { ++ local $ENV{$VAR}; ++ $base = ExtUtils::CBuilder::Base->new( quiet => 1 ); ++ ok( $base, "ExtUtils::CBuilder::Base->new() returned true value" ); ++ isa_ok( $base, 'ExtUtils::CBuilder::Base' ); ++ like($base->{config}{$var}, qr/\Q$Config{$var}/, ++ "honours $var from Config.pm"); ++ ++ $ENV{$VAR} = "-foo -bar"; ++ $base = ExtUtils::CBuilder::Base->new( quiet => 1 ); ++ ok( $base, "ExtUtils::CBuilder::Base->new() returned true value" ); ++ isa_ok( $base, 'ExtUtils::CBuilder::Base' ); ++ like($base->{config}{$var}, qr/\Q$ENV{$VAR}/, ++ "honours $VAR from the environment"); ++ like($base->{config}{$var}, qr/\Q$Config{$var}/, ++ "doesn't override $var from Config.pm with $VAR from the environment"); ++} ++ + ##### + + for ($source_file, $object_file, $lib_file) { +-- +1.7.4.4 + diff --git a/testing/perl/ChangeLog b/testing/perl/ChangeLog new file mode 100644 index 000000000..9add39e20 --- /dev/null +++ b/testing/perl/ChangeLog @@ -0,0 +1,66 @@ +2011-06-22 Angel Velasquez <angvp@archlinux.org> + * Added a patch for ExtUtils doesnt overwrite CFLAGS and LDFLAGS + * Fixed #FS22197, FS#22441, FS#24767 + * Rebuilt perl 5.14.1-2 against db 5.2.28 + +2011-06-16 Angel Velasquez <angvp@archlinux.org> + * Fixed #FS24660 + * Rebuilt against db 5.2.28 + +2011-05-16 Angel Velasquez <angvp@archlinux.org> + * perl 5.14.0 + * Removed patch for h2ph warning from 5.12.3 + * Removed provides array, you can use corelist -v 5.14.0 to know the + modules included with the perl core, through Module::CoreList (thx j3nnn1 + for the tip) + +2010-11-07 kevin <kevin@archlinux.org> + + * perl 5.12.2-1 + - Using /usr/bin/*_perl for script directories + +2010-11-06 kevin <kevin@archlinux.org> + + - Removed otherlibdirs directive from Configure + - Removed /usr/*/perl5/site_perl/5.10.1 from INC + - Finally removed legacy dirs /usr/lib/perl5/current and + /usr/lib/perl5/site_perl/current from @INC + +2010-05-23 kevin <kevin@archlinux.org> + + * perl 5.12.1-2 + - Francois updated the provides array. + +2010-05-23 kevin <kevin@archlinux.org> + + * perl 5.12.1-1 + +2010-05-16 kevin <kevin@archlinux.org> + + * perl 5.12.0-2 + +2010-05-12 kevin <kevin@archlinux.org> + + - FS#19411. Removed the for loop in perlbin.sh which didn't work on zsh. + This makes the loop variables unnecessary so the script no longer + pollutes the user's environment. + - FS#19427. Added /usr/*/perl5/site_perl/5.10.1 to otherlibdirs to support + user built modules. + +2010-05-09 kevin <kevin@archlinux.org> + + * perl 5.12.0-1 + - Modified perlbin.sh to only add existing dirs to PATH. Fixes FS#17402, + path points to non-existant directories + +2010-05-07 kevin <kevin@archlinux.org> + + - Added this changelog. + - Added -Dinc_version_list=none to fix FS#19136, double entry in @INC. + This removes the duplicates and versioned directory entries. + - Change scriptdirs to /usr/lib/perl5/{core,vendor,site}_perl/bin to fix + Fix FS#13808, binaries don't follow FHS. + - Stopped using versioned directories in sitelib and sitearch. + + +# vim: set ft=changelog ts=4 sw=4 et: diff --git a/testing/perl/PKGBUILD b/testing/perl/PKGBUILD new file mode 100644 index 000000000..496ca3fdd --- /dev/null +++ b/testing/perl/PKGBUILD @@ -0,0 +1,109 @@ +# $Id: PKGBUILD 143472 2011-11-24 17:03:10Z stephane $ +# Maintainer: Angel Velasquez <angvp@archlinux.org> +# Contributor: kevin <kevin.archlinux.org> +# Contributor: judd <jvinet.zeroflux.org> +# Contributor: francois <francois.archlinux.org> +pkgname=perl +pkgver=5.14.2 +pkgrel=3 +pkgdesc="A highly capable, feature-rich programming language" +arch=(i686 x86_64) +license=('GPL' 'PerlArtistic') +url="http://www.perl.org" +groups=('base') +depends=('gdbm' 'db' 'coreutils' 'glibc' 'sh') +changelog=ChangeLog +source=(http://www.cpan.org/src/5.0/perl-${pkgver}.tar.bz2 +perlbin.sh +perlbin.csh +provides.pl +0001-Append-CFLAGS-and-LDFLAGS-to-their-Config.pm-counter.patch) +install=perl.install +options=('!makeflags' '!purge') +md5sums=('04a4c5d3c1f9f19d77daff8e8cd19a26' + '5ed2542fdb9a60682f215bd33701e61a' + '1f0cbbee783e8a6d32f01be5118e0d5e' + '31fc0b5bb4935414394c5cfbec2cb8e5' + 'c25d86206d649046538c3daab7874564') + +build() { + cd ${srcdir}/${pkgname}-${pkgver} + + if [ "${CARCH}" = "x86_64" ]; then + # for x86_64 + arch_opts="-Dcccdlflags='-fPIC'" + else + # for i686 + arch_opts="" + fi + ./Configure -des -Dusethreads -Duseshrplib -Doptimize="${CFLAGS}" \ + -Dprefix=/usr -Dinstallprefix=${pkgdir}/usr -Dvendorprefix=/usr \ + -Dprivlib=/usr/share/perl5/core_perl \ + -Darchlib=/usr/lib/perl5/core_perl \ + -Dsitelib=/usr/share/perl5/site_perl \ + -Dsitearch=/usr/lib/perl5/site_perl \ + -Dvendorlib=/usr/share/perl5/vendor_perl \ + -Dvendorarch=/usr/lib/perl5/vendor_perl \ + -Dscriptdir=/usr/bin/core_perl \ + -Dsitescript=/usr/bin/site_perl \ + -Dvendorscript=/usr/bin/vendor_perl \ + -Dinc_version_list=none \ + -Dman1ext=1perl -Dman3ext=3perl ${arch_opts} \ + -Dlddlflags="-shared ${LDFLAGS}" -Dldflags="${LDFLAGS}" + patch -Np1 -i $srcdir/0001-Append-CFLAGS-and-LDFLAGS-to-their-Config.pm-counter.patch + make +} +package() { + # hack to work around makepkg running the subshell in check_sanity() + new_provides=($(cd "$srcdir/perl-$pkgver"; LD_PRELOAD=./libperl.so ./perl -Ilib "$srcdir/provides.pl" .)) + provides=(${new_provides[@]}) + + cd ${srcdir}/${pkgname}-${pkgver} + make install + + ### Perl Settings ### + # Change man page extensions for site and vendor module builds. + # Use archlinux email address instead of my own. + sed -e '/^man1ext=/ s/1perl/1p/' -e '/^man3ext=/ s/3perl/3pm/' \ + -e "/^cf_email=/ s/'.*'/'kevin@archlinux.org'/" \ + -e "/^perladmin=/ s/'.*'/'kevin@archlinux.org'/" \ + -i ${pkgdir}/usr/lib/perl5/core_perl/Config_heavy.pl + + ### CPAN Settings ### + # Set CPAN default config to use the site directories. + sed -e '/(makepl_arg =>/ s/""/"INSTALLDIRS=site"/' \ + -e '/(mbuildpl_arg =>/ s/""/"installdirs=site"/' \ + -i ${pkgdir}/usr/share/perl5/core_perl/CPAN/FirstTime.pm + + ### CPANPLUS Settings ### + # Set CPANPLUS default config to use the site directories. + sed -e "/{'makemakerflags'}/ s/'';/'INSTALLDIRS=site';/" \ + -e "/{'buildflags'}/ s/'';/'installdirs=site';/" \ + -i ${pkgdir}/usr/share/perl5/core_perl/CPANPLUS/Config.pm + + # Profile script to set paths to perl scripts. + install -D -m755 ${srcdir}/perlbin.sh \ + ${pkgdir}/etc/profile.d/perlbin.sh + # Profile script to set paths to perl scripts on csh. (FS#22441) + install -D -m755 ${srcdir}/perlbin.csh \ + ${pkgdir}/etc/profile.d/perlbin.csh + + (cd ${pkgdir}/usr/bin; mv perl${pkgver} perl) + (cd ${pkgdir}/usr/bin/core_perl; ln -sf c2ph pstruct; ln -sf s2p psed) + grep -Rl "${pkgdir}" ${pkgdir}/usr | \ + xargs sed -i "s^${pkgdir}^^g" + + # Remove all pod files *except* those under /usr/share/perl5/core_perl/pod/ + # (FS#16488) + rm -f $pkgdir/usr/share/perl5/core_perl/*.pod + for d in $pkgdir/usr/share/perl5/core_perl/*; do + if [ -d $d -a $(basename $d) != "pod" ]; then + find $d -name *.pod -delete + fi + done + find $pkgdir/usr/lib -name *.pod -delete + find $pkgdir -name .packlist -delete + # Add /usr/lib/perl5/core_perl/CORE/ to standard library path (FS#24660) + install -dv ${pkgdir}/etc/ld.so.conf.d + echo "/usr/lib/perl5/core_perl/CORE" > ${pkgdir}/etc/ld.so.conf.d/perl.conf +} diff --git a/testing/perl/fix-h2ph-and-tests.patch b/testing/perl/fix-h2ph-and-tests.patch new file mode 100644 index 000000000..a2d176ec6 --- /dev/null +++ b/testing/perl/fix-h2ph-and-tests.patch @@ -0,0 +1,104 @@ +From 8d66b3f930dc6d88b524d103e304308ae73a46e7 Mon Sep 17 00:00:00 2001 +From: Robin Barker <rmbarker@cpan.org> +Date: Thu, 22 Apr 2010 11:51:20 +0100 +Subject: [PATCH 1/1] Fix h2ph and test + +--- + lib/h2ph.t | 12 ++++++++++-- + utils/h2ph.PL | 28 +++++++++++++++++++++++----- + 2 files changed, 33 insertions(+), 7 deletions(-) + +diff --git a/lib/h2ph.t b/lib/h2ph.t +index 27dd7b9..8d62d46 100644 +--- a/lib/h2ph.t ++++ b/lib/h2ph.t +@@ -18,7 +18,7 @@ if (!(-e $extracted_program)) { + exit 0; + } + +-plan(4); ++plan(5); + + # quickly compare two text files + sub txt_compare { +@@ -41,8 +41,16 @@ $result = runperl( progfile => 'lib/h2ph.pht', + stderr => 1 ); + like( $result, qr/syntax OK$/, "output compiles"); + ++$result = runperl( progfile => '_h2ph_pre.ph', ++ switches => ['-c'], ++ stderr => 1 ); ++like( $result, qr/syntax OK$/, "preamble compiles"); ++ + $result = runperl( switches => ["-w"], +- prog => '$SIG{__WARN__} = sub { die $_[0] }; require q(lib/h2ph.pht);'); ++ stderr => 1, ++ prog => <<'PROG' ); ++$SIG{__WARN__} = sub { die $_[0] }; require q(lib/h2ph.pht); ++PROG + is( $result, '', "output free of warnings" ); + + # cleanup +diff --git a/utils/h2ph.PL b/utils/h2ph.PL +index 8f56db4..1255807 100644 +--- a/utils/h2ph.PL ++++ b/utils/h2ph.PL +@@ -401,7 +401,10 @@ if ($opt_e && (scalar(keys %bad_file) > 0)) { + exit $Exit; + + sub expr { +- $new = '"(assembly code)"' and return if /\b__asm__\b/; # freak out. ++ if (/\b__asm__\b/) { # freak out ++ $new = '"(assembly code)"'; ++ return ++ } + my $joined_args; + if(keys(%curargs)) { + $joined_args = join('|', keys(%curargs)); +@@ -770,7 +773,7 @@ sub inc_dirs + sub build_preamble_if_necessary + { + # Increment $VERSION every time this function is modified: +- my $VERSION = 2; ++ my $VERSION = 3; + my $preamble = "$Dest_dir/_h2ph_pre.ph"; + + # Can we skip building the preamble file? +@@ -798,7 +801,16 @@ sub build_preamble_if_necessary + # parenthesized value: d=(v) + $define{$_} = $1; + } +- if ($define{$_} =~ /^([+-]?(\d+)?\.\d+([eE][+-]?\d+)?)[FL]?$/) { ++ if (/^(\w+)\((\w)\)$/) { ++ my($macro, $arg) = ($1, $2); ++ my $def = $define{$_}; ++ $def =~ s/$arg/\$\{$arg\}/g; ++ print PREAMBLE <<DEFINE; ++unless (defined &$macro) { sub $macro(\$) { my (\$$arg) = \@_; \"$def\" } } ++ ++DEFINE ++ } elsif ++ ($define{$_} =~ /^([+-]?(\d+)?\.\d+([eE][+-]?\d+)?)[FL]?$/) { + # float: + print PREAMBLE + "unless (defined &$_) { sub $_() { $1 } }\n\n"; +@@ -807,8 +819,14 @@ sub build_preamble_if_necessary + print PREAMBLE + "unless (defined &$_) { sub $_() { $1 } }\n\n"; + } elsif ($define{$_} =~ /^\w+$/) { +- print PREAMBLE +- "unless (defined &$_) { sub $_() { &$define{$_} } }\n\n"; ++ my $def = $define{$_}; ++ if ($isatype{$def}) { ++ print PREAMBLE ++ "unless (defined &$_) { sub $_() { \"$def\" } }\n\n"; ++ } else { ++ print PREAMBLE ++ "unless (defined &$_) { sub $_() { &$def } }\n\n"; ++ } + } else { + print PREAMBLE + "unless (defined &$_) { sub $_() { \"", +-- +1.6.5.2.74.g610f9.dirty + diff --git a/testing/perl/perl.install b/testing/perl/perl.install new file mode 100644 index 000000000..a355c5bbe --- /dev/null +++ b/testing/perl/perl.install @@ -0,0 +1,10 @@ +# arg 1: the new package version +post_install() { + for ver in 5.8.{0,1,2,3,4,5,6,7,8}; do + [ -h usr/lib/perl5/$ver ] && rm usr/lib/perl5/$ver + [ -h usr/lib/perl5/site_perl/$ver ] && rm usr/lib/perl5/site_perl/$ver + [ -h usr/bin/perl$ver ] && rm usr/bin/perl$ver + done + return 0 +} + diff --git a/testing/perl/perlbin.csh b/testing/perl/perlbin.csh new file mode 100644 index 000000000..535f0b18d --- /dev/null +++ b/testing/perl/perlbin.csh @@ -0,0 +1,15 @@ +# Set path to perl scriptdirs if they exist +# https://wiki.archlinux.org/index.php/Perl_Policy#Binaries_and_Scripts +# Added /usr/bin/*_perl dirs for scripts +# Remove /usr/lib/perl5/*_perl/bin in next release + +[ -d /usr/bin/site_perl ] && setenv PATH ${PATH}:/usr/bin/site_perl +[ -d /usr/lib/perl5/site_perl/bin ] && setenv PATH ${PATH}:/usr/lib/perl5/site_perl/bin + +[ -d /usr/bin/vendor_perl ] && setenv PATH ${PATH}:/usr/bin/vendor_perl +[ -d /usr/lib/perl5/vendor_perl/bin ] && setenv PATH ${PATH}:/usr/lib/perl5/vendor_perl/bin + +[ -d /usr/bin/core_perl ] && setenv PATH ${PATH}:/usr/bin/core_perl + +# If you have modules in non-standard directories you can add them here. +#export PERLLIB=dir1:dir2 diff --git a/testing/perl/perlbin.sh b/testing/perl/perlbin.sh new file mode 100755 index 000000000..20f830436 --- /dev/null +++ b/testing/perl/perlbin.sh @@ -0,0 +1,18 @@ +# Set path to perl scriptdirs if they exist +# https://wiki.archlinux.org/index.php/Perl_Policy#Binaries_and_Scripts +# Added /usr/bin/*_perl dirs for scripts +# Remove /usr/lib/perl5/*_perl/bin in next release + +[ -d /usr/bin/site_perl ] && PATH=$PATH:/usr/bin/site_perl +[ -d /usr/lib/perl5/site_perl/bin ] && PATH=$PATH:/usr/lib/perl5/site_perl/bin + +[ -d /usr/bin/vendor_perl ] && PATH=$PATH:/usr/bin/vendor_perl +[ -d /usr/lib/perl5/vendor_perl/bin ] && PATH=$PATH:/usr/lib/perl5/vendor_perl/bin + +[ -d /usr/bin/core_perl ] && PATH=$PATH:/usr/bin/core_perl + +export PATH + +# If you have modules in non-standard directories you can add them here. +#export PERLLIB=dir1:dir2 + diff --git a/testing/perl/provides.pl b/testing/perl/provides.pl new file mode 100644 index 000000000..3bf369577 --- /dev/null +++ b/testing/perl/provides.pl @@ -0,0 +1,286 @@ +# provides.pl +## +# Script for printing out a provides list of every CPAN distribution +# that is bundled with perl. +# +# Justin Davis <jrcd83@gmail.com> + +use warnings 'FATAL' => 'all'; +use strict; + +package Common; + +sub evalver +{ + my ($path, $mod) = @_; + $mod ||= ""; + + open my $fh, '<', $path or die "open $path: $!"; + + while (<$fh>) { + next unless /\s*(?:\$${mod}::|\$)VERSION\s*=\s*(.+)/; + my $ver = eval $1; + return $ver unless $@; + warn qq{$path:$. bad version string "$ver"\n}; + } + + close $fh; + return undef; +} + +#----------------------------------------------------------------------------- + +package Dists; + +sub maindistfile +{ + my ($dist, $dir) = @_; + + # libpath is the modern style, installing modules under lib/ + # with dirs matching the name components. + my $libpath = join q{/}, 'lib', split /-/, "${dist}.pm"; + + # dumbpath is an old style where there's no subdirs and just + # a .pm file. + my $dumbpath = $dist; + $dumbpath =~ s/\A.+-//; + $dumbpath .= ".pm"; + + my @paths = ($libpath, $dumbpath); + # Some modules (with simple names like XSLoader, lib, etc) are + # generated by Makefile.PL. Search through their generating code. + push @paths, "${dist}_pm.PL" if $dist =~ tr/-/-/ == 0; + + for my $path (map { "$dir/$_" } @paths) { return $path if -f $path; } + return undef; +} + +sub module_ver +{ + my ($dist, $dir) = @_; + + my $path = maindistfile($dist, $dir) or return undef; + + my $mod = $dist; + $mod =~ s/-/::/g; + my $ver = Common::evalver($path, $mod); + unless ($ver) { + warn "failed to find version in module file for $dist\n"; + return undef; + } + + return $ver; +} + +sub changelog_ver +{ + my ($dist, $dir) = @_; + + my $path; + for my $tmp (glob "$dir/{Changes,ChangeLog}") { + if (-f $tmp) { $path = $tmp; last; } + } + return undef unless $path; + + open my $fh, '<', $path or die "open: $!"; + while (<$fh>) { + return $1 if /\A\s*(?:$dist[ \t]*)?([0-9._]+)/; + return $1 if /\A\s*version\s+([0-9._]+)/i; + } + close $fh; + + return undef; +} + +# for some reason podlators has a VERSION file with perl code in it +sub verfile_ver +{ + my ($dist, $dir) = @_; + + my $path = "$dir/VERSION"; + return undef unless -f $path; # no warning, only podlaters has it + + return Common::evalver($path); +} + +# scans a directory full of nicely separated dist. directories. +sub scan_distroot +{ + my ($distroot) = @_; + opendir my $cpand, "$distroot" or die "failed to open $distroot"; + my @dists = grep { !/^\./ && -d "$distroot/$_" } readdir $cpand; + closedir $cpand; + + my @found; + for my $dist (@dists) { + my $distdir = "$distroot/$dist"; + my $ver = (module_ver($dist, $distdir) + || changelog_ver($dist, $distdir) + || verfile_ver($dist, $distdir)); + + if ($ver) { push @found, [ $dist, $ver ]; } + else { warn "failed to find version for $dist\n"; } + } + return @found; +} + +sub find +{ + my ($srcdir) = @_; + return map { scan_distroot($_) } glob "$srcdir/{cpan,dist}"; +} + +#----------------------------------------------------------------------------- + +package Modules; + +use HTTP::Tiny qw(); +use File::Find qw(); +use File::stat; + +*findfile = *File::Find::find; + +sub cpan_provider +{ + my ($module) = @_; + my $url = "http://cpanmetadb.appspot.com/v1.0/package/$module"; + my $http = HTTP::Tiny->new; + my $resp = $http->get($url); + return undef unless $resp->{'success'}; + + my ($cpanpath) = $resp->{'content'} =~ /^distfile: (.*)$/m + or return undef; + + my $dist = $cpanpath; + $dist =~ s{\A.+/}{}; # remove author directory + $dist =~ s{-[^-]+\z}{}; # remove version and extension + return ($dist eq 'perl' ? undef : $dist); +} + +sub find +{ + my ($srcdir) = @_; + my $libdir = "$srcdir/lib/"; + die "failed to find $libdir directory" unless -d $libdir; + + # Find only the module files that have not changed since perl + # was extracted. We don't want the files perl just recently + # installed into lib/. We processed those already. + my @modfiles; + my $finder = sub { + return unless /[.]pm\z/; + push @modfiles, $_; + }; + findfile({ 'no_chdir' => 1, 'wanted' => $finder }, $libdir); + + # First we have to find what the oldest ctime actually is. + my $oldest = time; + @modfiles = map { + my $modfile = $_; + my $ctime = (stat $modfile)->ctime; + $oldest = $ctime if $ctime < $oldest; + [ $modfile, $ctime ]; # save ctime for later + } @modfiles; + + # Then we filter out any file that was created more than a + # few seconds after that. Process the rest. + my @mods; + for my $modfile (@modfiles) { + my ($mod, $ctime) = @$modfile; + next if $ctime - $oldest > 5; # ignore newer files + + my $path = $mod; + $mod =~ s{[.]pm\z}{}; + $mod =~ s{\A$libdir}{}; + $mod =~ s{/}{::}g; + + my $ver = Common::evalver($path) || q{}; + push @mods, [ $mod, $ver ]; + } + + # Convert modules names to the dist names who provide them. + my %seen; + my @dists; + for my $modref (@mods) { + my ($mod, $ver) = @$modref; + my $dist = cpan_provider($mod) or next; # filter out core modules + next if $seen{$dist}++; # avoid duplicate dists + push @dists, [ $dist, $ver ]; + } + return @dists; +} + +#----------------------------------------------------------------------------- + +package Dist2Pkg; + +sub name +{ + my ($name) = @_; + my $orig = $name; + + # Package names should be lowercase and consist of alphanumeric + # characters only (and hyphens!)... + $name =~ tr/A-Z/a-z/; + $name =~ tr/_+/-/; # _ and +'s converted to - (ie Tabbed-Text+Wrap) + $name =~ tr/-a-z0-9+//cd; # Delete all other chars. + $name =~ tr/-/-/s; + + # Delete leading or trailing hyphens... + $name =~ s/\A-|-\z//g; + + die qq{Dist. name '$orig' completely violates packaging standards} + unless $name; + + return "perl-$name"; +} + +sub version +{ + my ($version) = @_; + + # Package versions should be numbers and decimal points only... + $version =~ tr/-/./; + $version =~ tr/_0-9.-//cd; + + # Remove developer versions because pacman has no special logic + # to compare them to regular versions like perl does. + $version =~ s/_[^_]+\z//; + + $version =~ tr/_//d; # delete other underscores + $version =~ tr/././s; # only one period at a time + $version =~ s/\A[.]|[.]\z//g; # shouldn't start or stop with a period + + return $version; +} + +#----------------------------------------------------------------------------- + +package main; + +my %CPANNAME = ('List-Util' => 'Scalar-List-Utils', + 'Text-Tabs' => 'Text-Tabs+Wrap', + 'Cwd' => 'PathTools'); + +my $perldir = shift or die "Usage: $0 [path to perl source directory]\n"; +die "$perldir is not a valid directory." unless -d $perldir; + +my @dists = (Dists::find($perldir), Modules::find($perldir)); +for my $dist (@dists) { + my $name = $dist->[0]; + $dist->[0] = $CPANNAME{$name} if exists $CPANNAME{$name}; +} + +my @pkgs = map { + my ($name, $ver) = @$_; + $name = Dist2Pkg::name($name); + $ver = Dist2Pkg::version($ver); + [ $name, $ver ]; +} @dists; + +@pkgs = sort { $a->[0] cmp $b->[0] } @pkgs; + +for my $pkg (@pkgs) { + my ($name, $ver) = @$pkg; + print "$name=$ver\n"; +} diff --git a/testing/php/PKGBUILD b/testing/php/PKGBUILD new file mode 100644 index 000000000..59bdfd2dd --- /dev/null +++ b/testing/php/PKGBUILD @@ -0,0 +1,365 @@ +# $Id: PKGBUILD 143474 2011-11-24 17:03:15Z stephane $ +# Maintainer: Pierre Schmitz <pierre@archlinux.de> + +pkgbase=php +pkgname=('php' + 'php-cgi' + 'php-apache' + 'php-fpm' + 'php-embed' + 'php-pear' + 'php-enchant' + 'php-gd' + 'php-intl' + 'php-ldap' + 'php-mcrypt' + 'php-mssql' + 'php-odbc' + 'php-pgsql' + 'php-pspell' + 'php-snmp' + 'php-sqlite' + 'php-tidy' + 'php-xsl') +pkgver=5.3.8 +_suhosinver=5.3.7-0.9.10 +pkgrel=5 +arch=('i686' 'x86_64') +license=('PHP') +url='http://www.php.net' +makedepends=('apache' 'imap' 'postgresql-libs' 'libldap' 'postfix' + 'sqlite3' 'unixodbc' 'net-snmp' 'libzip' 'enchant' 'file' 'freetds' + 'libmcrypt' 'tidyhtml' 'aspell' 'libltdl' 'libpng' 'libjpeg' 'icu' + 'curl' 'libxslt' 'openssl' 'bzip2' 'db' 'gmp' 'freetype2') +source=("http://www.php.net/distributions/${pkgbase}-${pkgver}.tar.bz2" + "http://download.suhosin.org/suhosin-patch-${_suhosinver}.patch.gz" + "http://download.suhosin.org/suhosin-patch-${_suhosinver}.patch.gz.sig" + 'php.ini.patch' 'apache.conf' 'rc.d.php-fpm' 'php-fpm.conf.in.patch' + 'logrotate.d.php-fpm') +md5sums=('704cd414a0565d905e1074ffdc1fadfb' + '08582e502fed8221c6577042ca45ddb8' + '5bf4473f658404aa9a97bf026ecef8e9' + '65606c606df97a0760dfe5aaf9893afc' + 'dec2cbaad64e3abf4f0ec70e1de4e8e9' + 'b01be5f816988fcee7e78225836e5e27' + '09005dabd90c48ddd392b3dbf05f8a82' + '07c4e412909ac65a44ec90e7a2c4bade') + +build() { + phpconfig="--srcdir=../${pkgbase}-${pkgver} \ + --prefix=/usr \ + --sysconfdir=/etc/php \ + --localstatedir=/var \ + --with-layout=GNU \ + --with-config-file-path=/etc/php \ + --with-config-file-scan-dir=/etc/php/conf.d \ + --enable-inline-optimization \ + --disable-debug \ + --disable-rpath \ + --disable-static \ + --enable-shared \ + --mandir=/usr/share/man \ + --without-pear \ + " + + phpextensions="--enable-bcmath=shared \ + --enable-calendar=shared \ + --enable-dba=shared \ + --enable-exif=shared \ + --enable-ftp=shared \ + --enable-gd-native-ttf \ + --enable-intl=shared \ + --enable-json=shared \ + --enable-mbregex \ + --enable-mbstring \ + --enable-pdo \ + --enable-phar=shared \ + --enable-posix=shared \ + --enable-session \ + --enable-shmop=shared \ + --enable-soap=shared \ + --enable-sockets=shared \ + --enable-sqlite-utf8 \ + --enable-sysvmsg=shared \ + --enable-sysvsem=shared \ + --enable-sysvshm=shared \ + --enable-xml \ + --enable-zip=shared \ + --with-bz2=shared \ + --with-curl=shared \ + --with-db4=/usr \ + --with-enchant=shared,/usr \ + --with-freetype-dir=shared,/usr \ + --with-gd=shared \ + --with-gdbm=shared \ + --with-gettext=shared \ + --with-gmp=shared \ + --with-iconv=shared \ + --with-icu-dir=/usr \ + --with-imap-ssl=shared \ + --with-imap=shared \ + --with-jpeg-dir=shared,/usr \ + --with-ldap=shared \ + --with-ldap-sasl \ + --with-mcrypt=shared \ + --with-mhash \ + --with-mssql=shared \ + --with-mysql-sock=/var/run/mysqld/mysqld.sock \ + --with-mysql=shared,mysqlnd \ + --with-mysqli=shared,mysqlnd \ + --with-openssl=shared \ + --with-pcre-regex=/usr \ + --with-pdo-mysql=shared,mysqlnd \ + --with-pdo-odbc=shared,unixODBC,/usr \ + --with-pdo-pgsql=shared \ + --with-pdo-sqlite=shared,/usr \ + --with-pgsql=shared \ + --with-png-dir=shared,/usr \ + --with-pspell=shared \ + --with-regex=php \ + --with-snmp=shared \ + --with-sqlite3=shared,/usr \ + --with-sqlite=shared \ + --with-tidy=shared \ + --with-unixODBC=shared,/usr \ + --with-xmlrpc=shared \ + --with-xsl=shared \ + --with-zlib \ + --without-db2 \ + --without-db3 \ + " + + EXTENSION_DIR=/usr/lib/php/modules + export EXTENSION_DIR + PEAR_INSTALLDIR=/usr/share/pear + export PEAR_INSTALLDIR + + cd ${srcdir}/${pkgbase}-${pkgver} + + # apply suhosin patch + patch -p1 -i ${srcdir}/suhosin-patch-${_suhosinver}.patch + + # adjust paths + patch -p0 -i ${srcdir}/php.ini.patch + patch -p0 -i ${srcdir}/php-fpm.conf.in.patch + + # php + mkdir ${srcdir}/build-php + cd ${srcdir}/build-php + ln -s ../${pkgbase}-${pkgver}/configure + ./configure ${phpconfig} \ + --disable-cgi \ + --with-readline \ + --enable-pcntl \ + ${phpextensions} + make + + # cgi and fcgi + # reuse the previous run; this will save us a lot of time + cp -a ${srcdir}/build-php ${srcdir}/build-cgi + cd ${srcdir}/build-cgi + ./configure ${phpconfig} \ + --disable-cli \ + --enable-cgi \ + ${phpextensions} + make + + # apache + cp -a ${srcdir}/build-php ${srcdir}/build-apache + cd ${srcdir}/build-apache + ./configure ${phpconfig} \ + --disable-cli \ + --with-apxs2 \ + ${phpextensions} + make + + # fpm + cp -a ${srcdir}/build-php ${srcdir}/build-fpm + cd ${srcdir}/build-fpm + ./configure ${phpconfig} \ + --disable-cli \ + --enable-fpm \ + --with-fpm-user=http \ + --with-fpm-group=http \ + ${phpextensions} + make + + # embed + cp -a ${srcdir}/build-php ${srcdir}/build-embed + cd ${srcdir}/build-embed + ./configure ${phpconfig} \ + --disable-cli \ + --enable-embed=shared \ + ${phpextensions} + make + + # pear + cp -a ${srcdir}/build-php ${srcdir}/build-pear + cd ${srcdir}/build-pear + ./configure ${phpconfig} \ + --disable-cgi \ + --with-readline \ + --enable-pcntl \ + --with-pear \ + ${phpextensions} + make +} + +# check() { +# cd ${srcdir}/build-php +# make test +# } + +package_php() { + pkgdesc='An HTML-embedded scripting language' + depends=('pcre' 'libxml2' 'bzip2' 'curl') + replaces=('php-fileinfo' 'php-gmp' 'php-curl') + provides=('php-fileinfo' 'php-gmp' 'php-curl') + conflicts=('php-fileinfo' 'php-gmp' 'php-curl') + backup=('etc/php/php.ini') + + cd ${srcdir}/build-php + make -j1 INSTALL_ROOT=${pkgdir} install + install -d -m755 ${pkgdir}/usr/share/pear + # install php.ini + install -D -m644 ${srcdir}/${pkgbase}-${pkgver}/php.ini-production ${pkgdir}/etc/php/php.ini + install -d -m755 ${pkgdir}/etc/php/conf.d/ + + # remove static modules + rm -f ${pkgdir}/usr/lib/php/modules/*.a + # remove modules provided by sub packages + rm -f ${pkgdir}/usr/lib/php/modules/{enchant,gd,intl,ldap,mcrypt,mssql,odbc,pdo_odbc,pgsql,pdo_pgsql,pspell,snmp,sqlite3,pdo_sqlite,tidy,xsl}.so + # remove empty directory + rmdir ${pkgdir}/usr/include/php/include +} + +package_php-cgi() { + pkgdesc='CGI and FCGI SAPI for PHP' + depends=('php') + + install -D -m755 ${srcdir}/build-cgi/sapi/cgi/php-cgi ${pkgdir}/usr/bin/php-cgi +} + +package_php-apache() { + pkgdesc='Apache SAPI for PHP' + depends=('php' 'apache') + backup=('etc/httpd/conf/extra/php5_module.conf') + + install -D -m755 ${srcdir}/build-apache/libs/libphp5.so ${pkgdir}/usr/lib/httpd/modules/libphp5.so + install -D -m644 ${srcdir}/apache.conf ${pkgdir}/etc/httpd/conf/extra/php5_module.conf +} + +package_php-fpm() { + pkgdesc='FastCGI Process Manager for PHP' + depends=('php') + backup=('etc/php/php-fpm.conf') + + install -D -m755 ${srcdir}/build-fpm/sapi/fpm/php-fpm ${pkgdir}/usr/sbin/php-fpm + install -D -m644 ${srcdir}/build-fpm/sapi/fpm/php-fpm.8 ${pkgdir}/usr/share/man/man8/php-fpm.8 + install -D -m644 ${srcdir}/build-fpm/sapi/fpm/php-fpm.conf ${pkgdir}/etc/php/php-fpm.conf + install -D -m755 ${srcdir}/rc.d.php-fpm ${pkgdir}/etc/rc.d/php-fpm + install -D -m644 ${srcdir}/logrotate.d.php-fpm ${pkgdir}/etc/logrotate.d/php-fpm + install -d -m755 ${pkgdir}/etc/php/fpm.d +} + +package_php-embed() { + pkgdesc='Embed SAPI for PHP' + depends=('php') + + install -D -m755 ${srcdir}/build-embed/libs/libphp5.so ${pkgdir}/usr/lib/libphp5.so + install -D -m644 ${srcdir}/${pkgbase}-${pkgver}/sapi/embed/php_embed.h ${pkgdir}/usr/include/php/sapi/embed/php_embed.h +} + +package_php-pear() { + pkgdesc='PHP Extension and Application Repository' + depends=('php') + backup=('etc/php/pear.conf') + + cd ${srcdir}/build-pear + make -j1 install-pear INSTALL_ROOT=${pkgdir} + local i + while read i; do + [ ! -e "$i" ] || rm -rf "$i" + done < <(find ${pkgdir} -name '.*') +} + +package_php-enchant() { + depends=('php' 'enchant') + pkgdesc='enchant module for PHP' + install -D -m755 ${srcdir}/build-php/modules/enchant.so ${pkgdir}/usr/lib/php/modules/enchant.so +} + +package_php-gd() { + depends=('php' 'libpng' 'libjpeg' 'freetype2') + pkgdesc='gd module for PHP' + install -D -m755 ${srcdir}/build-php/modules/gd.so ${pkgdir}/usr/lib/php/modules/gd.so +} + +package_php-intl() { + depends=('php' 'icu') + pkgdesc='intl module for PHP' + install -D -m755 ${srcdir}/build-php/modules/intl.so ${pkgdir}/usr/lib/php/modules/intl.so +} + +package_php-ldap() { + depends=('php' 'libldap') + pkgdesc='ldap module for PHP' + install -D -m755 ${srcdir}/build-php/modules/ldap.so ${pkgdir}/usr/lib/php/modules/ldap.so +} + +package_php-mcrypt() { + depends=('php' 'libmcrypt' 'libltdl') + pkgdesc='mcrypt module for PHP' + install -D -m755 ${srcdir}/build-php/modules/mcrypt.so ${pkgdir}/usr/lib/php/modules/mcrypt.so +} + +package_php-mssql() { + depends=('php' 'freetds') + pkgdesc='mssql module for PHP' + install -D -m755 ${srcdir}/build-php/modules/mssql.so ${pkgdir}/usr/lib/php/modules/mssql.so +} + +package_php-odbc() { + depends=('php' 'unixodbc') + pkgdesc='ODBC modules for PHP' + install -D -m755 ${srcdir}/build-php/modules/odbc.so ${pkgdir}/usr/lib/php/modules/odbc.so + install -D -m755 ${srcdir}/build-php/modules/pdo_odbc.so ${pkgdir}/usr/lib/php/modules/pdo_odbc.so +} + +package_php-pgsql() { + depends=('php' 'postgresql-libs') + pkgdesc='PostgreSQL modules for PHP' + install -D -m755 ${srcdir}/build-php/modules/pgsql.so ${pkgdir}/usr/lib/php/modules/pgsql.so + install -D -m755 ${srcdir}/build-php/modules/pdo_pgsql.so ${pkgdir}/usr/lib/php/modules/pdo_pgsql.so +} + +package_php-pspell() { + depends=('php' 'aspell') + pkgdesc='pspell module for PHP' + install -D -m755 ${srcdir}/build-php/modules/pspell.so ${pkgdir}/usr/lib/php/modules/pspell.so +} + +package_php-snmp() { + depends=('php' 'net-snmp') + pkgdesc='snmp module for PHP' + install -D -m755 ${srcdir}/build-php/modules/snmp.so ${pkgdir}/usr/lib/php/modules/snmp.so +} + +package_php-sqlite() { + depends=('php' 'sqlite3') + pkgdesc='sqlite3 module for PHP' + install -D -m755 ${srcdir}/build-php/modules/sqlite3.so ${pkgdir}/usr/lib/php/modules/sqlite3.so + install -D -m755 ${srcdir}/build-php/modules/pdo_sqlite.so ${pkgdir}/usr/lib/php/modules/pdo_sqlite.so +} + +package_php-tidy() { + depends=('php' 'tidyhtml') + pkgdesc='tidy module for PHP' + install -D -m755 ${srcdir}/build-php/modules/tidy.so ${pkgdir}/usr/lib/php/modules/tidy.so +} + +package_php-xsl() { + depends=('php' 'libxslt') + pkgdesc='xsl module for PHP' + install -D -m755 ${srcdir}/build-php/modules/xsl.so ${pkgdir}/usr/lib/php/modules/xsl.so +} diff --git a/testing/php/apache.conf b/testing/php/apache.conf new file mode 100644 index 000000000..c3ca0aad5 --- /dev/null +++ b/testing/php/apache.conf @@ -0,0 +1,13 @@ +# Required modules: dir_module, php5_module + +<IfModule dir_module> + <IfModule php5_module> + DirectoryIndex index.php index.html + <FilesMatch "\.php$"> + SetHandler application/x-httpd-php + </FilesMatch> + <FilesMatch "\.phps$"> + SetHandler application/x-httpd-php-source + </FilesMatch> + </IfModule> +</IfModule> diff --git a/testing/php/logrotate.d.php-fpm b/testing/php/logrotate.d.php-fpm new file mode 100644 index 000000000..7a1ba2597 --- /dev/null +++ b/testing/php/logrotate.d.php-fpm @@ -0,0 +1,6 @@ +/var/log/php-fpm.log { + missingok + postrotate + /etc/rc.d/php-fpm logrotate >/dev/null || true + endscript +} diff --git a/testing/php/php-fpm.conf.in.patch b/testing/php/php-fpm.conf.in.patch new file mode 100644 index 000000000..b4dd32f96 --- /dev/null +++ b/testing/php/php-fpm.conf.in.patch @@ -0,0 +1,80 @@ +--- sapi/fpm/php-fpm.conf.in 2011-07-04 23:22:56.000000000 +0200 ++++ sapi/fpm/php-fpm.conf.in 2011-08-12 16:56:23.686606725 +0200 +@@ -12,7 +12,7 @@ + ; Relative path can also be used. They will be prefixed by: + ; - the global prefix if it's been set (-p arguement) + ; - @prefix@ otherwise +-;include=etc/fpm.d/*.conf ++;include=/etc/php/fpm.d/*.conf + + ;;;;;;;;;;;;;;;;;; + ; Global Options ; +@@ -22,7 +22,7 @@ + ; Pid file + ; Note: the default prefix is @EXPANDED_LOCALSTATEDIR@ + ; Default Value: none +-;pid = run/php-fpm.pid ++pid = run/php-fpm/php-fpm.pid + + ; Error log file + ; Note: the default prefix is @EXPANDED_LOCALSTATEDIR@ +@@ -102,7 +102,8 @@ + ; specific port; + ; '/path/to/unix/socket' - to listen on a unix socket. + ; Note: This value is mandatory. +-listen = 127.0.0.1:9000 ++;listen = 127.0.0.1:9000 ++listen = /var/run/php-fpm/php-fpm.sock + + ; Set listen(2) backlog. A value of '-1' means unlimited. + ; Default Value: 128 (-1 on FreeBSD and OpenBSD) +@@ -121,9 +122,9 @@ + ; BSD-derived systems allow connections regardless of permissions. + ; Default Values: user and group are set as the running user + ; mode is set to 0666 +-;listen.owner = @php_fpm_user@ +-;listen.group = @php_fpm_group@ +-;listen.mode = 0666 ++listen.owner = @php_fpm_user@ ++listen.group = @php_fpm_group@ ++listen.mode = 0660 + + ; Unix user/group of processes + ; Note: The user is mandatory. If the group is not set, the default user's group +@@ -163,23 +164,23 @@ + ; The number of child processes created on startup. + ; Note: Used only when pm is set to 'dynamic' + ; Default Value: min_spare_servers + (max_spare_servers - min_spare_servers) / 2 +-;pm.start_servers = 20 ++pm.start_servers = 20 + + ; The desired minimum number of idle server processes. + ; Note: Used only when pm is set to 'dynamic' + ; Note: Mandatory when pm is set to 'dynamic' +-;pm.min_spare_servers = 5 ++pm.min_spare_servers = 5 + + ; The desired maximum number of idle server processes. + ; Note: Used only when pm is set to 'dynamic' + ; Note: Mandatory when pm is set to 'dynamic' +-;pm.max_spare_servers = 35 ++pm.max_spare_servers = 35 + + ; The number of requests each child process should execute before respawning. + ; This can be useful to work around memory leaks in 3rd party libraries. For + ; endless request processing specify '0'. Equivalent to PHP_FCGI_MAX_REQUESTS. + ; Default Value: 0 +-;pm.max_requests = 500 ++pm.max_requests = 500 + + ; The URI to view the FPM status page. If this value is not set, no URI will be + ; recognized as a status page. By default, the status page shows the following +@@ -333,7 +334,7 @@ + ; Chdir to this directory at the start. + ; Note: relative path can be used. + ; Default Value: current directory or / when chroot +-;chdir = /var/www ++;chdir = /srv/http + + ; Redirect worker stdout and stderr into main error log. If not set, stdout and + ; stderr will be redirected to /dev/null according to FastCGI specs. diff --git a/testing/php/php.ini.patch b/testing/php/php.ini.patch new file mode 100644 index 000000000..46c842921 --- /dev/null +++ b/testing/php/php.ini.patch @@ -0,0 +1,126 @@ +--- php.ini-production 2011-02-09 01:25:44.000000000 +0100 ++++ php.ini-production 2011-03-19 11:11:44.496987763 +0100 +@@ -376,7 +376,7 @@ + ; or per-virtualhost web server configuration file. This directive is + ; *NOT* affected by whether Safe Mode is turned On or Off. + ; http://php.net/open-basedir +-;open_basedir = ++open_basedir = /srv/http/:/home/:/tmp/:/usr/share/pear/ + + ; This directive allows you to disable certain functions for security reasons. + ; It receives a comma-delimited list of function names. This directive is +@@ -781,7 +781,7 @@ + ;;;;;;;;;;;;;;;;;;;;;;;;; + + ; UNIX: "/path1:/path2" +-;include_path = ".:/php/includes" ++include_path = ".:/usr/share/pear" + ; + ; Windows: "\path1;\path2" + ;include_path = ".;c:\php\includes" +@@ -804,7 +804,7 @@ + + ; Directory in which the loadable extensions (modules) reside. + ; http://php.net/extension-dir +-; extension_dir = "./" ++extension_dir = "/usr/lib/php/modules/" + ; On windows: + ; extension_dir = "ext" + +@@ -938,53 +938,49 @@ + ; If you only provide the name of the extension, PHP will look for it in its + ; default extension directory. + ; +-; Windows Extensions +-; Note that ODBC support is built in, so no dll is needed for it. +-; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5) +-; extension folders as well as the separate PECL DLL download (PHP 5). +-; Be sure to appropriately set the extension_dir directive. +-; +-;extension=php_bz2.dll +-;extension=php_curl.dll +-;extension=php_fileinfo.dll +-;extension=php_gd2.dll +-;extension=php_gettext.dll +-;extension=php_gmp.dll +-;extension=php_intl.dll +-;extension=php_imap.dll +-;extension=php_interbase.dll +-;extension=php_ldap.dll +-;extension=php_mbstring.dll +-;extension=php_exif.dll ; Must be after mbstring as it depends on it +-;extension=php_mysql.dll +-;extension=php_mysqli.dll +-;extension=php_oci8.dll ; Use with Oracle 10gR2 Instant Client +-;extension=php_oci8_11g.dll ; Use with Oracle 11g Instant Client +-;extension=php_openssl.dll +-;extension=php_pdo_firebird.dll +-;extension=php_pdo_mssql.dll +-;extension=php_pdo_mysql.dll +-;extension=php_pdo_oci.dll +-;extension=php_pdo_odbc.dll +-;extension=php_pdo_pgsql.dll +-;extension=php_pdo_sqlite.dll +-;extension=php_pgsql.dll +-;extension=php_pspell.dll +-;extension=php_shmop.dll +- +-; The MIBS data available in the PHP distribution must be installed. +-; See http://www.php.net/manual/en/snmp.installation.php +-;extension=php_snmp.dll +- +-;extension=php_soap.dll +-;extension=php_sockets.dll +-;extension=php_sqlite.dll +-;extension=php_sqlite3.dll +-;extension=php_sybase_ct.dll +-;extension=php_tidy.dll +-;extension=php_xmlrpc.dll +-;extension=php_xsl.dll +-;extension=php_zip.dll ++;extension=bcmath.so ++;extension=bz2.so ++;extension=calendar.so ++extension=curl.so ++;extension=dba.so ++;extension=enchant.so ++;extension=exif.so ++;extension=ftp.so ++;extension=gd.so ++extension=gettext.so ++;extension=gmp.so ++;extension=iconv.so ++;extension=imap.so ++;extension=intl.so ++extension=json.so ++;extension=ldap.so ++;extension=mcrypt.so ++;extension=mssql.so ++;extension=mysqli.so ++;extension=mysql.so ++;extension=odbc.so ++;extension=openssl.so ++;extension=pdo_mysql.so ++;extension=pdo_odbc.so ++;extension=pdo_pgsql.so ++;extension=pdo_sqlite.so ++;extension=pgsql.so ++;extension=phar.so ++;extension=posix.so ++;extension=pspell.so ++;extension=shmop.so ++;extension=snmp.so ++;extension=soap.so ++;extension=sockets.so ++;extension=sqlite3.so ++;extension=sqlite.so ++;extension=sysvmsg.so ++;extension=sysvsem.so ++;extension=sysvshm.so ++;extension=tidy.so ++;extension=xmlrpc.so ++;extension=xsl.so ++;extension=zip.so + + ;;;;;;;;;;;;;;;;;;; + ; Module Settings ; diff --git a/testing/php/rc.d.php-fpm b/testing/php/rc.d.php-fpm new file mode 100644 index 000000000..54bcf4d5b --- /dev/null +++ b/testing/php/rc.d.php-fpm @@ -0,0 +1,158 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + + +wait_for_pid () { + try=0 + while test $try -lt 35 ; do + case "$1" in + 'created') + if [ -f "$2" ] ; then + try='' + break + fi + ;; + 'removed') + if [ ! -f "$2" ] ; then + try='' + break + fi + ;; + esac + + stat_append '.' + try=`expr $try + 1` + sleep 1 + done +} + +test_config() { + stat_busy 'Checking configuration' + if [ $(id -u) -ne 0 ]; then + stat_append '(This script must be run as root)' + stat_die + fi + + if [ ! -r /etc/php/php-fpm.conf ]; then + stat_append '(/etc/php/php-fpm.conf not found)' + stat_die + fi + + local test=$(/usr/sbin/php-fpm -t 2>&1) + if [ $? -gt 0 ]; then + stat_append '(error in /etc/php/php-fpm.conf)' + stat_die + elif echo $test | grep -qi 'error'; then + stat_append '(error in /etc/php/php.ini)' + stat_die + fi + + [ -d /var/run/php-fpm ] || install -d -m755 /var/run/php-fpm + + stat_done +} + +case "$1" in + start) + test_config + stat_busy 'Starting php-fpm' + + /usr/sbin/php-fpm + + if [ "$?" != 0 ] ; then + stat_fail + exit 1 + fi + + wait_for_pid created /var/run/php-fpm/php-fpm.pid + + if [ -n "$try" ] ; then + stat_fail + exit 1 + else + add_daemon php-fpm + stat_done + fi + ;; + + stop) + test_config + stat_busy 'Gracefully shutting down php-fpm' + + if [ ! -r /var/run/php-fpm/php-fpm.pid ] ; then + stat_fail + exit 1 + fi + + kill -QUIT `cat /var/run/php-fpm/php-fpm.pid` + + wait_for_pid removed /var/run/php-fpm.pid + + if [ -n "$try" ] ; then + stat_fail + exit 1 + else + rm_daemon php-fpm + stat_done + fi + ;; + + force-quit) + stat_busy 'Terminating php-fpm' + + if [ ! -r /var/run/php-fpm/php-fpm.pid ] ; then + stat_fail + exit 1 + fi + + kill -TERM `cat /var/run/php-fpm/php-fpm.pid` + + wait_for_pid removed /var/run/php-fpm/php-fpm.pid + + if [ -n "$try" ] ; then + stat_fail + exit 1 + else + rm_daemon php-fpm + stat_done + fi + ;; + + restart) + $0 stop + $0 start + ;; + + reload) + test_config + stat_busy 'Reload service php-fpm' + + if [ ! -r /var/run/php-fpm/php-fpm.pid ] ; then + stat_fail + exit 1 + fi + + kill -USR2 `cat /var/run/php-fpm/php-fpm.pid` + stat_done + ;; + + logrotate) + stat_busy 'Reopen php-fpm log' + + if [ ! -r /var/run/php-fpm/php-fpm.pid ] ; then + stat_fail + exit 1 + fi + + kill -USR1 `cat /var/run/php-fpm/php-fpm.pid` + stat_done + ;; + + *) + echo "usage: $0 {start|stop|force-quit|restart|reload|logrotate}" + exit 1 + ;; + +esac diff --git a/testing/python/PKGBUILD b/testing/python/PKGBUILD new file mode 100644 index 000000000..15e95141f --- /dev/null +++ b/testing/python/PKGBUILD @@ -0,0 +1,81 @@ +# $Id: PKGBUILD 143476 2011-11-24 17:03:18Z stephane $ +# Maintainer: Stéphane Gaudreault <stephane@archlinux.org> +# Maintainer: Allan McRae <allan@archlinux.org> +# Contributor: Jason Chu <jason@archlinux.org> + +pkgname=python +pkgver=3.2.2 +pkgrel=2 +_pybasever=3.2 +pkgdesc="Next generation of the python high-level scripting language" +arch=('i686' 'x86_64') +license=('custom') +url="http://www.python.org/" +depends=('expat' 'bzip2' 'gdbm' 'openssl' 'libffi' 'zlib') +makedepends=('tk' 'sqlite3' 'valgrind') +optdepends=('tk: for tkinter' 'sqlite3') +provides=('python3') +replaces=('python3') +options=('!makeflags') +source=(http://www.python.org/ftp/python/${pkgver%rc*}/Python-${pkgver}.tar.xz + gdbm-magic-values.patch) +sha1sums=('5e654dbd48476193ccdef4d604ed4f45b48c6769' + '43bfbe3e23360f412b95cb284ff29b2cbe338be9') + +build() { + cd "${srcdir}/Python-${pkgver}" + + # FS#23997 + sed -i -e "s|^#.* /usr/local/bin/python|#!/usr/bin/python|" Lib/cgi.py + + # gdbm has new magic that whichdb does not recognize + # http://bugs.python.org/issue13007 + patch -Np1 -i ../gdbm-magic-values.patch + + # Ensure that we are using the system copy of various libraries (expat, zlib and libffi), + # rather than copies shipped in the tarball + rm -r Modules/expat + rm -r Modules/zlib + rm -r Modules/_ctypes/{darwin,libffi}* + + ./configure --prefix=/usr \ + --enable-shared \ + --with-threads \ + --with-computed-gotos \ + --enable-ipv6 \ + --with-valgrind \ + --with-wide-unicode \ + --with-system-expat \ + --with-dbmliborder=gdbm:ndbm \ + --with-system-ffi + + make +} + +check() { + cd "${srcdir}/Python-${pkgver}" + LD_LIBRARY_PATH="${srcdir}/Python-${pkgver}":${LD_LIBRARY_PATH} \ + "${srcdir}/Python-${pkgver}/python" -m test.regrtest -x test_distutils test_site test_uuid +} + +package() { + cd "${srcdir}/Python-${pkgver}" + make DESTDIR="${pkgdir}" install maninstall + + # Why are these not done by default... + ln -sf python3 "${pkgdir}/usr/bin/python" + ln -sf python3-config "${pkgdir}/usr/bin/python-config" + ln -sf idle3 "${pkgdir}/usr/bin/idle" + ln -sf pydoc3 "${pkgdir}/usr/bin/pydoc" + ln -sf python${_pybasever}.1 "${pkgdir}/usr/share/man/man1/python3.1" + + # Fix FS#22552 + ln -sf ../../libpython${_pybasever}mu.so \ + "${pkgdir}/usr/lib/python${_pybasever}/config-${_pybasever}mu/libpython${_pybasever}mu.so" + + # Clean-up reference to build directory + sed -i "s|$srcdir/Python-${pkgver}:||" "$pkgdir/usr/lib/python${_pybasever}/config-${_pybasever}mu/Makefile" + + # License + install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" +} diff --git a/testing/python/gdbm-magic-values.patch b/testing/python/gdbm-magic-values.patch new file mode 100644 index 000000000..e8ce828cf --- /dev/null +++ b/testing/python/gdbm-magic-values.patch @@ -0,0 +1,13 @@ +diff -up Python-3.2.2/Lib/dbm/__init__.py.gdbm-1.9-magic Python-3.2.2/Lib/dbm/__init__.py +--- Python-3.2.2/Lib/dbm/__init__.py.gdbm-1.9-magic 2011-09-03 12:16:40.000000000 -0400 ++++ Python-3.2.2/Lib/dbm/__init__.py 2011-09-30 15:47:27.488863694 -0400 +@@ -166,7 +166,7 @@ def whichdb(filename): + return "" + + # Check for GNU dbm +- if magic == 0x13579ace: ++ if magic in (0x13579ace, 0x13579acd, 0x13579acf): + return "dbm.gnu" + + # Later versions of Berkeley db hash file have a 12-byte pad in +diff -up Python-3.2.2/Misc/NEWS.gdbm-1.9-magic Python-3.2.2/Misc/NEWS diff --git a/testing/ruby/PKGBUILD b/testing/ruby/PKGBUILD new file mode 100644 index 000000000..b12032df5 --- /dev/null +++ b/testing/ruby/PKGBUILD @@ -0,0 +1,46 @@ +# $Id: PKGBUILD 143480 2011-11-24 17:03:21Z stephane $ +# Maintainer: +# Contributor: Allan McRae <allan@archlinux.org> +# Contributor: John Proctor <jproctor@prium.net> +# Contributor: Jeramy Rutley <jrutley@gmail.com> + +pkgbase=ruby +pkgname=('ruby' 'ruby-docs') +pkgver=1.9.3_p0 +pkgrel=2 +pkgdesc="An object-oriented language for quick and easy programming" +arch=('i686' 'x86_64') +url="http://www.ruby-lang.org/en/" +license=('BSD' 'custom') +makedepends=('openssl' 'tk' 'libffi' 'doxygen' 'graphviz' 'libyaml') +options=('!emptydirs' '!makeflags') +source=(ftp://ftp.ruby-lang.org/pub/${pkgbase}/${pkgver%.*}/${pkgbase}-${pkgver//_/-}.tar.bz2) +sha1sums=('f63c116411b981ef54c2caeefb9ccc4d71a5d2cf') + +build() { + cd "${srcdir}/${pkgbase}-${pkgver//_/-}" + DOXYGEN=/usr/bin/doxygen PKG_CONFIG=/usr/bin/pkg-config ./configure --prefix=/usr --sysconfdir=/etc \ + --enable-shared --enable-pthread --disable-rpath + make +} + +package_ruby() { + depends=('openssl' 'libffi' 'libyaml') + provides=('rubygems' 'rake') + conflicts=('rake') + optdepends=('tk: for Ruby/TK') + + cd "${srcdir}/${pkgbase}-${pkgver//_/-}" + make DESTDIR="${pkgdir}" install-nodoc + install -D -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" + install -D -m644 BSDL "${pkgdir}/usr/share/licenses/${pkgname}/BSDL" +} + +package_ruby-docs() { + pkgdesc="Documentation files for ruby" + + cd "${srcdir}/${pkgbase}-${pkgver//_/-}" + make DESTDIR="${pkgdir}" install-doc install-capi + install -D -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" + install -D -m644 BSDL "${pkgdir}/usr/share/licenses/${pkgname}/BSDL" +} diff --git a/testing/subversion/PKGBUILD b/testing/subversion/PKGBUILD new file mode 100644 index 000000000..ddc575e91 --- /dev/null +++ b/testing/subversion/PKGBUILD @@ -0,0 +1,100 @@ +# $Id: PKGBUILD 143482 2011-11-24 17:03:24Z stephane $ +# Maintainer: Paul Mattal <paul@archlinux.org> +# Contributor: Jason Chu <jason@archlinux.org> + +pkgname=subversion +pkgver=1.6.17 +pkgrel=7 +pkgdesc="A Modern Concurrent Version Control System" +arch=('i686' 'x86_64') +license=('apache' 'bsd') +depends=('neon' 'apr-util' 'sqlite3') +optdepends=('libgnome-keyring' 'kdeutils-kwallet' 'bash-completion: for svn bash completion') +makedepends=('krb5' 'apache' 'python2' 'perl' 'swig' 'ruby' 'java-runtime' 'java-environment' + 'autoconf' 'db' 'e2fsprogs' 'libgnome-keyring' 'kdelibs') +backup=('etc/xinetd.d/svn' 'etc/conf.d/svnserve') +url="http://subversion.apache.org/" +provides=('svn') +options=('!makeflags' '!libtool') +source=(http://subversion.tigris.org/downloads/$pkgname-$pkgver.tar.bz2 + svnserve svn svnserve.conf svnmerge.py + subversion.rpath.fix.patch + subversion.suppress.deprecation.warnings.patch + subversion-perl-bindings.patch) +md5sums=('81e5dc5beee4b3fc025ac70c0b6caa14' + 'a2b029e8385007ffb99b437b30521c90' + 'a0db6dd43af33952739b6ec089852630' + 'c459e299192552f61578f3438abf0664' + 'a6371baeda7e224504629ecdda2749b4' + '6b4340ba9d8845cd8497e013ae01be3f' + '1166f3b7413d7e7450299b3525680bbe' + '0591aa39837931161b4d61ff35c7b147') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + + export PYTHON=/usr/bin/python2 + + # apply patches + patch -Np0 -i ../subversion.rpath.fix.patch + patch -Np1 -i ../subversion.suppress.deprecation.warnings.patch + patch -Np1 -i ../subversion-perl-bindings.patch + + # configure + autoreconf + ./configure --prefix=/usr --with-apr=/usr --with-apr-util=/usr \ + --with-zlib=/usr --with-neon=/usr --with-apxs \ + --with-sqlite=/usr --with-berkeley-db=:/usr/include/:/usr/lib:db-5.2 \ + --enable-javahl --with-gnome-keyring --with-kwallet + + # build + (make external-all && make LT_LDFLAGS="-L$Fdestdir/usr/lib" local-all ) +} + +#check() { +# cd "${srcdir}/${pkgname}-${pkgver}" +# export LANG=C LC_ALL=C +# make check check-swig-pl check-swig-py CLEANUP=yes +#} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + + # install + export LD_LIBRARY_PATH=${pkgdir}/usr/lib:$LD_LIBRARY_PATH + make DESTDIR=${pkgdir} install + + make DESTDIR=${pkgdir} swig-py + make install-swig-py DESTDIR=${pkgdir} + + install -d ${pkgdir}/usr/lib/python2.7 + mv ${pkgdir}/usr/lib/svn-python/ ${pkgdir}/usr/lib/python2.7/site-packages + + install -d ${pkgdir}/usr/share/subversion + install -d -m 755 tools/hook-scripts ${pkgdir}/usr/share/subversion/ + rm -f ${pkgdir}/usr/share/subversion/hook-scripts/*.in + + make DESTDIR=${pkgdir} swig-pl + make install-swig-pl DESTDIR=${pkgdir} INSTALLDIRS=vendor + rm -f ${pkgdir}/usr/lib/perl5/vendor_perl/auto/SVN/_Core/.packlist + rm -rf ${pkgdir}/usr/lib/perl5/core_perl + + make DESTDIR=${pkgdir} swig-rb + make install-swig-rb DESTDIR=${pkgdir} + + make DESTDIR=${pkgdir} javahl + make DESTDIR=${pkgdir} install-javahl + + install -d ${pkgdir}/etc/{rc.d,xinetd.d,conf.d} + + install -m 755 ${srcdir}/svnserve ${pkgdir}/etc/rc.d + install -m 644 ${srcdir}/svn ${pkgdir}/etc/xinetd.d + install -m 644 ${srcdir}/svnserve.conf ${pkgdir}/etc/conf.d/svnserve + install -m 755 ${srcdir}/svnmerge.py ${pkgdir}/usr/bin/svnmerge + install -D -m 644 ${srcdir}/subversion-$pkgver/COPYING \ + ${pkgdir}/usr/share/licenses/$pkgname/LICENSE + + # bash completion + install -Dm 644 ${srcdir}/${pkgname}-${pkgver}/tools/client-side/bash_completion \ + ${pkgdir}/etc/bash_completion.d/subversion +} diff --git a/testing/subversion/subversion-perl-bindings.patch b/testing/subversion/subversion-perl-bindings.patch new file mode 100644 index 000000000..3c34daa47 --- /dev/null +++ b/testing/subversion/subversion-perl-bindings.patch @@ -0,0 +1,12 @@ +diff -Naur subversion-1.6.17.ori/subversion/bindings/swig/perl/native/Makefile.PL.in subversion-1.6.17/subversion/bindings/swig/perl/native/Makefile.PL.in +--- subversion-1.6.17.ori/subversion/bindings/swig/perl/native/Makefile.PL.in 2010-11-24 20:42:16.000000000 +0000 ++++ subversion-1.6.17/subversion/bindings/swig/perl/native/Makefile.PL.in 2011-07-01 20:16:16.520892074 +0000 +@@ -43,7 +43,7 @@ + my %config = ( + ABSTRACT => 'Perl bindings for Subversion', + DEFINE => $cppflags, +- CCFLAGS => $cflags, ++ CCFLAGS => $Config{ccflags}, + INC => join(' ',$apr_cflags, $apu_cflags, + " -I$swig_srcdir/perl/libsvn_swig_perl", + " -I$svnlib_srcdir/include", diff --git a/testing/subversion/subversion.rpath.fix.patch b/testing/subversion/subversion.rpath.fix.patch new file mode 100644 index 000000000..ba6ee9e4e --- /dev/null +++ b/testing/subversion/subversion.rpath.fix.patch @@ -0,0 +1,10 @@ +--- Makefile.in.orig 2009-02-16 14:10:48.000000000 -0200 ++++ Makefile.in 2009-06-04 00:56:29.000000000 -0300 +@@ -678,6 +678,7 @@ + + $(SWIG_PL_DIR)/native/Makefile: $(SWIG_PL_DIR)/native/Makefile.PL + cd $(SWIG_PL_DIR)/native; $(PERL) Makefile.PL ++ cd $(SWIG_PL_DIR)/native; sed -i 's|LD_RUN_PATH|DIE_RPATH_DIE|g' Makefile{,.{client,delta,fs,ra,repos,wc}} + + swig-pl_DEPS = autogen-swig-pl libsvn_swig_perl \ + $(SWIG_PL_DIR)/native/Makefile diff --git a/testing/subversion/subversion.suppress.deprecation.warnings.patch b/testing/subversion/subversion.suppress.deprecation.warnings.patch new file mode 100644 index 000000000..94ce89b18 --- /dev/null +++ b/testing/subversion/subversion.suppress.deprecation.warnings.patch @@ -0,0 +1,22 @@ +diff -urN subversion-1.6.9/subversion/bindings/swig/python/svn/core.py subversion-1.6.9-fixed/subversion/bindings/swig/python/svn/core.py +--- subversion-1.6.9/subversion/bindings/swig/python/svn/core.py 2009-02-13 11:22:26.000000000 -0500 ++++ subversion-1.6.9-fixed/subversion/bindings/swig/python/svn/core.py 2010-02-08 07:46:29.000000000 -0500 +@@ -19,6 +19,7 @@ + from libsvn.core import * + import libsvn.core as _libsvncore + import atexit as _atexit ++import warnings + + class SubversionException(Exception): + def __init__(self, message=None, apr_err=None, child=None, +@@ -44,7 +45,9 @@ + Exception.__init__(self, *args) + + self.apr_err = apr_err +- self.message = message ++ with warnings.catch_warnings(): ++ warnings.simplefilter("ignore", DeprecationWarning) ++ self.message = message + self.child = child + self.file = file + self.line = line diff --git a/testing/subversion/svn b/testing/subversion/svn new file mode 100644 index 000000000..8988aaf63 --- /dev/null +++ b/testing/subversion/svn @@ -0,0 +1,11 @@ +service svn +{ + flags = REUSE + socket_type = stream + wait = no + user = root + server = /usr/bin/svnserve + server_args = -i + log_on_failure += USERID + disable = yes +} diff --git a/testing/subversion/svnmerge.py b/testing/subversion/svnmerge.py new file mode 100644 index 000000000..d8931648f --- /dev/null +++ b/testing/subversion/svnmerge.py @@ -0,0 +1,2370 @@ +#!/usr/bin/env python2 +# -*- coding: utf-8 -*- +# Copyright (c) 2005, Giovanni Bajo +# Copyright (c) 2004-2005, Awarix, Inc. +# All rights reserved. +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +# +# Author: Archie Cobbs <archie at awarix dot com> +# Rewritten in Python by: Giovanni Bajo <rasky at develer dot com> +# +# Acknowledgments: +# John Belmonte <john at neggie dot net> - metadata and usability +# improvements +# Blair Zajac <blair at orcaware dot com> - random improvements +# Raman Gupta <rocketraman at fastmail dot fm> - bidirectional and transitive +# merging support +# Dustin J. Mitchell <dustin at zmanda dot com> - support for multiple +# location identifier formats +# +# $HeadURL$ +# $LastChangedDate$ +# $LastChangedBy$ +# $LastChangedRevision$ +# +# Requisites: +# svnmerge.py has been tested with all SVN major versions since 1.1 (both +# client and server). It is unknown if it works with previous versions. +# +# Differences from svnmerge.sh: +# - More portable: tested as working in FreeBSD and OS/2. +# - Add double-verbose mode, which shows every svn command executed (-v -v). +# - "svnmerge avail" now only shows commits in source, not also commits in +# other parts of the repository. +# - Add "svnmerge block" to flag some revisions as blocked, so that +# they will not show up anymore in the available list. Added also +# the complementary "svnmerge unblock". +# - "svnmerge avail" has grown two new options: +# -B to display a list of the blocked revisions +# -A to display both the blocked and the available revisions. +# - Improved generated commit message to make it machine parsable even when +# merging commits which are themselves merges. +# - Add --force option to skip working copy check +# - Add --record-only option to "svnmerge merge" to avoid performing +# an actual merge, yet record that a merge happened. +# - Can use a variety of location-identifier formats +# +# TODO: +# - Add "svnmerge avail -R": show logs in reverse order +# +# Information for Hackers: +# +# Identifiers for branches: +# A branch is identified in three ways within this source: +# - as a working copy (variable name usually includes 'dir') +# - as a fully qualified URL +# - as a path identifier (an opaque string indicating a particular path +# in a particular repository; variable name includes 'pathid') +# A "target" is generally user-specified, and may be a working copy or +# a URL. + +import sys, os, getopt, re, types, tempfile, time, locale +from bisect import bisect +from xml.dom import pulldom + +NAME = "svnmerge" +if not hasattr(sys, "version_info") or sys.version_info < (2, 0): + error("requires Python 2.0 or newer") + +# Set up the separator used to separate individual log messages from +# each revision merged into the target location. Also, create a +# regular expression that will find this same separator in already +# committed log messages, so that the separator used for this run of +# svnmerge.py will have one more LOG_SEPARATOR appended to the longest +# separator found in all the commits. +LOG_SEPARATOR = 8 * '.' +LOG_SEPARATOR_RE = re.compile('^((%s)+)' % re.escape(LOG_SEPARATOR), + re.MULTILINE) + +# Each line of the embedded log messages will be prefixed by LOG_LINE_PREFIX. +LOG_LINE_PREFIX = 2 * ' ' + +# Set python to the default locale as per environment settings, same as svn +# TODO we should really parse config and if log-encoding is specified, set +# the locale to match that encoding +locale.setlocale(locale.LC_ALL, '') + +# We want the svn output (such as svn info) to be non-localized +# Using LC_MESSAGES should not affect localized output of svn log, for example +if os.environ.has_key("LC_ALL"): + del os.environ["LC_ALL"] +os.environ["LC_MESSAGES"] = "C" + +############################################################################### +# Support for older Python versions +############################################################################### + +# True/False constants are Python 2.2+ +try: + True, False +except NameError: + True, False = 1, 0 + +def lstrip(s, ch): + """Replacement for str.lstrip (support for arbitrary chars to strip was + added in Python 2.2.2).""" + i = 0 + try: + while s[i] == ch: + i = i+1 + return s[i:] + except IndexError: + return "" + +def rstrip(s, ch): + """Replacement for str.rstrip (support for arbitrary chars to strip was + added in Python 2.2.2).""" + try: + if s[-1] != ch: + return s + i = -2 + while s[i] == ch: + i = i-1 + return s[:i+1] + except IndexError: + return "" + +def strip(s, ch): + """Replacement for str.strip (support for arbitrary chars to strip was + added in Python 2.2.2).""" + return lstrip(rstrip(s, ch), ch) + +def rsplit(s, sep, maxsplits=0): + """Like str.rsplit, which is Python 2.4+ only.""" + L = s.split(sep) + if not 0 < maxsplits <= len(L): + return L + return [sep.join(L[0:-maxsplits])] + L[-maxsplits:] + +############################################################################### + +def kwextract(s): + """Extract info from a svn keyword string.""" + try: + return strip(s, "$").strip().split(": ")[1] + except IndexError: + return "<unknown>" + +__revision__ = kwextract('$Rev$') +__date__ = kwextract('$Date$') + +# Additional options, not (yet?) mapped to command line flags +default_opts = { + "svn": "svn", + "prop": NAME + "-integrated", + "block-prop": NAME + "-blocked", + "commit-verbose": True, + "verbose": 0, +} +logs = {} + +def console_width(): + """Get the width of the console screen (if any).""" + try: + return int(os.environ["COLUMNS"]) + except (KeyError, ValueError): + pass + + try: + # Call the Windows API (requires ctypes library) + from ctypes import windll, create_string_buffer + h = windll.kernel32.GetStdHandle(-11) + csbi = create_string_buffer(22) + res = windll.kernel32.GetConsoleScreenBufferInfo(h, csbi) + if res: + import struct + (bufx, bufy, + curx, cury, wattr, + left, top, right, bottom, + maxx, maxy) = struct.unpack("hhhhHhhhhhh", csbi.raw) + return right - left + 1 + except ImportError: + pass + + # Parse the output of stty -a + if os.isatty(1): + out = os.popen("stty -a").read() + m = re.search(r"columns (\d+);", out) + if m: + return int(m.group(1)) + + # sensible default + return 80 + +def error(s): + """Subroutine to output an error and bail.""" + print >> sys.stderr, "%s: %s" % (NAME, s) + sys.exit(1) + +def report(s): + """Subroutine to output progress message, unless in quiet mode.""" + if opts["verbose"]: + print "%s: %s" % (NAME, s) + +def prefix_lines(prefix, lines): + """Given a string representing one or more lines of text, insert the + specified prefix at the beginning of each line, and return the result. + The input must be terminated by a newline.""" + assert lines[-1] == "\n" + return prefix + lines[:-1].replace("\n", "\n"+prefix) + "\n" + +def recode_stdout_to_file(s): + if locale.getdefaultlocale()[1] is None or not hasattr(sys.stdout, "encoding") \ + or sys.stdout.encoding is None: + return s + u = s.decode(sys.stdout.encoding) + return u.encode(locale.getdefaultlocale()[1]) + +class LaunchError(Exception): + """Signal a failure in execution of an external command. Parameters are the + exit code of the process, the original command line, and the output of the + command.""" + +try: + """Launch a sub-process. Return its output (both stdout and stderr), + optionally split by lines (if split_lines is True). Raise a LaunchError + exception if the exit code of the process is non-zero (failure). + + This function has two implementations, one based on subprocess (preferred), + and one based on popen (for compatibility). + """ + import subprocess + import shlex + + def launch(cmd, split_lines=True): + # Requiring python 2.4 or higher, on some platforms we get + # much faster performance from the subprocess module (where python + # doesn't try to close an exhorbitant number of file descriptors) + stdout = "" + stderr = "" + try: + if os.name == 'nt': + p = subprocess.Popen(cmd, stdout=subprocess.PIPE, \ + close_fds=False, stderr=subprocess.PIPE) + else: + # Use shlex to break up the parameters intelligently, + # respecting quotes. shlex can't handle unicode. + args = shlex.split(cmd.encode('ascii')) + p = subprocess.Popen(args, stdout=subprocess.PIPE, \ + close_fds=False, stderr=subprocess.PIPE) + stdoutAndErr = p.communicate() + stdout = stdoutAndErr[0] + stderr = stdoutAndErr[1] + except OSError, inst: + # Using 1 as failure code; should get actual number somehow? For + # examples see svnmerge_test.py's TestCase_launch.test_failure and + # TestCase_launch.test_failurecode. + raise LaunchError(1, cmd, stdout + " " + stderr + ": " + str(inst)) + + if p.returncode == 0: + if split_lines: + # Setting keepends=True for compatibility with previous logic + # (where file.readlines() preserves newlines) + return stdout.splitlines(True) + else: + return stdout + else: + raise LaunchError(p.returncode, cmd, stdout + stderr) +except ImportError: + # support versions of python before 2.4 (slower on some systems) + def launch(cmd, split_lines=True): + if os.name not in ['nt', 'os2']: + import popen2 + p = popen2.Popen4(cmd) + p.tochild.close() + if split_lines: + out = p.fromchild.readlines() + else: + out = p.fromchild.read() + ret = p.wait() + if ret == 0: + ret = None + else: + ret >>= 8 + else: + i,k = os.popen4(cmd) + i.close() + if split_lines: + out = k.readlines() + else: + out = k.read() + ret = k.close() + + if ret is None: + return out + raise LaunchError(ret, cmd, out) + +def launchsvn(s, show=False, pretend=False, **kwargs): + """Launch SVN and grab its output.""" + username = password = configdir = "" + if opts.get("username", None): + username = "--username=" + opts["username"] + if opts.get("password", None): + password = "--password=" + opts["password"] + if opts.get("config-dir", None): + configdir = "--config-dir=" + opts["config-dir"] + cmd = ' '.join(filter(None, [opts["svn"], "--non-interactive", + username, password, configdir, s])) + if show or opts["verbose"] >= 2: + print cmd + if pretend: + return None + return launch(cmd, **kwargs) + +def svn_command(s): + """Do (or pretend to do) an SVN command.""" + out = launchsvn(s, show=opts["show-changes"] or opts["dry-run"], + pretend=opts["dry-run"], + split_lines=False) + if not opts["dry-run"]: + print out + +def check_dir_clean(dir): + """Check the current status of dir for local mods.""" + if opts["force"]: + report('skipping status check because of --force') + return + report('checking status of "%s"' % dir) + + # Checking with -q does not show unversioned files or external + # directories. Though it displays a debug message for external + # directories, after a blank line. So, practically, the first line + # matters: if it's non-empty there is a modification. + out = launchsvn("status -q %s" % dir) + if out and out[0].strip(): + error('"%s" has local modifications; it must be clean' % dir) + +class PathIdentifier: + """Abstraction for a path identifier, so that we can start talking + about it before we know the form that it takes in the properties (its + external_form). Objects are referenced in the class variable 'locobjs', + keyed by all known forms.""" + + # a map of UUID (or None) to repository root URL. + repo_hints = {} + + # a map from any known string form to the corresponding PathIdentifier + locobjs = {} + + def __init__(self, repo_relative_path, uuid=None, url=None, external_form=None): + self.repo_relative_path = repo_relative_path + self.uuid = uuid + self.url = url + self.external_form = external_form + + def __repr__(self): + return "<PathIdentifier " + ', '.join('%s=%r' % i for i in self.__dict__.items()) + '>' + + def __str__(self): + """Return a printable string representation""" + if self.external_form: + return self.external_form + if self.url: + return self.format('url') + if self.uuid: + return self.format('uuid') + return self.format('path') + + def from_pathid(pathid_str): + """convert pathid_str to a PathIdentifier""" + if not PathIdentifier.locobjs.has_key(pathid_str): + if is_url(pathid_str): + # we can determine every form; PathIdentifier.hint knows how to do that + PathIdentifier.hint(pathid_str) + elif pathid_str[:7] == 'uuid://': + mo = re.match('uuid://([^/]*)(.*)', pathid_str) + if not mo: + error("Invalid path identifier '%s'" % pathid_str) + uuid, repo_relative_path = mo.groups() + pathid = PathIdentifier(repo_relative_path, uuid=uuid) + # we can cache this by uuid:// pathid and by repo-relative path + PathIdentifier.locobjs[pathid_str] = PathIdentifier.locobjs[repo_relative_path] = pathid + elif pathid_str and pathid_str[0] == '/': + # strip any trailing slashes + pathid_str = pathid_str.rstrip('/') + pathid = PathIdentifier(repo_relative_path=pathid_str) + # we can only cache this by repo-relative path + PathIdentifier.locobjs[pathid_str] = pathid + else: + error("Invalid path identifier '%s'" % pathid_str) + return PathIdentifier.locobjs[pathid_str] + from_pathid = staticmethod(from_pathid) + + def from_target(target): + """Convert a target (either a working copy path or an URL) into a + path identifier.""" + # prime the cache first if we don't know about this target yet + if not PathIdentifier.locobjs.has_key(target): + PathIdentifier.hint(target) + + try: + return PathIdentifier.locobjs[target] + except KeyError: + error("Could not recognize path identifier '%s'" % target) + from_target = staticmethod(from_target) + + def hint(target): + """Cache some information about target, as it may be referenced by + repo-relative path in subversion properties; the cache can help to + expand such a relative path to a full path identifier.""" + if PathIdentifier.locobjs.has_key(target): return + if not is_url(target) and not is_wc(target): return + + url = target_to_url(target) + + root = get_repo_root(url) + assert root[-1] != "/" + assert url[:len(root)] == root, "url=%r, root=%r" % (url, root) + repo_relative_path = url[len(root):] + + try: + uuid = get_svninfo(target)['Repository UUID'] + uuid_pathid = 'uuid://%s%s' % (uuid, repo_relative_path) + except KeyError: + uuid = None + uuid_pathid = None + + locobj = PathIdentifier.locobjs.get(url) or \ + (uuid_pathid and PathIdentifier.locobjs.get(uuid_pathid)) + if not locobj: + locobj = PathIdentifier(repo_relative_path, uuid=uuid, url=url) + + PathIdentifier.repo_hints[uuid] = root # (uuid may be None) + + PathIdentifier.locobjs[target] = locobj + PathIdentifier.locobjs[url] = locobj + if uuid_pathid: + PathIdentifier.locobjs[uuid_pathid] = locobj + if not PathIdentifier.locobjs.has_key(repo_relative_path): + PathIdentifier.locobjs[repo_relative_path] = locobj + hint = staticmethod(hint) + + def format(self, fmt): + if fmt == 'path': + return self.repo_relative_path + elif fmt == 'uuid': + return "uuid://%s%s" % (self.uuid, self.repo_relative_path) + elif fmt == 'url': + return self.url + else: + error("Unkonwn path type '%s'" % fmt) + + def match_substring(self, str): + """Test whether str is a substring of any representation of this + PathIdentifier.""" + if self.repo_relative_path.find(str) >= 0: + return True + + if self.uuid: + if ("uuid://%s%s" % (self.uuid, self.repo_relative_path)).find(str) >= 0: + return True + + if self.url: + if (self.url + self.repo_relative_path).find(str) >= 0: + return True + + return False + + def get_url(self): + """Convert a pathid into a URL. If this is not possible, error out.""" + if self.url: + return self.url + # if we have a uuid and happen to know the URL for it, use that + elif self.uuid and PathIdentifier.repo_hints.has_key(self.uuid): + self.url = PathIdentifier.repo_hints[self.uuid] + self.repo_relative_path + PathIdentifier.locobjs[self.url] = self + return self.url + # if we've only seen one rep, use that (a guess, but an educated one) + elif not self.uuid and len(PathIdentifier.repo_hints) == 1: + uuid, root = PathIdentifier.repo_hints.items()[0] + if uuid: + self.uuid = uuid + PathIdentifier.locobjs['uuid://%s%s' % (uuid, self.repo_relative_path)] = self + self.url = root + self.repo_relative_path + PathIdentifier.locobjs[self.url] = self + report("Guessing that '%s' refers to '%s'" % (self, self.url)) + return self.url + else: + error("Cannot determine URL for '%s'; " % self + + "Explicit source argument (-S/--source) required.\n") + +class RevisionLog: + """ + A log of the revisions which affected a given URL between two + revisions. + """ + + def __init__(self, url, begin, end, find_propchanges=False): + """ + Create a new RevisionLog object, which stores, in self.revs, a list + of the revisions which affected the specified URL between begin and + end. If find_propchanges is True, self.propchange_revs will contain a + list of the revisions which changed properties directly on the + specified URL. URL must be the URL for a directory in the repository. + """ + self.url = url + + # Setup the log options (--quiet, so we don't show log messages) + log_opts = '--xml --quiet -r%s:%s "%s"' % (begin, end, url) + if find_propchanges: + # The --verbose flag lets us grab merge tracking information + # by looking at propchanges + log_opts = "--verbose " + log_opts + + # Read the log to look for revision numbers and merge-tracking info + self.revs = [] + self.propchange_revs = [] + repos_pathid = PathIdentifier.from_target(url) + for chg in SvnLogParser(launchsvn("log %s" % log_opts, + split_lines=False)): + self.revs.append(chg.revision()) + for p in chg.paths(): + if p.action() == 'M' and p.pathid() == repos_pathid.repo_relative_path: + self.propchange_revs.append(chg.revision()) + + # Save the range of the log + self.begin = int(begin) + if end == "HEAD": + # If end is not provided, we do not know which is the latest + # revision in the repository. So we set 'end' to the latest + # known revision. + self.end = self.revs[-1] + else: + self.end = int(end) + + self._merges = None + self._blocks = None + + def merge_metadata(self): + """ + Return a VersionedProperty object, with a cached view of the merge + metadata in the range of this log. + """ + + # Load merge metadata if necessary + if not self._merges: + self._merges = VersionedProperty(self.url, opts["prop"]) + self._merges.load(self) + + return self._merges + + def block_metadata(self): + if not self._blocks: + self._blocks = VersionedProperty(self.url, opts["block-prop"]) + self._blocks.load(self) + + return self._blocks + + +class VersionedProperty: + """ + A read-only, cached view of a versioned property. + + self.revs contains a list of the revisions in which the property changes. + self.values stores the new values at each corresponding revision. If the + value of the property is unknown, it is set to None. + + Initially, we set self.revs to [0] and self.values to [None]. This + indicates that, as of revision zero, we know nothing about the value of + the property. + + Later, if you run self.load(log), we cache the value of this property over + the entire range of the log by noting each revision in which the property + was changed. At the end of the range of the log, we invalidate our cache + by adding the value "None" to our cache for any revisions which fall out + of the range of our log. + + Once self.revs and self.values are filled, we can find the value of the + property at any arbitrary revision using a binary search on self.revs. + Once we find the last revision during which the property was changed, + we can lookup the associated value in self.values. (If the associated + value is None, the associated value was not cached and we have to do + a full propget.) + + An example: We know that the 'svnmerge' property was added in r10, and + changed in r21. We gathered log info up until r40. + + revs = [0, 10, 21, 40] + values = [None, "val1", "val2", None] + + What these values say: + - From r0 to r9, we know nothing about the property. + - In r10, the property was set to "val1". This property stayed the same + until r21, when it was changed to "val2". + - We don't know what happened after r40. + """ + + def __init__(self, url, name): + """View the history of a versioned property at URL with name""" + self.url = url + self.name = name + + # We know nothing about the value of the property. Setup revs + # and values to indicate as such. + self.revs = [0] + self.values = [None] + + # We don't have any revisions cached + self._initial_value = None + self._changed_revs = [] + self._changed_values = [] + + def load(self, log): + """ + Load the history of property changes from the specified + RevisionLog object. + """ + + # Get the property value before the range of the log + if log.begin > 1: + self.revs.append(log.begin-1) + try: + self._initial_value = self.raw_get(log.begin-1) + except LaunchError: + # The specified URL might not exist before the + # range of the log. If so, we can safely assume + # that the property was empty at that time. + self._initial_value = { } + self.values.append(self._initial_value) + else: + self._initial_value = { } + self.values[0] = self._initial_value + + # Cache the property values in the log range + old_value = self._initial_value + for rev in log.propchange_revs: + new_value = self.raw_get(rev) + if new_value != old_value: + self._changed_revs.append(rev) + self._changed_values.append(new_value) + self.revs.append(rev) + self.values.append(new_value) + old_value = new_value + + # Indicate that we know nothing about the value of the property + # after the range of the log. + if log.revs: + self.revs.append(log.end+1) + self.values.append(None) + + def raw_get(self, rev=None): + """ + Get the property at revision REV. If rev is not specified, get + the property at revision HEAD. + """ + return get_revlist_prop(self.url, self.name, rev) + + def get(self, rev=None): + """ + Get the property at revision REV. If rev is not specified, get + the property at revision HEAD. + """ + + if rev is not None: + + # Find the index using a binary search + i = bisect(self.revs, rev) - 1 + + # Return the value of the property, if it was cached + if self.values[i] is not None: + return self.values[i] + + # Get the current value of the property + return self.raw_get(rev) + + def changed_revs(self, key=None): + """ + Get a list of the revisions in which the specified dictionary + key was changed in this property. If key is not specified, + return a list of revisions in which any key was changed. + """ + if key is None: + return self._changed_revs + else: + changed_revs = [] + old_val = self._initial_value + for rev, val in zip(self._changed_revs, self._changed_values): + if val.get(key) != old_val.get(key): + changed_revs.append(rev) + old_val = val + return changed_revs + + def initialized_revs(self): + """ + Get a list of the revisions in which keys were added or + removed in this property. + """ + initialized_revs = [] + old_len = len(self._initial_value) + for rev, val in zip(self._changed_revs, self._changed_values): + if len(val) != old_len: + initialized_revs.append(rev) + old_len = len(val) + return initialized_revs + +class RevisionSet: + """ + A set of revisions, held in dictionary form for easy manipulation. If we + were to rewrite this script for Python 2.3+, we would subclass this from + set (or UserSet). As this class does not include branch + information, it's assumed that one instance will be used per + branch. + """ + def __init__(self, parm): + """Constructs a RevisionSet from a string in property form, or from + a dictionary whose keys are the revisions. Raises ValueError if the + input string is invalid.""" + + self._revs = {} + + revision_range_split_re = re.compile('[-:]') + + if isinstance(parm, types.DictType): + self._revs = parm.copy() + elif isinstance(parm, types.ListType): + for R in parm: + self._revs[int(R)] = 1 + else: + parm = parm.strip() + if parm: + for R in parm.split(","): + rev_or_revs = re.split(revision_range_split_re, R) + if len(rev_or_revs) == 1: + self._revs[int(rev_or_revs[0])] = 1 + elif len(rev_or_revs) == 2: + for rev in range(int(rev_or_revs[0]), + int(rev_or_revs[1])+1): + self._revs[rev] = 1 + else: + raise ValueError, 'Ill formatted revision range: ' + R + + def sorted(self): + revnums = self._revs.keys() + revnums.sort() + return revnums + + def normalized(self): + """Returns a normalized version of the revision set, which is an + ordered list of couples (start,end), with the minimum number of + intervals.""" + revnums = self.sorted() + revnums.reverse() + ret = [] + while revnums: + s = e = revnums.pop() + while revnums and revnums[-1] in (e, e+1): + e = revnums.pop() + ret.append((s, e)) + return ret + + def __str__(self): + """Convert the revision set to a string, using its normalized form.""" + L = [] + for s,e in self.normalized(): + if s == e: + L.append(str(s)) + else: + L.append(str(s) + "-" + str(e)) + return ",".join(L) + + def __contains__(self, rev): + return self._revs.has_key(rev) + + def __sub__(self, rs): + """Compute subtraction as in sets.""" + revs = {} + for r in self._revs.keys(): + if r not in rs: + revs[r] = 1 + return RevisionSet(revs) + + def __and__(self, rs): + """Compute intersections as in sets.""" + revs = {} + for r in self._revs.keys(): + if r in rs: + revs[r] = 1 + return RevisionSet(revs) + + def __nonzero__(self): + return len(self._revs) != 0 + + def __len__(self): + """Return the number of revisions in the set.""" + return len(self._revs) + + def __iter__(self): + return iter(self.sorted()) + + def __or__(self, rs): + """Compute set union.""" + revs = self._revs.copy() + revs.update(rs._revs) + return RevisionSet(revs) + +def merge_props_to_revision_set(merge_props, pathid): + """A converter which returns a RevisionSet instance containing the + revisions from PATH as known to BRANCH_PROPS. BRANCH_PROPS is a + dictionary of pathid -> revision set branch integration information + (as returned by get_merge_props()).""" + if not merge_props.has_key(pathid): + error('no integration info available for path "%s"' % pathid) + return RevisionSet(merge_props[pathid]) + +def dict_from_revlist_prop(propvalue): + """Given a property value as a string containing per-source revision + lists, return a dictionary whose key is a source path identifier + and whose value is the revisions for that source.""" + prop = {} + + # Multiple sources are separated by any whitespace. + for L in propvalue.split(): + # We use rsplit to play safe and allow colons in pathids. + pathid_str, revs = rsplit(L.strip(), ":", 1) + + pathid = PathIdentifier.from_pathid(pathid_str) + + # cache the "external" form we saw + pathid.external_form = pathid_str + + prop[pathid] = revs + return prop + +def get_revlist_prop(url_or_dir, propname, rev=None): + """Given a repository URL or working copy path and a property + name, extract the values of the property which store per-source + revision lists and return a dictionary whose key is a source path + identifier, and whose value is the revisions for that source.""" + + # Note that propget does not return an error if the property does + # not exist, it simply does not output anything. So we do not need + # to check for LaunchError here. + args = '--strict "%s" "%s"' % (propname, url_or_dir) + if rev: + args = '-r %s %s' % (rev, args) + out = launchsvn('propget %s' % args, split_lines=False) + + return dict_from_revlist_prop(out) + +def get_merge_props(dir): + """Extract the merged revisions.""" + return get_revlist_prop(dir, opts["prop"]) + +def get_block_props(dir): + """Extract the blocked revisions.""" + return get_revlist_prop(dir, opts["block-prop"]) + +def get_blocked_revs(dir, source_pathid): + p = get_block_props(dir) + if p.has_key(source_pathid): + return RevisionSet(p[source_pathid]) + return RevisionSet("") + +def format_merge_props(props, sep=" "): + """Formats the hash PROPS as a string suitable for use as a + Subversion property value.""" + assert sep in ["\t", "\n", " "] # must be a whitespace + props = props.items() + props.sort() + L = [] + for h, r in props: + L.append("%s:%s" % (h, r)) + return sep.join(L) + +def _run_propset(dir, prop, value): + """Set the property 'prop' of directory 'dir' to value 'value'. We go + through a temporary file to not run into command line length limits.""" + try: + fd, fname = tempfile.mkstemp() + f = os.fdopen(fd, "wb") + except AttributeError: + # Fallback for Python <= 2.3 which does not have mkstemp (mktemp + # suffers from race conditions. Not that we care...) + fname = tempfile.mktemp() + f = open(fname, "wb") + + try: + f.write(value) + f.close() + report("property data written to temp file: %s" % value) + svn_command('propset "%s" -F "%s" "%s"' % (prop, fname, dir)) + finally: + os.remove(fname) + +def set_props(dir, name, props): + props = format_merge_props(props) + if props: + _run_propset(dir, name, props) + else: + # Check if NAME exists on DIR before trying to delete it. + # As of 1.6 propdel no longer supports deleting a + # non-existent property. + out = launchsvn('propget "%s" "%s"' % (name, dir)) + if out: + svn_command('propdel "%s" "%s"' % (name, dir)) + +def set_merge_props(dir, props): + set_props(dir, opts["prop"], props) + +def set_block_props(dir, props): + set_props(dir, opts["block-prop"], props) + +def set_blocked_revs(dir, source_pathid, revs): + props = get_block_props(dir) + if revs: + props[source_pathid] = str(revs) + elif props.has_key(source_pathid): + del props[source_pathid] + set_block_props(dir, props) + +def is_url(url): + """Check if url looks like a valid url.""" + return re.search(r"^[a-zA-Z][-+\.\w]*://[^\s]+$", url) is not None and url[:4] != 'uuid' + +def check_url(url): + """Similar to is_url, but actually invoke get_svninfo to find out""" + return get_svninfo(url) != {} + +def is_pathid(pathid): + return isinstance(pathid, PathIdentifier) + +def is_wc(dir): + """Check if a directory is a working copy.""" + return os.path.isdir(os.path.join(dir, ".svn")) or \ + os.path.isdir(os.path.join(dir, "_svn")) + +_cache_svninfo = {} +def get_svninfo(target): + """Extract the subversion information for a target (through 'svn info'). + This function uses an internal cache to let clients query information + many times.""" + if _cache_svninfo.has_key(target): + return _cache_svninfo[target] + info = {} + for L in launchsvn('info "%s"' % target): + L = L.strip() + if not L: + continue + key, value = L.split(": ", 1) + info[key] = value.strip() + _cache_svninfo[target] = info + return info + +def target_to_url(target): + """Convert working copy path or repos URL to a repos URL.""" + if is_wc(target): + info = get_svninfo(target) + return info["URL"] + return target + +_cache_reporoot = {} +def get_repo_root(target): + """Compute the root repos URL given a working-copy path, or a URL.""" + # Try using "svn info WCDIR". This works only on SVN clients >= 1.3 + if not is_url(target): + try: + info = get_svninfo(target) + root = info["Repository Root"] + _cache_reporoot[root] = None + return root + except KeyError: + pass + url = target_to_url(target) + assert url[-1] != '/' + else: + url = target + + # Go through the cache of the repository roots. This avoids extra + # server round-trips if we are asking the root of different URLs + # in the same repository (the cache in get_svninfo() cannot detect + # that of course and would issue a remote command). + assert is_url(url) + for r in _cache_reporoot: + if url.startswith(r): + return r + + # Try using "svn info URL". This works only on SVN clients >= 1.2 + try: + info = get_svninfo(url) + # info may be {}, in which case we'll see KeyError here + root = info["Repository Root"] + _cache_reporoot[root] = None + return root + except (KeyError, LaunchError): + pass + + # Constrained to older svn clients, we are stuck with this ugly + # trial-and-error implementation. It could be made faster with a + # binary search. + while url: + temp = os.path.dirname(url) + try: + launchsvn('proplist "%s"' % temp) + except LaunchError: + _cache_reporoot[url] = None + return rstrip(url, "/") + url = temp + + error("svn repos root of %s not found" % target) + +class SvnLogParser: + """ + Parse the "svn log", going through the XML output and using pulldom (which + would even allow streaming the command output). + """ + def __init__(self, xml): + self._events = pulldom.parseString(xml) + def __getitem__(self, idx): + for event, node in self._events: + if event == pulldom.START_ELEMENT and node.tagName == "logentry": + self._events.expandNode(node) + return self.SvnLogRevision(node) + raise IndexError, "Could not find 'logentry' tag in xml" + + class SvnLogRevision: + def __init__(self, xmlnode): + self.n = xmlnode + def revision(self): + return int(self.n.getAttribute("revision")) + def author(self): + return self.n.getElementsByTagName("author")[0].firstChild.data + def paths(self): + return [self.SvnLogPath(n) + for n in self.n.getElementsByTagName("path")] + + class SvnLogPath: + def __init__(self, xmlnode): + self.n = xmlnode + def action(self): + return self.n.getAttribute("action") + def pathid(self): + return self.n.firstChild.data + def copyfrom_rev(self): + try: return self.n.getAttribute("copyfrom-rev") + except KeyError: return None + def copyfrom_pathid(self): + try: return self.n.getAttribute("copyfrom-path") + except KeyError: return None + +def get_copyfrom(target): + """Get copyfrom info for a given target (it represents the + repository-relative path from where it was branched). NOTE: + repos root has no copyfrom info. In this case None is returned. + + Returns the: + - source file or directory from which the copy was made + - revision from which that source was copied + - revision in which the copy was committed + """ + repos_path = PathIdentifier.from_target(target).repo_relative_path + for chg in SvnLogParser(launchsvn('log -v --xml --stop-on-copy "%s"' + % target, split_lines=False)): + for p in chg.paths(): + if p.action() == 'A' and p.pathid() == repos_path: + # These values will be None if the corresponding elements are + # not found in the log. + return p.copyfrom_pathid(), p.copyfrom_rev(), chg.revision() + return None,None,None + +def get_latest_rev(url): + """Get the latest revision of the repository of which URL is part.""" + try: + info = get_svninfo(url) + if not info.has_key("Revision"): + error("Not a valid URL: %s" % url) + return info["Revision"] + except LaunchError: + # Alternative method for latest revision checking (for svn < 1.2) + report('checking latest revision of "%s"' % url) + L = launchsvn('proplist --revprop -r HEAD "%s"' % opts["source-url"])[0] + rev = re.search("revision (\d+)", L).group(1) + report('latest revision of "%s" is %s' % (url, rev)) + return rev + +def get_created_rev(url): + """Lookup the revision at which the path identified by the + provided URL was first created.""" + oldest_rev = -1 + report('determining oldest revision for URL "%s"' % url) + ### TODO: Refactor this to use a modified RevisionLog class. + lines = None + cmd = "log -r1:HEAD --stop-on-copy -q " + url + try: + lines = launchsvn(cmd + " --limit=1") + except LaunchError: + # Assume that --limit isn't supported by the installed 'svn'. + lines = launchsvn(cmd) + if lines and len(lines) > 1: + i = lines[1].find(" ") + if i != -1: + oldest_rev = int(lines[1][1:i]) + if oldest_rev == -1: + error('unable to determine oldest revision for URL "%s"' % url) + return oldest_rev + +def get_commit_log(url, revnum): + """Return the log message for a specific integer revision + number.""" + out = launchsvn("log --incremental -r%d %s" % (revnum, url)) + return recode_stdout_to_file("".join(out[1:])) + +def construct_merged_log_message(url, revnums): + """Return a commit log message containing all the commit messages + in the specified revisions at the given URL. The separator used + in this log message is determined by searching for the longest + svnmerge separator existing in the commit log messages and + extending it by one more separator. This results in a new commit + log message that is clearer in describing merges that contain + other merges. Trailing newlines are removed from the embedded + log messages.""" + messages = [''] + longest_sep = '' + for r in revnums.sorted(): + message = get_commit_log(url, r) + if message: + message = re.sub(r'(\r\n|\r|\n)', "\n", message) + message = rstrip(message, "\n") + "\n" + messages.append(prefix_lines(LOG_LINE_PREFIX, message)) + for match in LOG_SEPARATOR_RE.findall(message): + sep = match[1] + if len(sep) > len(longest_sep): + longest_sep = sep + + longest_sep += LOG_SEPARATOR + "\n" + messages.append('') + return longest_sep.join(messages) + +def get_default_source(branch_target, branch_props): + """Return the default source for branch_target (given its branch_props). + Error out if there is ambiguity.""" + if not branch_props: + error("no integration info available") + + props = branch_props.copy() + pathid = PathIdentifier.from_target(branch_target) + + # To make bidirectional merges easier, find the target's + # repository local path so it can be removed from the list of + # possible integration sources. + if props.has_key(pathid): + del props[pathid] + + if len(props) > 1: + err_msg = "multiple sources found. " + err_msg += "Explicit source argument (-S/--source) required.\n" + err_msg += "The merge sources available are:" + for prop in props: + err_msg += "\n " + str(prop) + error(err_msg) + + return props.keys()[0] + +def should_find_reflected(branch_dir): + should_find_reflected = opts["bidirectional"] + + # If the source has integration info for the target, set find_reflected + # even if --bidirectional wasn't specified + if not should_find_reflected: + source_props = get_merge_props(opts["source-url"]) + should_find_reflected = source_props.has_key(PathIdentifier.from_target(branch_dir)) + + return should_find_reflected + +def analyze_revs(target_pathid, url, begin=1, end=None, + find_reflected=False): + """For the source of the merges in the source URL being merged into + target_pathid, analyze the revisions in the interval begin-end (which + defaults to 1-HEAD), to find out which revisions are changes in + the url, which are changes elsewhere (so-called 'phantom' + revisions), optionally which are reflected changes (to avoid + conflicts that can occur when doing bidirectional merging between + branches), and which revisions initialize merge tracking against other + branches. Return a tuple of four RevisionSet's: + (real_revs, phantom_revs, reflected_revs, initialized_revs). + + NOTE: To maximize speed, if "end" is not provided, the function is + not able to find phantom revisions following the last real + revision in the URL. + """ + + begin = str(begin) + if end is None: + end = "HEAD" + else: + end = str(end) + if long(begin) > long(end): + return RevisionSet(""), RevisionSet(""), \ + RevisionSet(""), RevisionSet("") + + logs[url] = RevisionLog(url, begin, end, find_reflected) + revs = RevisionSet(logs[url].revs) + + if end == "HEAD": + # If end is not provided, we do not know which is the latest revision + # in the repository. So return the phantom revision set only up to + # the latest known revision. + end = str(list(revs)[-1]) + + phantom_revs = RevisionSet("%s-%s" % (begin, end)) - revs + + if find_reflected: + reflected_revs = logs[url].merge_metadata().changed_revs(target_pathid) + reflected_revs += logs[url].block_metadata().changed_revs(target_pathid) + else: + reflected_revs = [] + + initialized_revs = RevisionSet(logs[url].merge_metadata().initialized_revs()) + reflected_revs = RevisionSet(reflected_revs) + + return revs, phantom_revs, reflected_revs, initialized_revs + +def analyze_source_revs(branch_target, source_url, **kwargs): + """For the given branch and source, extract the real and phantom + source revisions.""" + branch_url = target_to_url(branch_target) + branch_pathid = PathIdentifier.from_target(branch_target) + + # Extract the latest repository revision from the URL of the branch + # directory (which is already cached at this point). + end_rev = get_latest_rev(source_url) + + # Calculate the base of analysis. If there is a "1-XX" interval in the + # merged_revs, we do not need to check those. + base = 1 + r = opts["merged-revs"].normalized() + if r and r[0][0] == 1: + base = r[0][1] + 1 + + # See if the user filtered the revision set. If so, we are not + # interested in something outside that range. + if opts["revision"]: + revs = RevisionSet(opts["revision"]).sorted() + if base < revs[0]: + base = revs[0] + if end_rev > revs[-1]: + end_rev = revs[-1] + + return analyze_revs(branch_pathid, source_url, base, end_rev, **kwargs) + +def minimal_merge_intervals(revs, phantom_revs): + """Produce the smallest number of intervals suitable for merging. revs + is the RevisionSet which we want to merge, and phantom_revs are phantom + revisions which can be used to concatenate intervals, thus minimizing the + number of operations.""" + revnums = revs.normalized() + ret = [] + + cur = revnums.pop() + while revnums: + next = revnums.pop() + assert next[1] < cur[0] # otherwise it is not ordered + assert cur[0] - next[1] > 1 # otherwise it is not normalized + for i in range(next[1]+1, cur[0]): + if i not in phantom_revs: + ret.append(cur) + cur = next + break + else: + cur = (next[0], cur[1]) + + ret.append(cur) + ret.reverse() + return ret + +def display_revisions(revs, display_style, revisions_msg, source_url): + """Show REVS as dictated by DISPLAY_STYLE, either numerically, in + log format, or as diffs. When displaying revisions numerically, + prefix output with REVISIONS_MSG when in verbose mode. Otherwise, + request logs or diffs using SOURCE_URL.""" + if display_style == "revisions": + if revs: + report(revisions_msg) + print revs + elif display_style == "logs": + for start,end in revs.normalized(): + svn_command('log --incremental -v -r %d:%d %s' % \ + (start, end, source_url)) + elif display_style in ("diffs", "summarize"): + if display_style == 'summarize': + summarize = '--summarize ' + else: + summarize = '' + + for start, end in revs.normalized(): + print + if start == end: + print "%s: changes in revision %d follow" % (NAME, start) + else: + print "%s: changes in revisions %d-%d follow" % (NAME, + start, end) + print + + # Note: the starting revision number to 'svn diff' is + # NOT inclusive so we have to subtract one from ${START}. + svn_command("diff -r %d:%d %s %s" % (start - 1, end, summarize, + source_url)) + else: + assert False, "unhandled display style: %s" % display_style + +def action_init(target_dir, target_props): + """Initialize for merges.""" + # Check that directory is ready for being modified + check_dir_clean(target_dir) + + target_pathid = PathIdentifier.from_target(target_dir) + source_pathid = opts['source-pathid'] + if source_pathid == target_pathid: + error("cannot init integration source path '%s'\nIts path identifier does not " + "differ from the path identifier of the current directory, '%s'." + % (source_pathid, target_pathid)) + + source_url = opts['source-url'] + + # If the user hasn't specified the revisions to use, see if the + # "source" is a copy from the current tree and if so, we can use + # the version data obtained from it. + revision_range = opts["revision"] + if not revision_range: + # If source was originally copied from target, and we are merging + # changes from source to target (the copy target is the merge source, + # and the copy source is the merge target), then we want to mark as + # integrated up to the rev in which the copy was committed which + # created the merge source: + cf_source, cf_rev, copy_committed_in_rev = get_copyfrom(source_url) + + cf_pathid = None + if cf_source: + cf_url = get_repo_root(source_url) + cf_source + if is_url(cf_url) and check_url(cf_url): + cf_pathid = PathIdentifier.from_target(cf_url) + + if target_pathid == cf_pathid: + report('the source "%s" was copied from "%s" in rev %s and committed in rev %s' % + (source_url, target_dir, cf_rev, copy_committed_in_rev)) + revision_range = "1-" + str(copy_committed_in_rev) + + if not revision_range: + # If the reverse is true: copy source is the merge source, and + # the copy target is the merge target, then we want to mark as + # integrated up to the specific rev of the merge target from + # which the merge source was copied. (Longer discussion at: + # http://subversion.tigris.org/issues/show_bug.cgi?id=2810 ) + cf_source, cf_rev, copy_committed_in_rev = get_copyfrom(target_dir) + + cf_pathid = None + if cf_source: + cf_url = get_repo_root(target_dir) + cf_source + if is_url(cf_url) and check_url(cf_url): + cf_pathid = PathIdentifier.from_target(cf_url) + + source_pathid = PathIdentifier.from_target(source_url) + if source_pathid == cf_pathid: + report('the target "%s" was copied the source "%s" in rev %s and committed in rev %s' % + (target_dir, source_url, cf_rev, copy_committed_in_rev)) + revision_range = "1-" + cf_rev + + # When neither the merge source nor target is a copy of the other, and + # the user did not specify a revision range, then choose a default which is + # the current revision; saying, in effect, "everything has been merged, so + # mark as integrated up to the latest rev on source url). + if not revision_range: + revision_range = "1-" + get_latest_rev(source_url) + + revs = RevisionSet(revision_range) + + report('marking "%s" as already containing revisions "%s" of "%s"' % + (target_dir, revs, source_url)) + + revs = str(revs) + # If the local svnmerge-integrated property already has an entry + # for the source-pathid, simply error out. + if not opts["force"] and target_props.has_key(source_pathid): + error('Repository-relative path %s has already been initialized at %s\n' + 'Use --force to re-initialize' % (source_pathid, target_dir)) + # set the pathid's external_form based on the user's options + source_pathid.external_form = source_pathid.format(opts['location-type']) + + revs = str(revs) + target_props[source_pathid] = revs + + # Set property + set_merge_props(target_dir, target_props) + + # Write out commit message if desired + if opts["commit-file"]: + f = open(opts["commit-file"], "w") + print >>f, 'Initialized merge tracking via "%s" with revisions "%s" from ' \ + % (NAME, revs) + print >>f, '%s' % source_url + f.close() + report('wrote commit message to "%s"' % opts["commit-file"]) + +def action_avail(branch_dir, branch_props): + """Show commits available for merges.""" + source_revs, phantom_revs, reflected_revs, initialized_revs = \ + analyze_source_revs(branch_dir, opts["source-url"], + find_reflected= + should_find_reflected(branch_dir)) + report('skipping phantom revisions: %s' % phantom_revs) + if reflected_revs: + report('skipping reflected revisions: %s' % reflected_revs) + report('skipping initialized revisions: %s' % initialized_revs) + + blocked_revs = get_blocked_revs(branch_dir, opts["source-pathid"]) + avail_revs = source_revs - opts["merged-revs"] - blocked_revs - \ + reflected_revs - initialized_revs + + # Compose the set of revisions to show + revs = RevisionSet("") + report_msg = "revisions available to be merged are:" + if "avail" in opts["avail-showwhat"]: + revs |= avail_revs + if "blocked" in opts["avail-showwhat"]: + revs |= blocked_revs + report_msg = "revisions blocked are:" + + # Limit to revisions specified by -r (if any) + if opts["revision"]: + revs = revs & RevisionSet(opts["revision"]) + + display_revisions(revs, opts["avail-display"], + report_msg, + opts["source-url"]) + +def action_integrated(branch_dir, branch_props): + """Show change sets already merged. This set of revisions is + calculated from taking svnmerge-integrated property from the + branch, and subtracting any revision older than the branch + creation revision.""" + # Extract the integration info for the branch_dir + branch_props = get_merge_props(branch_dir) + revs = merge_props_to_revision_set(branch_props, opts["source-pathid"]) + + # Lookup the oldest revision on the branch path. + oldest_src_rev = get_created_rev(opts["source-url"]) + + # Subtract any revisions which pre-date the branch. + report("subtracting revisions which pre-date the source URL (%d)" % + oldest_src_rev) + revs = revs - RevisionSet(range(1, oldest_src_rev)) + + # Limit to revisions specified by -r (if any) + if opts["revision"]: + revs = revs & RevisionSet(opts["revision"]) + + display_revisions(revs, opts["integrated-display"], + "revisions already integrated are:", opts["source-url"]) + +def action_merge(branch_dir, branch_props): + """Record merge meta data, and do the actual merge (if not + requested otherwise via --record-only).""" + # Check branch directory is ready for being modified + check_dir_clean(branch_dir) + + source_revs, phantom_revs, reflected_revs, initialized_revs = \ + analyze_source_revs(branch_dir, opts["source-url"], + find_reflected= + should_find_reflected(branch_dir)) + + if opts["revision"]: + revs = RevisionSet(opts["revision"]) + else: + revs = source_revs + + blocked_revs = get_blocked_revs(branch_dir, opts["source-pathid"]) + merged_revs = opts["merged-revs"] + + # Show what we're doing + if opts["verbose"]: # just to avoid useless calculations + if merged_revs & revs: + report('"%s" already contains revisions %s' % (branch_dir, + merged_revs & revs)) + if phantom_revs: + report('memorizing phantom revision(s): %s' % phantom_revs) + if reflected_revs: + report('memorizing reflected revision(s): %s' % reflected_revs) + if blocked_revs & revs: + report('skipping blocked revisions(s): %s' % (blocked_revs & revs)) + if initialized_revs: + report('skipping initialized revision(s): %s' % initialized_revs) + + # Compute final merge set. + revs = revs - merged_revs - blocked_revs - reflected_revs - \ + phantom_revs - initialized_revs + if not revs: + report('no revisions to merge, exiting') + return + + # When manually marking revisions as merged, we only update the + # integration meta data, and don't perform an actual merge. + record_only = opts["record-only"] + + if record_only: + report('recording merge of revision(s) %s from "%s"' % + (revs, opts["source-url"])) + else: + report('merging in revision(s) %s from "%s"' % + (revs, opts["source-url"])) + + # Do the merge(s). Note: the starting revision number to 'svn merge' + # is NOT inclusive so we have to subtract one from start. + # We try to keep the number of merge operations as low as possible, + # because it is faster and reduces the number of conflicts. + old_block_props = get_block_props(branch_dir) + merge_metadata = logs[opts["source-url"]].merge_metadata() + block_metadata = logs[opts["source-url"]].block_metadata() + for start,end in minimal_merge_intervals(revs, phantom_revs): + if not record_only: + # Preset merge/blocked properties to the source value at + # the start rev to avoid spurious property conflicts + set_merge_props(branch_dir, merge_metadata.get(start - 1)) + set_block_props(branch_dir, block_metadata.get(start - 1)) + # Do the merge + svn_command("merge --force -r %d:%d %s %s" % \ + (start - 1, end, opts["source-url"], branch_dir)) + # TODO: to support graph merging, add logic to merge the property + # meta-data manually + + # Update the set of merged revisions. + merged_revs = merged_revs | revs | reflected_revs | phantom_revs | initialized_revs + branch_props[opts["source-pathid"]] = str(merged_revs) + set_merge_props(branch_dir, branch_props) + # Reset the blocked revs + set_block_props(branch_dir, old_block_props) + + # Write out commit message if desired + if opts["commit-file"]: + f = open(opts["commit-file"], "w") + if record_only: + print >>f, 'Recorded merge of revisions %s via %s from ' % \ + (revs, NAME) + else: + print >>f, 'Merged revisions %s via %s from ' % \ + (revs, NAME) + print >>f, '%s' % opts["source-url"] + if opts["commit-verbose"]: + print >>f + print >>f, construct_merged_log_message(opts["source-url"], revs), + + f.close() + report('wrote commit message to "%s"' % opts["commit-file"]) + +def action_block(branch_dir, branch_props): + """Block revisions.""" + # Check branch directory is ready for being modified + check_dir_clean(branch_dir) + + source_revs, phantom_revs, reflected_revs, initialized_revs = \ + analyze_source_revs(branch_dir, opts["source-url"]) + revs_to_block = source_revs - opts["merged-revs"] + + # Limit to revisions specified by -r (if any) + if opts["revision"]: + revs_to_block = RevisionSet(opts["revision"]) & revs_to_block + + if not revs_to_block: + error('no available revisions to block') + + # Change blocked information + blocked_revs = get_blocked_revs(branch_dir, opts["source-pathid"]) + blocked_revs = blocked_revs | revs_to_block + set_blocked_revs(branch_dir, opts["source-pathid"], blocked_revs) + + # Write out commit message if desired + if opts["commit-file"]: + f = open(opts["commit-file"], "w") + print >>f, 'Blocked revisions %s via %s' % (revs_to_block, NAME) + if opts["commit-verbose"]: + print >>f + print >>f, construct_merged_log_message(opts["source-url"], + revs_to_block), + + f.close() + report('wrote commit message to "%s"' % opts["commit-file"]) + +def action_unblock(branch_dir, branch_props): + """Unblock revisions.""" + # Check branch directory is ready for being modified + check_dir_clean(branch_dir) + + blocked_revs = get_blocked_revs(branch_dir, opts["source-pathid"]) + revs_to_unblock = blocked_revs + + # Limit to revisions specified by -r (if any) + if opts["revision"]: + revs_to_unblock = revs_to_unblock & RevisionSet(opts["revision"]) + + if not revs_to_unblock: + error('no available revisions to unblock') + + # Change blocked information + blocked_revs = blocked_revs - revs_to_unblock + set_blocked_revs(branch_dir, opts["source-pathid"], blocked_revs) + + # Write out commit message if desired + if opts["commit-file"]: + f = open(opts["commit-file"], "w") + print >>f, 'Unblocked revisions %s via %s' % (revs_to_unblock, NAME) + if opts["commit-verbose"]: + print >>f + print >>f, construct_merged_log_message(opts["source-url"], + revs_to_unblock), + f.close() + report('wrote commit message to "%s"' % opts["commit-file"]) + +def action_rollback(branch_dir, branch_props): + """Rollback previously integrated revisions.""" + + # Make sure the revision arguments are present + if not opts["revision"]: + error("The '-r' option is mandatory for rollback") + + # Check branch directory is ready for being modified + check_dir_clean(branch_dir) + + # Extract the integration info for the branch_dir + branch_props = get_merge_props(branch_dir) + # Get the list of all revisions already merged into this source-pathid. + merged_revs = merge_props_to_revision_set(branch_props, + opts["source-pathid"]) + + # At which revision was the src created? + oldest_src_rev = get_created_rev(opts["source-url"]) + src_pre_exist_range = RevisionSet("1-%d" % oldest_src_rev) + + # Limit to revisions specified by -r (if any) + revs = merged_revs & RevisionSet(opts["revision"]) + + # make sure there's some revision to rollback + if not revs: + report("Nothing to rollback in revision range r%s" % opts["revision"]) + return + + # If even one specified revision lies outside the lifetime of the + # merge source, error out. + if revs & src_pre_exist_range: + err_str = "Specified revision range falls out of the rollback range.\n" + err_str += "%s was created at r%d" % (opts["source-pathid"], + oldest_src_rev) + error(err_str) + + record_only = opts["record-only"] + + if record_only: + report('recording rollback of revision(s) %s from "%s"' % + (revs, opts["source-url"])) + else: + report('rollback of revision(s) %s from "%s"' % + (revs, opts["source-url"])) + + # Do the reverse merge(s). Note: the starting revision number + # to 'svn merge' is NOT inclusive so we have to subtract one from start. + # We try to keep the number of merge operations as low as possible, + # because it is faster and reduces the number of conflicts. + rollback_intervals = minimal_merge_intervals(revs, []) + # rollback in the reverse order of merge + rollback_intervals.reverse() + for start, end in rollback_intervals: + if not record_only: + # Do the merge + svn_command("merge --force -r %d:%d %s %s" % \ + (end, start - 1, opts["source-url"], branch_dir)) + + # Write out commit message if desired + # calculate the phantom revs first + if opts["commit-file"]: + f = open(opts["commit-file"], "w") + if record_only: + print >>f, 'Recorded rollback of revisions %s via %s from ' % \ + (revs , NAME) + else: + print >>f, 'Rolled back revisions %s via %s from ' % \ + (revs , NAME) + print >>f, '%s' % opts["source-url"] + + f.close() + report('wrote commit message to "%s"' % opts["commit-file"]) + + # Update the set of merged revisions. + merged_revs = merged_revs - revs + branch_props[opts["source-pathid"]] = str(merged_revs) + set_merge_props(branch_dir, branch_props) + +def action_uninit(branch_dir, branch_props): + """Uninit SOURCE URL.""" + # Check branch directory is ready for being modified + check_dir_clean(branch_dir) + + # If the source-pathid does not have an entry in the svnmerge-integrated + # property, simply error out. + if not branch_props.has_key(opts["source-pathid"]): + error('Repository-relative path "%s" does not contain merge ' + 'tracking information for "%s"' \ + % (opts["source-pathid"], branch_dir)) + + del branch_props[opts["source-pathid"]] + + # Set merge property with the selected source deleted + set_merge_props(branch_dir, branch_props) + + # Set blocked revisions for the selected source to None + set_blocked_revs(branch_dir, opts["source-pathid"], None) + + # Write out commit message if desired + if opts["commit-file"]: + f = open(opts["commit-file"], "w") + print >>f, 'Removed merge tracking for "%s" for ' % NAME + print >>f, '%s' % opts["source-url"] + f.close() + report('wrote commit message to "%s"' % opts["commit-file"]) + +############################################################################### +# Command line parsing -- options and commands management +############################################################################### + +class OptBase: + def __init__(self, *args, **kwargs): + self.help = kwargs["help"] + del kwargs["help"] + self.lflags = [] + self.sflags = [] + for a in args: + if a.startswith("--"): self.lflags.append(a) + elif a.startswith("-"): self.sflags.append(a) + else: + raise TypeError, "invalid flag name: %s" % a + if kwargs.has_key("dest"): + self.dest = kwargs["dest"] + del kwargs["dest"] + else: + if not self.lflags: + raise TypeError, "cannot deduce dest name without long options" + self.dest = self.lflags[0][2:] + if kwargs: + raise TypeError, "invalid keyword arguments: %r" % kwargs.keys() + def repr_flags(self): + f = self.sflags + self.lflags + r = f[0] + for fl in f[1:]: + r += " [%s]" % fl + return r + +class Option(OptBase): + def __init__(self, *args, **kwargs): + self.default = kwargs.setdefault("default", 0) + del kwargs["default"] + self.value = kwargs.setdefault("value", None) + del kwargs["value"] + OptBase.__init__(self, *args, **kwargs) + def apply(self, state, value): + assert value == "" + if self.value is not None: + state[self.dest] = self.value + else: + state[self.dest] += 1 + +class OptionArg(OptBase): + def __init__(self, *args, **kwargs): + self.default = kwargs["default"] + del kwargs["default"] + self.metavar = kwargs.setdefault("metavar", None) + del kwargs["metavar"] + OptBase.__init__(self, *args, **kwargs) + + if self.metavar is None: + if self.dest is not None: + self.metavar = self.dest.upper() + else: + self.metavar = "arg" + if self.default: + self.help += " (default: %s)" % self.default + def apply(self, state, value): + assert value is not None + state[self.dest] = value + def repr_flags(self): + r = OptBase.repr_flags(self) + return r + " " + self.metavar + +class CommandOpts: + class Cmd: + def __init__(self, *args): + self.name, self.func, self.usage, self.help, self.opts = args + def short_help(self): + return self.help.split(".")[0] + def __str__(self): + return self.name + def __call__(self, *args, **kwargs): + return self.func(*args, **kwargs) + + def __init__(self, global_opts, common_opts, command_table, version=None): + self.progname = NAME + self.version = version.replace("%prog", self.progname) + self.cwidth = console_width() - 2 + self.ctable = command_table.copy() + self.gopts = global_opts[:] + self.copts = common_opts[:] + self._add_builtins() + for k in self.ctable.keys(): + cmd = self.Cmd(k, *self.ctable[k]) + opts = [] + for o in cmd.opts: + if isinstance(o, types.StringType) or \ + isinstance(o, types.UnicodeType): + o = self._find_common(o) + opts.append(o) + cmd.opts = opts + self.ctable[k] = cmd + + def _add_builtins(self): + self.gopts.append( + Option("-h", "--help", help="show help for this command and exit")) + if self.version is not None: + self.gopts.append( + Option("-V", "--version", help="show version info and exit")) + self.ctable["help"] = (self._cmd_help, + "help [COMMAND]", + "Display help for a specific command. If COMMAND is omitted, " + "display brief command description.", + []) + + def _cmd_help(self, cmd=None, *args): + if args: + self.error("wrong number of arguments", "help") + if cmd is not None: + cmd = self._command(cmd) + self.print_command_help(cmd) + else: + self.print_command_list() + + def _paragraph(self, text, width=78): + chunks = re.split("\s+", text.strip()) + chunks.reverse() + lines = [] + while chunks: + L = chunks.pop() + while chunks and len(L) + len(chunks[-1]) + 1 <= width: + L += " " + chunks.pop() + lines.append(L) + return lines + + def _paragraphs(self, text, *args, **kwargs): + pars = text.split("\n\n") + lines = self._paragraph(pars[0], *args, **kwargs) + for p in pars[1:]: + lines.append("") + lines.extend(self._paragraph(p, *args, **kwargs)) + return lines + + def _print_wrapped(self, text, indent=0): + text = self._paragraphs(text, self.cwidth - indent) + print text.pop(0) + for t in text: + print " " * indent + t + + def _find_common(self, fl): + for o in self.copts: + if fl in o.lflags+o.sflags: + return o + assert False, fl + + def _compute_flags(self, opts, check_conflicts=True): + back = {} + sfl = "" + lfl = [] + for o in opts: + sapp = lapp = "" + if isinstance(o, OptionArg): + sapp, lapp = ":", "=" + for s in o.sflags: + if check_conflicts and back.has_key(s): + raise RuntimeError, "option conflict: %s" % s + back[s] = o + sfl += s[1:] + sapp + for l in o.lflags: + if check_conflicts and back.has_key(l): + raise RuntimeError, "option conflict: %s" % l + back[l] = o + lfl.append(l[2:] + lapp) + return sfl, lfl, back + + def _extract_command(self, args): + """ + Try to extract the command name from the argument list. This is + non-trivial because we want to allow command-specific options even + before the command itself. + """ + opts = self.gopts[:] + for cmd in self.ctable.values(): + opts.extend(cmd.opts) + sfl, lfl, _ = self._compute_flags(opts, check_conflicts=False) + + lopts,largs = getopt.getopt(args, sfl, lfl) + if not largs: + return None + return self._command(largs[0]) + + def _fancy_getopt(self, args, opts, state=None): + if state is None: + state= {} + for o in opts: + if not state.has_key(o.dest): + state[o.dest] = o.default + + sfl, lfl, back = self._compute_flags(opts) + try: + lopts,args = getopt.gnu_getopt(args, sfl, lfl) + except AttributeError: + # Before Python 2.3, there was no gnu_getopt support. + # So we can't parse intermixed positional arguments + # and options. + lopts,args = getopt.getopt(args, sfl, lfl) + + for o,v in lopts: + back[o].apply(state, v) + return state, args + + def _command(self, cmd): + if not self.ctable.has_key(cmd): + self.error("unknown command: '%s'" % cmd) + return self.ctable[cmd] + + def parse(self, args): + if not args: + self.print_small_help() + sys.exit(0) + + cmd = None + try: + cmd = self._extract_command(args) + opts = self.gopts[:] + if cmd: + opts.extend(cmd.opts) + args.remove(cmd.name) + state, args = self._fancy_getopt(args, opts) + except getopt.GetoptError, e: + self.error(e, cmd) + + # Handle builtins + if self.version is not None and state["version"]: + self.print_version() + sys.exit(0) + if state["help"]: # special case for --help + if cmd: + self.print_command_help(cmd) + sys.exit(0) + cmd = self.ctable["help"] + else: + if cmd is None: + self.error("command argument required") + if str(cmd) == "help": + cmd(*args) + sys.exit(0) + return cmd, args, state + + def error(self, s, cmd=None): + print >>sys.stderr, "%s: %s" % (self.progname, s) + if cmd is not None: + self.print_command_help(cmd) + else: + self.print_small_help() + sys.exit(1) + def print_small_help(self): + print "Type '%s help' for usage" % self.progname + def print_usage_line(self): + print "usage: %s <subcommand> [options...] [args...]\n" % self.progname + def print_command_list(self): + print "Available commands (use '%s help COMMAND' for more details):\n" \ + % self.progname + cmds = self.ctable.keys() + cmds.sort() + indent = max(map(len, cmds)) + for c in cmds: + h = self.ctable[c].short_help() + print " %-*s " % (indent, c), + self._print_wrapped(h, indent+6) + def print_command_help(self, cmd): + cmd = self.ctable[str(cmd)] + print 'usage: %s %s\n' % (self.progname, cmd.usage) + self._print_wrapped(cmd.help) + def print_opts(opts, self=self): + if not opts: return + flags = [o.repr_flags() for o in opts] + indent = max(map(len, flags)) + for f,o in zip(flags, opts): + print " %-*s :" % (indent, f), + self._print_wrapped(o.help, indent+5) + print '\nCommand options:' + print_opts(cmd.opts) + print '\nGlobal options:' + print_opts(self.gopts) + + def print_version(self): + print self.version + +############################################################################### +# Options and Commands description +############################################################################### + +global_opts = [ + Option("-F", "--force", + help="force operation even if the working copy is not clean, or " + "there are pending updates"), + Option("-n", "--dry-run", + help="don't actually change anything, just pretend; " + "implies --show-changes"), + Option("-s", "--show-changes", + help="show subversion commands that make changes"), + Option("-v", "--verbose", + help="verbose mode: output more information about progress"), + OptionArg("-u", "--username", + default=None, + help="invoke subversion commands with the supplied username"), + OptionArg("-p", "--password", + default=None, + help="invoke subversion commands with the supplied password"), + OptionArg("-c", "--config-dir", metavar="DIR", + default=None, + help="cause subversion commands to consult runtime config directory DIR"), +] + +common_opts = [ + Option("-b", "--bidirectional", + value=True, + default=False, + help="remove reflected and initialized revisions from merge candidates. " + "Not required but may be specified to speed things up slightly"), + OptionArg("-f", "--commit-file", metavar="FILE", + default="svnmerge-commit-message.txt", + help="set the name of the file where the suggested log message " + "is written to"), + Option("-M", "--record-only", + value=True, + default=False, + help="do not perform an actual merge of the changes, yet record " + "that a merge happened"), + OptionArg("-r", "--revision", + metavar="REVLIST", + default="", + help="specify a revision list, consisting of revision numbers " + 'and ranges separated by commas, e.g., "534,537-539,540"'), + OptionArg("-S", "--source", "--head", + default=None, + help="specify a merge source for this branch. It can be either " + "a working directory path, a full URL, or an unambiguous " + "substring of one of the locations for which merge tracking was " + "already initialized. Needed only to disambiguate in case of " + "multiple merge sources"), +] + +command_table = { + "init": (action_init, + "init [OPTION...] [SOURCE]", + """Initialize merge tracking from SOURCE on the current working + directory. + + If SOURCE is specified, all the revisions in SOURCE are marked as already + merged; if this is not correct, you can use --revision to specify the + exact list of already-merged revisions. + + If SOURCE is omitted, then it is computed from the "svn cp" history of the + current working directory (searching back for the branch point); in this + case, %s assumes that no revision has been integrated yet since + the branch point (unless you teach it with --revision).""" % NAME, + [ + "-f", "-r", # import common opts + OptionArg("-L", "--location-type", + dest="location-type", + default="path", + help="Use this type of location identifier in the new " + + "Subversion properties; 'uuid', 'url', or 'path' " + + "(default)"), + ]), + + "avail": (action_avail, + "avail [OPTION...] [PATH]", + """Show unmerged revisions available for PATH as a revision list. + If --revision is given, the revisions shown will be limited to those + also specified in the option. + + When svnmerge is used to bidirectionally merge changes between a + branch and its source, it is necessary to not merge the same changes + forth and back: e.g., if you committed a merge of a certain + revision of the branch into the source, you do not want that commit + to appear as available to merged into the branch (as the code + originated in the branch itself!). svnmerge will automatically + exclude these so-called "reflected" revisions.""", + [ + Option("-A", "--all", + dest="avail-showwhat", + value=["blocked", "avail"], + default=["avail"], + help="show both available and blocked revisions (aka ignore " + "blocked revisions)"), + "-b", + Option("-B", "--blocked", + dest="avail-showwhat", + value=["blocked"], + help="show the blocked revision list (see '%s block')" % NAME), + Option("-d", "--diff", + dest="avail-display", + value="diffs", + default="revisions", + help="show corresponding diff instead of revision list"), + Option("--summarize", + dest="avail-display", + value="summarize", + help="show summarized diff instead of revision list"), + Option("-l", "--log", + dest="avail-display", + value="logs", + help="show corresponding log history instead of revision list"), + "-r", + "-S", + ]), + + "integrated": (action_integrated, + "integrated [OPTION...] [PATH]", + """Show merged revisions available for PATH as a revision list. + If --revision is given, the revisions shown will be limited to + those also specified in the option.""", + [ + Option("-d", "--diff", + dest="integrated-display", + value="diffs", + default="revisions", + help="show corresponding diff instead of revision list"), + Option("-l", "--log", + dest="integrated-display", + value="logs", + help="show corresponding log history instead of revision list"), + "-r", + "-S", + ]), + + "rollback": (action_rollback, + "rollback [OPTION...] [PATH]", + """Rollback previously merged in revisions from PATH. The + --revision option is mandatory, and specifies which revisions + will be rolled back. Only the previously integrated merges + will be rolled back. + + When manually rolling back changes, --record-only can be used to + instruct %s that a manual rollback of a certain revision + already happened, so that it can record it and offer that + revision for merge henceforth.""" % (NAME), + [ + "-f", "-r", "-S", "-M", # import common opts + ]), + + "merge": (action_merge, + "merge [OPTION...] [PATH]", + """Merge in revisions into PATH from its source. If --revision is omitted, + all the available revisions will be merged. In any case, already merged-in + revisions will NOT be merged again. + + When svnmerge is used to bidirectionally merge changes between a + branch and its source, it is necessary to not merge the same changes + forth and back: e.g., if you committed a merge of a certain + revision of the branch into the source, you do not want that commit + to appear as available to merged into the branch (as the code + originated in the branch itself!). svnmerge will automatically + exclude these so-called "reflected" revisions. + + When manually merging changes across branches, --record-only can + be used to instruct %s that a manual merge of a certain revision + already happened, so that it can record it and not offer that + revision for merge anymore. Conversely, when there are revisions + which should not be merged, use '%s block'.""" % (NAME, NAME), + [ + "-b", "-f", "-r", "-S", "-M", # import common opts + ]), + + "block": (action_block, + "block [OPTION...] [PATH]", + """Block revisions within PATH so that they disappear from the available + list. This is useful to hide revisions which will not be integrated. + If --revision is omitted, it defaults to all the available revisions. + + Do not use this option to hide revisions that were manually merged + into the branch. Instead, use '%s merge --record-only', which + records that a merge happened (as opposed to a merge which should + not happen).""" % NAME, + [ + "-f", "-r", "-S", # import common opts + ]), + + "unblock": (action_unblock, + "unblock [OPTION...] [PATH]", + """Revert the effect of '%s block'. If --revision is omitted, all the + blocked revisions are unblocked""" % NAME, + [ + "-f", "-r", "-S", # import common opts + ]), + + "uninit": (action_uninit, + "uninit [OPTION...] [PATH]", + """Remove merge tracking information from PATH. It cleans any kind of merge + tracking information (including the list of blocked revisions). If there + are multiple sources, use --source to indicate which source you want to + forget about.""", + [ + "-f", "-S", # import common opts + ]), +} + + +def main(args): + global opts + + # Initialize default options + opts = default_opts.copy() + logs.clear() + + optsparser = CommandOpts(global_opts, common_opts, command_table, + version="%%prog r%s\n modified: %s\n\n" + "Copyright (C) 2004,2005 Awarix Inc.\n" + "Copyright (C) 2005, Giovanni Bajo" + % (__revision__, __date__)) + + cmd, args, state = optsparser.parse(args) + opts.update(state) + + source = opts.get("source", None) + branch_dir = "." + + if str(cmd) == "init": + if len(args) == 1: + source = args[0] + elif len(args) > 1: + optsparser.error("wrong number of parameters", cmd) + elif str(cmd) in command_table.keys(): + if len(args) == 1: + branch_dir = args[0] + elif len(args) > 1: + optsparser.error("wrong number of parameters", cmd) + else: + assert False, "command not handled: %s" % cmd + + # Validate branch_dir + if not is_wc(branch_dir): + if str(cmd) == "avail": + info = None + # it should be noted here that svn info does not error exit + # if an invalid target is specified to it (as is + # intuitive). so the try, except code is not absolutely + # necessary. but, I retain it to indicate the intuitive + # handling. + try: + info = get_svninfo(branch_dir) + except LaunchError: + pass + # test that we definitely targeted a subversion directory, + # mirroring the purpose of the earlier is_wc() call + if info is None or not info.has_key("Node Kind") or info["Node Kind"] != "directory": + error('"%s" is neither a valid URL, nor a working directory' % branch_dir) + else: + error('"%s" is not a subversion working directory' % branch_dir) + + # give out some hints as to potential pathids + PathIdentifier.hint(branch_dir) + if source: PathIdentifier.hint(source) + + # Extract the integration info for the branch_dir + branch_props = get_merge_props(branch_dir) + + # Calculate source_url and source_path + report("calculate source path for the branch") + if not source: + if str(cmd) == "init": + cf_source, cf_rev, copy_committed_in_rev = get_copyfrom(branch_dir) + if not cf_source: + error('no copyfrom info available. ' + 'Explicit source argument (-S/--source) required.') + opts["source-url"] = get_repo_root(branch_dir) + cf_source + opts["source-pathid"] = PathIdentifier.from_target(opts["source-url"]) + + if not opts["revision"]: + opts["revision"] = "1-" + cf_rev + else: + opts["source-pathid"] = get_default_source(branch_dir, branch_props) + opts["source-url"] = opts["source-pathid"].get_url() + + assert is_pathid(opts["source-pathid"]) + assert is_url(opts["source-url"]) + else: + # The source was given as a command line argument and is stored in + # SOURCE. Ensure that the specified source does not end in a /, + # otherwise it's easy to have the same source path listed more + # than once in the integrated version properties, with and without + # trailing /'s. + source = rstrip(source, "/") + if not is_wc(source) and not is_url(source): + # Check if it is a substring of a pathid recorded + # within the branch properties. + found = [] + for pathid in branch_props.keys(): + if pathid.match_substring(source): + found.append(pathid) + if len(found) == 1: + # (assumes pathid is a repository-relative-path) + source_pathid = found[0] + source = source_pathid.get_url() + else: + error('"%s" is neither a valid URL, nor an unambiguous ' + 'substring of a repository path, nor a working directory' + % source) + else: + source_pathid = PathIdentifier.from_target(source) + + source_pathid = PathIdentifier.from_target(source) + if str(cmd) == "init" and \ + source_pathid == PathIdentifier.from_target("."): + error("cannot init integration source path '%s'\n" + "Its repository-relative path must differ from the " + "repository-relative path of the current directory." + % source_pathid) + opts["source-pathid"] = source_pathid + opts["source-url"] = target_to_url(source) + + # Sanity check source_url + assert is_url(opts["source-url"]) + # SVN does not support non-normalized URL (and we should not + # have created them) + assert opts["source-url"].find("/..") < 0 + + report('source is "%s"' % opts["source-url"]) + + # Get previously merged revisions (except when command is init) + if str(cmd) != "init": + opts["merged-revs"] = merge_props_to_revision_set(branch_props, + opts["source-pathid"]) + + # Perform the action + cmd(branch_dir, branch_props) + + +if __name__ == "__main__": + try: + main(sys.argv[1:]) + except LaunchError, (ret, cmd, out): + err_msg = "command execution failed (exit code: %d)\n" % ret + err_msg += cmd + "\n" + err_msg += "".join(out) + error(err_msg) + except KeyboardInterrupt: + # Avoid traceback on CTRL+C + print "aborted by user" + sys.exit(1) diff --git a/testing/subversion/svnserve b/testing/subversion/svnserve new file mode 100755 index 000000000..670fee742 --- /dev/null +++ b/testing/subversion/svnserve @@ -0,0 +1,42 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions +. /etc/conf.d/svnserve + +PID=`pidof -o %PPID /usr/bin/svnserve` +case "$1" in + start) + stat_busy "Starting svnserve" + if [ -z "$PID" ]; then + if [ -n "$SVNSERVE_USER" ]; then + su -s '/bin/sh' $SVNSERVE_USER -c "/usr/bin/svnserve -d $SVNSERVE_ARGS" & + else + /usr/bin/svnserve -d $SVNSERVE_ARGS & + fi + fi + if [ ! -z "$PID" -o $? -gt 0 ]; then + stat_fail + else + add_daemon svnserve + stat_done + fi + ;; + stop) + stat_busy "Stopping svnserve" + [ ! -z "$PID" ] && kill $PID &> /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + rm_daemon svnserve + stat_done + fi + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac diff --git a/testing/subversion/svnserve.conf b/testing/subversion/svnserve.conf new file mode 100644 index 000000000..37fb7ea10 --- /dev/null +++ b/testing/subversion/svnserve.conf @@ -0,0 +1,7 @@ +# +# Parameters to be passed to svnserve +# +#SVNSERVE_ARGS="-r /path/to/some/repos" +SVNSERVE_ARGS="" + +#SVNSERVE_USER="svn" diff --git a/testing/syslog-ng/PKGBUILD b/testing/syslog-ng/PKGBUILD new file mode 100644 index 000000000..595c4585b --- /dev/null +++ b/testing/syslog-ng/PKGBUILD @@ -0,0 +1,53 @@ +# $Id: PKGBUILD 143455 2011-11-24 16:44:04Z dreisner $ +# Maintainer: Dave Reisner <dreisner@archlinux.org> +# Maintainer: Eric Bélanger <eric@archlinux.org> +# Maintainer: Aaron Griffin <aaron@archlinux.org> + +pkgname=syslog-ng +pkgver=3.3.3 +pkgrel=1 +pkgdesc="Next-generation syslogd with advanced networking and filtering capabilities" +arch=('i686' 'x86_64') +license=('GPL2') +groups=('base') +url="http://www.balabit.com/network-security/syslog-ng/" +depends=('glib2' 'eventlog' 'openssl' 'libcap' 'awk') +makedepends=('flex' 'pkg-config') +optdepends=('logrotate: for rotating log files') +provides=('logger') +options=('!libtool') +backup=('etc/syslog-ng/modules.conf' 'etc/syslog-ng/scl.conf' \ + 'etc/syslog-ng/syslog-ng.conf' 'etc/logrotate.d/syslog-ng') +source=("http://www.balabit.com/downloads/files/syslog-ng/sources/$pkgver/source/${pkgname}_$pkgver.tar.gz" + syslog-ng.conf + syslog-ng.logrotate + syslog-ng.rc) +sha1sums=('e2ec8ba4bde24809630a7675bf5d97f00be467f8' + '98074e0facfc6ef036202662cc86d04b38a2c142' + '949128fe3d7f77a7aab99048061f885bc758000c' + 'a6ad26912b5bcbe1b47b003309945d733613b98f') + +build() { + cd "$pkgname-$pkgver" + + ./configure \ + --prefix=/usr \ + --sysconfdir=/etc/syslog-ng \ + --libexecdir=/usr/lib \ + --localstatedir=/var/lib/syslog-ng \ + --with-pidfile-dir=/run \ + --disable-spoof-source \ + --enable-systemd \ + --with-systemdsystemunitdir=/lib/systemd/system + + make +} + +package() { + make -C "$pkgname-$pkgver" DESTDIR="$pkgdir" install + + install -dm755 "$pkgdir/var/lib/syslog-ng" "$pkgdir/etc/syslog-ng/patterndb.d" + install -Dm644 "$srcdir/syslog-ng.conf" "$pkgdir/etc/syslog-ng/syslog-ng.conf" + install -Dm644 "$srcdir/syslog-ng.logrotate" "$pkgdir/etc/logrotate.d/syslog-ng" + install -Dm755 "$srcdir/syslog-ng.rc" "$pkgdir/etc/rc.d/syslog-ng" +} diff --git a/testing/syslog-ng/syslog-ng.conf b/testing/syslog-ng/syslog-ng.conf new file mode 100644 index 000000000..8f86eac2f --- /dev/null +++ b/testing/syslog-ng/syslog-ng.conf @@ -0,0 +1,92 @@ +@version: 3.3 +# +# /etc/syslog-ng/syslog-ng.conf +# + +options { + stats_freq (0); + flush_lines (0); + time_reopen (10); + log_fifo_size (10000); + chain_hostnames (off); + use_dns (no); + use_fqdn (no); + create_dirs (no); + keep_hostname (yes); + perm(0640); + group("log"); +}; + +source src { + unix-dgram("/dev/log"); + internal(); + file("/proc/kmsg"); +}; + +destination d_authlog { file("/var/log/auth.log"); }; +destination d_syslog { file("/var/log/syslog.log"); }; +destination d_cron { file("/var/log/crond.log"); }; +destination d_daemon { file("/var/log/daemon.log"); }; +destination d_kernel { file("/var/log/kernel.log"); }; +destination d_lpr { file("/var/log/lpr.log"); }; +destination d_user { file("/var/log/user.log"); }; +destination d_uucp { file("/var/log/uucp.log"); }; +destination d_mail { file("/var/log/mail.log"); }; +destination d_news { file("/var/log/news.log"); }; +destination d_ppp { file("/var/log/ppp.log"); }; +destination d_debug { file("/var/log/debug.log"); }; +destination d_messages { file("/var/log/messages.log"); }; +destination d_errors { file("/var/log/errors.log"); }; +destination d_everything { file("/var/log/everything.log"); }; +destination d_iptables { file("/var/log/iptables.log"); }; +destination d_acpid { file("/var/log/acpid.log"); }; +destination d_console { usertty("root"); }; + +# Log everything to tty12 +destination console_all { file("/dev/tty12"); }; + +filter f_auth { facility(auth); }; +filter f_authpriv { facility(auth, authpriv); }; +filter f_syslog { program(syslog-ng); }; +filter f_cron { facility(cron); }; +filter f_daemon { facility(daemon); }; +filter f_kernel { facility(kern) and not filter(f_iptables); }; +filter f_lpr { facility(lpr); }; +filter f_mail { facility(mail); }; +filter f_news { facility(news); }; +filter f_user { facility(user); }; +filter f_uucp { facility(uucp); }; +filter f_ppp { facility(local2); }; +filter f_debug { not facility(auth, authpriv, news, mail); }; +filter f_messages { level(info..warn) and not facility(auth, authpriv, mail, news, cron) and not program(syslog-ng) and not filter(f_iptables); }; +filter f_everything { level(debug..emerg) and not facility(auth, authpriv); }; +filter f_emergency { level(emerg); }; +filter f_info { level(info); }; +filter f_notice { level(notice); }; +filter f_warn { level(warn); }; +filter f_crit { level(crit); }; +filter f_err { level(err); }; +filter f_iptables { match("IN=" value("MESSAGE")) and match("OUT=" value("MESSAGE")); }; +filter f_acpid { program("acpid"); }; + +log { source(src); filter(f_acpid); destination(d_acpid); }; +log { source(src); filter(f_authpriv); destination(d_authlog); }; +log { source(src); filter(f_syslog); destination(d_syslog); }; +log { source(src); filter(f_cron); destination(d_cron); }; +log { source(src); filter(f_daemon); destination(d_daemon); }; +log { source(src); filter(f_kernel); destination(d_kernel); }; +log { source(src); filter(f_lpr); destination(d_lpr); }; +log { source(src); filter(f_mail); destination(d_mail); }; +log { source(src); filter(f_news); destination(d_news); }; +log { source(src); filter(f_ppp); destination(d_ppp); }; +log { source(src); filter(f_user); destination(d_user); }; +log { source(src); filter(f_uucp); destination(d_uucp); }; +#log { source(src); filter(f_debug); destination(d_debug); }; +log { source(src); filter(f_messages); destination(d_messages); }; +log { source(src); filter(f_err); destination(d_errors); }; +log { source(src); filter(f_emergency); destination(d_console); }; +log { source(src); filter(f_everything); destination(d_everything); }; +log { source(src); filter(f_iptables); destination(d_iptables); }; + +# Log everything to tty12 +#log { source(src); destination(console_all); }; diff --git a/testing/syslog-ng/syslog-ng.logrotate b/testing/syslog-ng/syslog-ng.logrotate new file mode 100644 index 000000000..3509f2970 --- /dev/null +++ b/testing/syslog-ng/syslog-ng.logrotate @@ -0,0 +1,7 @@ +/var/log/messages.log /var/log/auth.log /var/log/mail.log /var/log/kernel.log /var/log/errors.log /var/log/daemon.log /var/log/user.log /var/log/iptables.log /var/log/everything.log /var/log/syslog.log /var/log/acpid.log /var/log/crond.log /var/log/lpr.log /var/log/uucp.log /var/log/news.log /var/log/ppp.log /var/log/debug.log { + missingok + sharedscripts + postrotate + /bin/kill -HUP $(cat /run/syslog-ng.pid 2>/dev/null) 2>/dev/null || true + endscript +} diff --git a/testing/syslog-ng/syslog-ng.rc b/testing/syslog-ng/syslog-ng.rc new file mode 100755 index 000000000..516b03da3 --- /dev/null +++ b/testing/syslog-ng/syslog-ng.rc @@ -0,0 +1,66 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +checkconfig() { + if ! syslog-ng -s -f /etc/syslog-ng/syslog-ng.conf; then + stat_fail + exit 1 + fi +} + +pidfile=/run/syslog-ng.pid +if [[ -r $pidfile ]]; then + read -r PID < "$pidfile" + if [[ $PID && ! -d /proc/$PID ]]; then + # stale pidfile + unset PID + rm -f "$pidfile" + fi +fi + +case $1 in + start) + stat_busy "Starting Syslog-NG" + checkconfig + if [[ -z $PID ]] && /usr/sbin/syslog-ng; then + add_daemon syslog-ng + stat_done + else + stat_fail + exit 1 + fi + ;; + stop) + stat_busy "Stopping Syslog-NG" + if [[ $PID ]] && kill $PID &>/dev/null; then + rm_daemon syslog-ng + stat_done + else + stat_fail + exit 1 + fi + ;; + reload) + stat_busy "Reloading Syslog-NG configuration and re-opening log files" + if [[ -z $PID ]]; then + stat_fail + else + checkconfig + if kill -HUP $PID &>/dev/null; then + stat_done + else + stat_fail + exit 1 + fi + fi + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart|reload}" +esac diff --git a/testing/ypserv/PKGBUILD b/testing/ypserv/PKGBUILD new file mode 100644 index 000000000..25b52721f --- /dev/null +++ b/testing/ypserv/PKGBUILD @@ -0,0 +1,37 @@ +# $Id: PKGBUILD 143484 2011-11-24 17:03:26Z stephane $ +# Maintainer: Gaetan Bisson <bisson@archlinux.org> +# Contributor: judd <jvinet@zeroflux.org> +# Contributor: Tom Newsom <Jeepster@gmx.co.uk> + +pkgname=ypserv +pkgver=2.26 +pkgrel=2 +pkgdesc='Linux NIS Server' +arch=('i686' 'x86_64') +url='http://www.linux-nis.org/nis/ypserv/' +license=('GPL2') +depends=('gdbm' 'openslp') +backup=('etc/ypserv.conf' 'etc/netgroup' 'var/yp/securenets') +source=("ftp://ftp.kernel.org/pub/linux/utils/net/NIS/${pkgname}-${pkgver}.tar.gz" \ + 'yppasswd' + 'ypserv') +sha1sums=('0d7ab3f04ff7fa5f611e71ea0f3c188659602743' + '96192b628afe36709496e4801d016c4bff343f0e' + 'b625381bfa6cf62345377a7df30b8f45935206c5') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install + + install -D -m644 etc/netgroup "${pkgdir}"/etc/netgroup + install -D -m644 etc/ypserv.conf "${pkgdir}"/etc/ypserv.conf + install -D -m644 etc/securenets "${pkgdir}"/var/yp/securenets + install -D -m755 ../ypserv "${pkgdir}"/etc/rc.d/ypserv + install -D -m755 ../yppasswd "${pkgdir}"/etc/rc.d/yppasswd +} diff --git a/testing/ypserv/yppasswd b/testing/ypserv/yppasswd new file mode 100755 index 000000000..c2b00b2ca --- /dev/null +++ b/testing/ypserv/yppasswd @@ -0,0 +1,34 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +case "$1" in + start) + stat_busy "Starting NIS Password Daemon" + /usr/sbin/rpc.yppasswdd + if [ $? -gt 0 ]; then + stat_fail + else + add_daemon yppasswd + stat_done + fi + ;; + stop) + stat_busy "Stopping NIS Password Daemon" + killall -q /usr/sbin/rpc.yppasswdd + if [ $? -gt 0 ]; then + stat_fail + else + rm_daemon yppasswd + stat_done + fi + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac diff --git a/testing/ypserv/ypserv b/testing/ypserv/ypserv new file mode 100755 index 000000000..c36e6901b --- /dev/null +++ b/testing/ypserv/ypserv @@ -0,0 +1,34 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +case "$1" in + start) + stat_busy "Starting NIS Server" + /usr/sbin/ypserv + if [ $? -gt 0 ]; then + stat_fail + else + add_daemon ypserv + stat_done + fi + ;; + stop) + stat_busy "Stopping NIS Server" + killall -q /usr/sbin/ypserv + if [ $? -gt 0 ]; then + stat_fail + else + rm_daemon ypserv + stat_done + fi + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac diff --git a/testing/zsh/PKGBUILD b/testing/zsh/PKGBUILD new file mode 100644 index 000000000..35561cb90 --- /dev/null +++ b/testing/zsh/PKGBUILD @@ -0,0 +1,58 @@ +# $Id: PKGBUILD 143486 2011-11-24 17:03:28Z stephane $ +# Maintainer: Pierre Schmitz <pierre@archlinux.de> + +pkgname=zsh +pkgver=4.3.12 +pkgrel=3 +pkgdesc='A very advanced and programmable command interpreter (shell) for UNIX' +arch=('i686' 'x86_64') +url='http://www.zsh.org/' +license=('custom') +depends=('pcre' 'libcap' 'gdbm') +install=zsh.install +source=("ftp://ftp.zsh.org/pub/${pkgname}-${pkgver}.tar.bz2" 'modules.patch') +md5sums=('7a82c0bf0635e046ca4e9ec1bdef3811' + 'b367c1398b60242f7044a93a837227f9') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + # upstream patch to fix handling of compressed kernel modules + patch -p1 -i ${srcdir}/modules.patch + # FS#16360 + sed -i 's/init.d/rc.d/g' Doc/Zsh/compsys.yo \ + Doc/zsh.texi \ + Completion/Unix/Type/_services \ + Completion/Unix/Command/_init_d + ./configure --prefix=/usr \ + --bindir=/bin \ + --enable-etcdir=/etc/zsh \ + --enable-zshenv=/etc/zsh/zshenv \ + --enable-zlogin=/etc/zsh/zlogin \ + --enable-zlogout=/etc/zsh/zlogout \ + --enable-zprofile=/etc/profile \ + --enable-zshrc=/etc/zsh/zshrc \ + --enable-maildir-support \ + --with-term-lib='ncursesw' \ + --enable-multibyte \ + --enable-function-subdirs \ + --enable-fndir=/usr/share/zsh/functions \ + --enable-scriptdir=/usr/share/zsh/scripts \ + --with-tcsetpgrp \ + --enable-pcre \ + --enable-cap \ + --enable-zsh-secure-free + make +} + +check() { + cd "${srcdir}/${pkgname}-${pkgver}" + # This test wont work with the noatime mount option + rm Test/C02cond.ztst + HOME="${srcdir}" make check +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}/" install + install -D -m644 LICENCE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" +} diff --git a/testing/zsh/modules.patch b/testing/zsh/modules.patch new file mode 100644 index 000000000..315d40b98 --- /dev/null +++ b/testing/zsh/modules.patch @@ -0,0 +1,11 @@ +--- a/Completion/Linux/Command/_modutils ++++ b/Completion/Linux/Command/_modutils +@@ -107,7 +107,7 @@ case "$state" in + ! _retrieve_cache modules-$kver; + then + # 2011-01-02 gi1242: Do we need .o files? Or is .ko enough? +- modules=( $modules_dir/$kver/(*~(source|build))/**/*.(o|ko)(.:t:r) ) ++ modules=( $modules_dir/$kver/(*~(source|build))/**/*.(o|ko|ko.gz)(.:t:r:r) ) + _store_cache modules-$kver modules + fi + diff --git a/testing/zsh/zsh.install b/testing/zsh/zsh.install new file mode 100644 index 000000000..e2a53bea8 --- /dev/null +++ b/testing/zsh/zsh.install @@ -0,0 +1,11 @@ +post_install() { + grep -q '/bin/zsh' etc/shells || echo '/bin/zsh' >> etc/shells +} + +post_upgrade() { + post_install +} + +pre_remove() { + sed -i '/^\/bin\/zsh/d' etc/shells +} |