diff options
292 files changed, 18588 insertions, 552 deletions
diff --git a/community-staging/blender/PKGBUILD b/community-staging/blender/PKGBUILD new file mode 100644 index 000000000..0f23b4ae5 --- /dev/null +++ b/community-staging/blender/PKGBUILD @@ -0,0 +1,102 @@ +# $Id: PKGBUILD 145008 2011-12-14 03:12:03Z eric $ +# Contributor: John Sowiak <john@archlinux.org> +# Contributor: tobias <tobias@archlinux.org> +# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com> + +# Apparently, the blender guys refuse to release source tarballs for +# intermediate releases that deal mainly with binaries but incorporate tiny +# minor changes from svn. Since I'm sick and tired of the urges of users that +# look for release numbers only, we make a messy PKGBUILD that can checkout svn +# release if necessary. + +#_svn=true +_svn=false + +pkgname=blender +pkgver=2.61 +pkgrel=4 +epoch=3 +pkgdesc="A fully integrated 3D graphics creation suite" +arch=('i686' 'x86_64') +license=('GPL') +url="http://www.blender.org" +depends=('libpng' 'libtiff' 'openexr' 'python' 'desktop-file-utils' \ + 'shared-mime-info' 'hicolor-icon-theme' 'xdg-utils' 'glew' \ + 'freetype2' 'openal' 'ffmpeg' 'fftw' 'boost-libs' 'opencollada' 'openimageio') +makedepends=('cmake' 'boost' 'cuda-toolkit') +optdepends=('cuda-toolkit: cycles renderer cuda support') +options=(!strip) +install=blender.install +if [ $_svn = false ]; then + source=(http://download.blender.org/source/$pkgname-$pkgver.tar.gz) + md5sums=('11a4721ff92286f678bb2e05e5f29c97') +else + source=(ftp://ftp.archlinux.org/other/${pkgname}/$pkgname-$pkgver.tar.xz) + md5sums=('7579d1139d0d6025df8afcfca64a65c4') +fi + +# source PKGBUILD && mksource +mksource() { + [[ -x /usr/bin/svn ]] || (echo "svn not found. Install subversion." && return 1) + _svnver=38016 + _svntrunk="https://svn.blender.org/svnroot/bf-blender/trunk/blender" + _svnmod="$pkgname-$pkgver" + mkdir ${pkgname}-$pkgver + pushd ${pkgname}-$pkgver + svn co $_svntrunk --config-dir ./ -r $_svnver $_svnmod + find . -depth -type d -name .svn -exec rm -rf {} \; + tar -cJf ../${pkgname}-$pkgver.tar.xz ${pkgname}-$pkgver/* + popd +} + +build() { + cd "$srcdir/$pkgname-$pkgver" + mkdir build + cd build + + [[ $CARCH == i686 ]] && ENABLESSE2="-DSUPPORT_SSE2_BUILD:BOOL=OFF" + + cmake .. \ + -DCMAKE_INSTALL_PREFIX:PATH=/usr \ + -DCMAKE_BUILD_TYPE:STRING=Release \ + -DWITH_INSTALL_PORTABLE:BOOL=OFF \ + -DWITH_PYTHON_INSTALL:BOOL=OFF \ + -DWITH_OPENCOLLADA:BOOL=ON \ + -DOPENIMAGEIO_ROOT_DIR:STRING=/usr \ + -DWITH_GAMEENGINE:BOOL=ON \ + -DWITH_PLAYER:BOOL=ON \ + -DWITH_BUILTIN_GLEW:BOOL=OFF \ + -DWITH_CODEC_FFMPEG:BOOL=ON \ + -DWITH_CODEC_SNDFILE:BOOL=ON \ + -DWITH_CYCLES:BOOL=ON \ + -DWITH_CYCLES_CUDA_BINARIES:BOOL=ON \ + -DCUDA_TOOLKIT_ROOT_DIR:STRING=/opt/cuda-toolkit/ \ + -DWITH_FFTW3:BOOL=ON \ + -DWITH_MOD_OCEANSIM:BOOL=ON \ + -DPYTHON_VERSION:STRING=3.2 \ + -DPYTHON_LIBPATH:STRING=/usr/lib \ + -DPYTHON_LIBRARY:STRING=python3.2mu \ + -DPYTHON_INCLUDE_DIRS:STRING=/usr/include/python3.2mu \ + $ENABLESSE2 + + make $MAKEFLAGS + + cp -rf "$srcdir"/${pkgname}-$pkgver/release/plugins/* \ + "$srcdir"/${pkgname}-$pkgver/source/blender/blenpluginapi/ + cd "$srcdir"/${pkgname}-$pkgver/source/blender/blenpluginapi + chmod 755 bmake + make +} + +package() { + cd "$srcdir/$pkgname-$pkgver/build" + make DESTDIR="${pkgdir}" install + python -m compileall "${pkgdir}/usr/share/blender" + +# install plugins + install -d -m755 "$pkgdir"/usr/share/blender/${pkgver%[a-z]}/plugins/{sequence,texture} + cp "$srcdir"/${pkgname}-$pkgver/source/blender/blenpluginapi/sequence/*.so \ + "$pkgdir"/usr/share/blender/${pkgver%[a-z]}/plugins/sequence/ + cp "$srcdir"/${pkgname}-$pkgver/source/blender/blenpluginapi/texture/*.so \ + "$pkgdir"/usr/share/blender/${pkgver%[a-z]}/plugins/texture/ +} diff --git a/community-staging/blender/blender.install b/community-staging/blender/blender.install new file mode 100644 index 000000000..724bfce00 --- /dev/null +++ b/community-staging/blender/blender.install @@ -0,0 +1,13 @@ +post_install() { + update-desktop-database -q + update-mime-database usr/share/mime &> /dev/null + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/community-staging/gambas2/PKGBUILD b/community-staging/gambas2/PKGBUILD new file mode 100644 index 000000000..32892b79a --- /dev/null +++ b/community-staging/gambas2/PKGBUILD @@ -0,0 +1,950 @@ +# $Id: PKGBUILD 62476 2012-01-20 08:43:11Z lcarlier $ +# Maintainer : Laurent Carlier <lordheavym@gmail.com> +# Contributor: Biru Ionut <ionut@archlinux.ro> +# Contributor: Andrea Scarpino <andrea@archlinux.org> +# Contributor: Giovanni Scafora <giovanni@archlinux.org> +# Contributor: Douglas Soares de Andrade <dsa@aur.archlinux.org> +# Contributor: Toni Foerster <stonerl@skeps.de> + +pkgbase="gambas2" +pkgname=('gambas2-meta' 'gambas2-runtime' 'gambas2-devel' 'gambas2-ide' 'gambas2-examples' 'gambas2-help' + 'gambas2-script' 'gambas2-gb-chart' 'gambas2-gb-compress' 'gambas2-gb-corba' 'gambas2-gb-crypt' + 'gambas2-gb-db' 'gambas2-gb-db-firebird' 'gambas2-gb-db-form' 'gambas2-gb-db-mysql' + 'gambas2-gb-db-odbc' 'gambas2-gb-db-postgresql' 'gambas2-gb-db-sqlite2' 'gambas2-gb-db-sqlite3' + 'gambas2-gb-desktop' 'gambas2-gb-form' 'gambas2-gb-form-dialog' 'gambas2-gb-form-mdi' + 'gambas2-gb-gtk' 'gambas2-gb-gtk-ext' 'gambas2-gb-gtk-svg' 'gambas2-gb-gui' + 'gambas2-gb-image' 'gambas2-gb-info' 'gambas2-gb-net' 'gambas2-gb-net-curl' + 'gambas2-gb-net-smtp' 'gambas2-gb-opengl' 'gambas2-gb-option' 'gambas2-gb-pcre' + 'gambas2-gb-pdf' 'gambas2-gb-qt' 'gambas2-gb-qt-ext' 'gambas2-gb-qt-opengl' + 'gambas2-gb-qt-kde' 'gambas2-gb-qt-kde-html' 'gambas2-gb-report' 'gambas2-gb-sdl' + 'gambas2-gb-sdl-sound' 'gambas2-gb-settings' 'gambas2-gb-v4l' 'gambas2-gb-vb' + 'gambas2-gb-web' 'gambas2-gb-xml' 'gambas2-gb-xml-rpc' 'gambas2-gb-xml-xslt') +pkgver=2.23.1 +pkgrel=7 +pkgdesc="A free development environment based on a Basic interpreter." +arch=('i686' 'x86_64') +url="http://gambas.sourceforge.net" +depends=('libffi' 'bzip2' 'libfbclient' 'zlib' 'kdelibs3' 'libgl' 'gtk2' 'librsvg' 'xdg-utils' + 'postgresql-libs>=8.4.1' 'libmysqlclient' 'unixodbc' 'sqlite2' 'sqlite3' + 'curl' 'poppler-glib' 'sdl_mixer' 'sdl_image' 'libxtst' 'pcre' 'omniorb' 'libxft' + 'libxcursor' 'libsm') +makedepends=('intltool' 'mysql' 'postgresql') +license=('GPL2') +options=('!emptydirs' '!makeflags') +groups=('gambas2') +replaces=('gambas2') +conflicts=('gambas2') +source=(http://downloads.sourceforge.net/gambas/$pkgbase-$pkgver.tar.bz2 + 'fix-gbi-gba-path.patch' 'db.firebird.gcc-4.6.0-fix.patch' + 'poppler-0.18.patch' + 'gambas2-script.install' 'gambas2-runtime.install') +md5sums=('ff8d2c1f310222c150b114e7ce247dfd' + '9dda03a1bbfb7e7ba8b6a4ae91b6752b' + 'ac9703b390502ed3242c8d34485c9236' + 'a551b4b216bbdb3489f3c264bf73ee66' + '870ff5b4b33cd75aa9c290539e6fdd5d' + 'ab5667175c4945282d2f40a35d0e9e5b') +_gbfiles="${srcdir}/$pkgbase-$pkgver/main/gbc" + +_buildgbcomp() { + cd ${srcdir}/${pkgbase}-${pkgver}/comp/src/$1 + ${srcdir}/${pkgbase}-${pkgver}/main/gbc/gbc2 -ag -r ${pkgdir}/usr + ${srcdir}/${pkgbase}-${pkgver}/main/gbc/gba2 + install $1.gambas ${pkgdir}/usr/lib/gambas2/ + install .component ${pkgdir}/usr/lib/gambas2/$1.component + chmod a-x ${pkgdir}/usr/lib/gambas2/$1.component + install .info ${pkgdir}/usr/share/gambas2/info/$1.info + chmod a-x ${pkgdir}/usr/share/gambas2/info/$1.info + install .list ${pkgdir}/usr/share/gambas2/info/$1.list + chmod a-x ${pkgdir}/usr/share/gambas2/info/$1.list + if test -d control; then + install -d ${pkgdir}/usr/share/gambas2/control/$1 + install control/*.png ${pkgdir}/usr/share/gambas2/control/$1 + chmod a-x ${pkgdir}/usr/share/gambas2/control/$1/*.png + fi +} + +build() { + cd "${srcdir}/$pkgbase-$pkgver" + + ## workaround to allow package splitting + msg "Applying patches ..." + patch -Np1 -i "${srcdir}/fix-gbi-gba-path.patch" + # merged upstream + patch -Np3 -i "${srcdir}/db.firebird.gcc-4.6.0-fix.patch" + patch -Np2 -i "${srcdir}/poppler-0.18.patch" + ./reconf-all + ## + + . /etc/profile.d/kde3.sh + . /etc/profile.d/qt3.sh + + ./configure -C --disable-qte --prefix=/usr + make bindir=${pkgdir}/usr/bin +} + +package_gambas2-meta() { + depends=('gambas2-runtime' 'gambas2-devel' 'gambas2-ide' 'gambas2-examples' 'gambas2-help' + 'gambas2-script' 'gambas2-gb-chart' 'gambas2-gb-compress' 'gambas2-gb-corba' 'gambas2-gb-crypt' + 'gambas2-gb-db' 'gambas2-gb-db-firebird' 'gambas2-gb-db-form' 'gambas2-gb-db-mysql' + 'gambas2-gb-db-odbc' 'gambas2-gb-db-postgresql' 'gambas2-gb-db-sqlite2' 'gambas2-gb-db-sqlite3' + 'gambas2-gb-desktop' 'gambas2-gb-form' 'gambas2-gb-form-dialog' 'gambas2-gb-form-mdi' + 'gambas2-gb-gtk' 'gambas2-gb-gtk-ext' 'gambas2-gb-gtk-svg' 'gambas2-gb-gui' + 'gambas2-gb-image' 'gambas2-gb-info' 'gambas2-gb-net' 'gambas2-gb-net-curl' + 'gambas2-gb-net-smtp' 'gambas2-gb-opengl' 'gambas2-gb-option' 'gambas2-gb-pcre' + 'gambas2-gb-pdf' 'gambas2-gb-qt' 'gambas2-gb-qt-ext' 'gambas2-gb-qt-opengl' + 'gambas2-gb-qt-kde' 'gambas2-gb-qt-kde-html' 'gambas2-gb-report' 'gambas2-gb-sdl' + 'gambas2-gb-sdl-sound' 'gambas2-gb-settings' 'gambas2-gb-v4l' 'gambas2-gb-vb' + 'gambas2-gb-web' 'gambas2-gb-xml' 'gambas2-gb-xml-rpc' 'gambas2-gb-xml-xslt') + pkgdesc="Gambas2 meta package" +} + +package_gambas2-runtime() { + depends=('libffi' 'xdg-utils') + pkgdesc="Gambas2 runtime environment" + install=gambas2-runtime.install + + cd ${srcdir}/${pkgbase}-${pkgver}/main/gbx + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install + cd ${srcdir}/${pkgbase}-${pkgver}/main/lib/debug + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install + cd ${srcdir}/${pkgbase}-${pkgver}/main/lib/eval + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install + cd ${srcdir}/${pkgbase}-${pkgver}/main/lib/draw + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install + + install -D -m644 ${srcdir}/${pkgbase}-${pkgver}/main/lib/gb.component \ + ${pkgdir}/usr/lib/gambas2 + ln -s gbx2 ${pkgdir}/usr/bin/gbr2 + ${srcdir}/${pkgbase}-${pkgver}/main/gbc/gbi2 -r ${pkgdir}/usr gb + rm -f ${pkgdir}/usr/lib/gambas2/gb.{so*,la} + + ## needed for postinst with xdg-utils + install -d -m755 ${pkgdir}/usr/share/gambas2/mime + install -D -m644 ${srcdir}/${pkgbase}-${pkgver}/main/mime/* \ + ${pkgdir}/usr/share/gambas2/mime/ + install -d -m755 ${pkgdir}/usr/share/gambas2/icons + install -D -m644 ${srcdir}/${pkgbase}-${pkgver}/main/mime/application-x-gambas.png \ + ${pkgdir}/usr/share/gambas2/icons/application-x-gambas.png +} + +package_gambas2-devel() { + depends=('gambas2-runtime') + pkgdesc="Gambas2 development environment" + + cd ${srcdir}/${pkgbase}-${pkgver}/main/gbc + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install +} + +package_gambas2-ide() { + depends=('gambas2-gb-qt-ext' 'gambas2-gb-form-dialog' 'gambas2-gb-form-mdi' 'gambas2-gb-settings' + 'gambas2-gb-db' 'gambas2-gb-desktop' 'gambas2-devel') + pkgdesc="Gambas2 Integrated Development Environment" +# arch=('any') + + ## workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main/gbx + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install + cd ${srcdir}/${pkgbase}-${pkgver}/main/lib/eval + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install + cd ${srcdir}/${pkgbase}-${pkgver}/main/lib/debug + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install + ${srcdir}/${pkgbase}-${pkgver}/main/gbc/gbi2 -r ${pkgdir}/usr gb + cd ${srcdir}/${pkgbase}-${pkgver}/main/lib/draw + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install + ${srcdir}/${pkgbase}-${pkgver}/main/gbc/gbi2 -r ${pkgdir}/usr gb + cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install + cd ${srcdir}/${pkgbase}-${pkgver}/main/lib/db + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install + cd ${srcdir}/${pkgbase}-${pkgver}/main/lib/gui + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install + ${srcdir}/${pkgbase}-${pkgver}/main/gbc/gbi2 -r ${pkgdir}/usr + _buildgbcomp gb.form + _buildgbcomp gb.form.dialog + _buildgbcomp gb.form.mdi + _buildgbcomp gb.settings + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/app/src/gambas2 + ${srcdir}/${pkgbase}-${pkgver}/main/gbc/gbc2 -ag -r ${pkgdir}/usr + ${srcdir}/${pkgbase}-${pkgver}/main/gbc/gba2 + cd ${srcdir}/${pkgbase}-${pkgver}/app/src/gambas2-database-manager + ${srcdir}/${pkgbase}-${pkgver}/main/gbc/gbc2 -ag -r ${pkgdir}/usr + ${srcdir}/${pkgbase}-${pkgver}/main/gbc/gba2 + cd ${srcdir}/${pkgbase}-${pkgver}/app/src/ + + ## cleanup the workaround + rm -r ${pkgdir}/usr/share ${pkgdir}/usr/lib + rm ${pkgdir}/usr/bin/gbx2 + ## + + install -m755 gambas2/gambas2.gambas ${pkgdir}/usr/bin + install -m755 gambas2-database-manager/gambas2-database-manager.gambas ${pkgdir}/usr/bin + ln -s gambas2.gambas ${pkgdir}/usr/bin/gambas2 + install -D -m644 ${srcdir}/${pkgbase}-${pkgver}/app/desktop/gambas2.desktop \ + ${pkgdir}/usr/share/applications/gambas2.desktop + install -D -m644 ${srcdir}/${pkgbase}-${pkgver}/app/desktop/gambas2.png \ + ${pkgdir}/usr/share/pixmaps/gambas2.png +} + +package_gambas2-examples() { + depends=('gambas2-gb-compress' 'gambas2-gb-corba' 'gambas2-gb-crypt' + 'gambas2-gb-db-firebird' 'gambas2-gb-db-form' 'gambas2-gb-db-mysql' + 'gambas2-gb-db-odbc' 'gambas2-gb-db-postgresql' 'gambas2-gb-db-sqlite2' 'gambas2-gb-db-sqlite3' + 'gambas2-gb-desktop' 'gambas2-gb-form-dialog' 'gambas2-gb-form-mdi' + 'gambas2-gb-gtk-ext' 'gambas2-gb-gtk-svg' 'gambas2-gb-gui' + 'gambas2-gb-image' 'gambas2-gb-info' 'gambas2-gb-net' 'gambas2-gb-net-curl' + 'gambas2-gb-net-smtp' 'gambas2-gb-opengl' 'gambas2-gb-option' 'gambas2-gb-pcre' + 'gambas2-gb-pdf' 'gambas2-gb-qt-ext' 'gambas2-gb-qt-opengl' + 'gambas2-gb-qt-kde-html' 'gambas2-gb-report' 'gambas2-gb-sdl' + 'gambas2-gb-sdl-sound' 'gambas2-gb-settings' 'gambas2-gb-v4l' 'gambas2-gb-vb' + 'gambas2-gb-web' 'gambas2-gb-xml-rpc' 'gambas2-gb-xml-xslt') + pkgdesc="Gambas2 examples" +# arch=('any') + + cd ${srcdir}/${pkgbase}-${pkgver} + make XDG_UTILS='' DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install + + rm -r ${pkgdir}/usr/bin ${pkgdir}/usr/lib + rm -r ${pkgdir}/usr/share/gambas2/{help,info} +} + +package_gambas2-help() { + depends=() + pkgdesc="Gambas2 help files" +# arch=('any') + + cd ${srcdir}/${pkgbase}-${pkgver}/help + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install + + #fix help + chown root:root -R ${pkgdir}/usr/share/gambas2/help/help +} + +package_gambas2-script() { + depends=('gambas2-devel') + pkgdesc="Gambas2 scripter and server programs support" + install=gambas2-script.install +# arch=('any') + + ## workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main/gbx + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install + cd ${srcdir}/${pkgbase}-${pkgver}/main/lib/eval + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install + ${srcdir}/${pkgbase}-${pkgver}/main/gbc/gbi2 -r ${pkgdir}/usr gb + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/app/src/gbs2 + ${srcdir}/${pkgbase}-${pkgver}/main/gbc/gbc2 -ag -r ${pkgdir}/usr + ${srcdir}/${pkgbase}-${pkgver}/main/gbc/gba2 + install -m755 gbs2.gambas ${pkgdir}/usr/bin + + ln -s gbs2.gambas ${pkgdir}/usr/bin/gbs2 + ln -s gbs2.gambas ${pkgdir}/usr/bin/gbw2 + + ## cleanup the workaround + rm -r ${pkgdir}/usr/share ${pkgdir}/usr/lib + rm ${pkgdir}/usr/bin/gbx2 + ## + + ## needed for postinst with xdg-utils + cd ${srcdir}/${pkgbase}-${pkgver}/app/mime + install -d -m755 ${pkgdir}/usr/share/gambas2/mime + install -D -m644 *.xml ${pkgdir}/usr/share/gambas2/mime/ + install -D -m644 *.png ${pkgdir}/usr/share/gambas2/mime/ + ## +} + +package_gambas2-gb-chart() { + depends=('gambas2-gb-form') + pkgdesc="Gambas2 chart component" +# arch=('any') + + ## workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main/gbx + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install + mkdir -p ${pkgdir}/usr/share/gambas2/info + cd ${srcdir}/${pkgbase}-${pkgver}/main/lib/draw + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install + ${srcdir}/${pkgbase}-${pkgver}/main/gbc/gbi2 -r ${pkgdir}/usr gb + cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install + cd ${srcdir}/${pkgbase}-${pkgver}/main/lib/gui + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install + ${srcdir}/${pkgbase}-${pkgver}/main/gbc/gbi2 -r ${pkgdir}/usr + ## + + _buildgbcomp gb.form + _buildgbcomp gb.chart + + ## cleanup the workaround + rm ${pkgdir}/usr/share/gambas2/info/{gb.{info,list},gb.qt*,gb.gui*,gb.form*} + rm ${pkgdir}/usr/lib/gambas2/{gb.draw*,gb.qt*,gb.{so*,la},gb.gui*,gb.form*} + rm -rf ${pkgdir}/usr/bin + ## +} + +package_gambas2-gb-compress() { + depends=('gambas2-runtime' 'bzip2' 'zlib') + pkgdesc="Gambas2 compression support component" + + cd ${srcdir}/${pkgbase}-${pkgver}/main/lib/compress + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install + cd ${srcdir}/${pkgbase}-${pkgver}/gb.compress.bzlib2 + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install + cd ${srcdir}/${pkgbase}-${pkgver}/gb.compress.zlib + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install +} + +package_gambas2-gb-corba() { + depends=('gambas2-runtime' 'omniorb') + pkgdesc="Gambas2 corba component" + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.corba + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install +} + +package_gambas2-gb-crypt() { + depends=('gambas2-runtime') + pkgdesc="Gambas2 MD5/DES crypting component" + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.crypt + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install +} + +package_gambas2-gb-db() { + depends=('gambas2-runtime') + pkgdesc="Gambas2 database access component" + + cd ${srcdir}/${pkgbase}-${pkgver}/main/lib/db + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install +} + +package_gambas2-gb-db-firebird() { + depends=('gambas2-gb-db' 'libfbclient') + pkgdesc="Gambas2 Firebird database access component" + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.db.firebird + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install +} + +package_gambas2-gb-db-form() { + depends=('gambas2-gb-db' 'gambas2-gb-form') + pkgdesc="Gambas2 database form component" +# arch=('any') + + ## workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main/gbx + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install + mkdir -p ${pkgdir}/usr/share/gambas2/info + cd ${srcdir}/${pkgbase}-${pkgver}/main/lib/draw + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install + ${srcdir}/${pkgbase}-${pkgver}/main/gbc/gbi2 -r ${pkgdir}/usr gb + cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install + cd ${srcdir}/${pkgbase}-${pkgver}/main/lib/gui + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install + cd ${srcdir}/${pkgbase}-${pkgver}/main/lib/db + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install + ${srcdir}/${pkgbase}-${pkgver}/main/gbc/gbi2 -r ${pkgdir}/usr + ## + + _buildgbcomp gb.db.form + + ## cleanup the workaround + rm ${pkgdir}/usr/share/gambas2/info/{gb.{info,list},gb.qt*,gb.gui*,gb.db.{info,list}} + rm ${pkgdir}/usr/lib/gambas2/{gb.draw*,gb.qt*,gb.{so*,la},gb.gui*,gb.db.{so*,la,component}} + rm -rf ${pkgdir}/usr/bin + ## +} + +package_gambas2-gb-db-mysql() { + depends=('gambas2-gb-db' 'libmysqlclient') + pkgdesc="Gambas2 MySQL database access component" + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.db.mysql + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install +} + +package_gambas2-gb-db-odbc() { + depends=('gambas2-gb-db' 'unixodbc') + pkgdesc="Gambas2 ODBC database access component" + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.db.odbc + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install +} + +package_gambas2-gb-db-postgresql() { + depends=('gambas2-gb-db' 'postgresql-libs>=8.4.1') + pkgdesc="Gambas2 PostgreSQL database access component" + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.db.postgresql + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install +} + +package_gambas2-gb-db-sqlite2() { + depends=('gambas2-gb-db' 'sqlite2') + pkgdesc="Gambas2 Sqlite2 database access component" + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.db.sqlite2 + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install +} + +package_gambas2-gb-db-sqlite3() { + depends=('gambas2-gb-db' 'sqlite3') + pkgdesc="Gambas2 Sqlite3 database access component" + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.db.sqlite3 + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install +} + +package_gambas2-gb-desktop() { + depends=('gambas2-runtime' 'libsm' 'libxtst') + pkgdesc="Gambas2 desktop component" + + ## workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main/gbx + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install + mkdir -p ${pkgdir}/usr/share/gambas2/info + ${srcdir}/${pkgbase}-${pkgver}/main/gbc/gbi2 -r ${pkgdir}/usr gb + cd ${srcdir}/${pkgbase}-${pkgver}/main/lib/draw + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install + ${srcdir}/${pkgbase}-${pkgver}/main/gbc/gbi2 -r ${pkgdir}/usr gb + cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.desktop + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install + + ## cleanup the workaround + rm ${pkgdir}/usr/share/gambas2/info/{gb.{info,list},gb.qt*} + rm ${pkgdir}/usr/lib/gambas2/{gb.{so*,la},gb.qt*,gb.draw*} + rm -rf ${pkgdir}/usr/bin + ## +} + +package_gambas2-gb-form() { + depends=('gambas2-gb-gui') + pkgdesc="Gambas2 form component" +# arch=('any') + + ## workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main/gbx + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install + mkdir -p ${pkgdir}/usr/share/gambas2/info + cd ${srcdir}/${pkgbase}-${pkgver}/main/lib/draw + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install + ${srcdir}/${pkgbase}-${pkgver}/main/gbc/gbi2 -r ${pkgdir}/usr gb + cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install + cd ${srcdir}/${pkgbase}-${pkgver}/main/lib/gui + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install + ${srcdir}/${pkgbase}-${pkgver}/main/gbc/gbi2 -r ${pkgdir}/usr + ## + + _buildgbcomp gb.form + + ## cleanup the workaround + rm ${pkgdir}/usr/share/gambas2/info/{gb.{info,list},gb.qt*,gb.gui*} + rm ${pkgdir}/usr/lib/gambas2/{gb.draw*,gb.qt*,gb.{so*,la},gb.gui*} + rm -rf ${pkgdir}/usr/bin + ## +} + +package_gambas2-gb-form-dialog() { + depends=('gambas2-gb-form') + pkgdesc="Gambas2 form dialog component" +# arch=('any') + + ## workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main/gbx + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install + mkdir -p ${pkgdir}/usr/share/gambas2/info + cd ${srcdir}/${pkgbase}-${pkgver}/main/lib/draw + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install + ${srcdir}/${pkgbase}-${pkgver}/main/gbc/gbi2 -r ${pkgdir}/usr gb + cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install + cd ${srcdir}/${pkgbase}-${pkgver}/main/lib/gui + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install + ${srcdir}/${pkgbase}-${pkgver}/main/gbc/gbi2 -r ${pkgdir}/usr + ## + + _buildgbcomp gb.form + _buildgbcomp gb.form.dialog + + ## cleanup the workaround + rm ${pkgdir}/usr/share/gambas2/info/{gb.{info,list},gb.form.{info,list},gb.qt*,gb.gui*} + rm ${pkgdir}/usr/lib/gambas2/{gb.draw*,gb.qt*,gb.{so*,la},gb.form.{component,gambas},gb.gui*} + rm -rf ${pkgdir}/usr/bin + ## +} + +package_gambas2-gb-form-mdi() { + depends=('gambas2-gb-form') + pkgdesc="Gambas2 form MDI component" +# arch=('any') + + ## workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main/gbx + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install + mkdir -p ${pkgdir}/usr/share/gambas2/info + cd ${srcdir}/${pkgbase}-${pkgver}/main/lib/draw + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install + ${srcdir}/${pkgbase}-${pkgver}/main/gbc/gbi2 -r ${pkgdir}/usr gb + cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install + cd ${srcdir}/${pkgbase}-${pkgver}/main/lib/gui + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install + ${srcdir}/${pkgbase}-${pkgver}/main/gbc/gbi2 -r ${pkgdir}/usr + ## + + _buildgbcomp gb.form + _buildgbcomp gb.form.mdi + + ## cleanup the workaround + rm ${pkgdir}/usr/share/gambas2/info/{gb.{info,list},gb.form.{info,list},gb.qt*,gb.gui*} + rm ${pkgdir}/usr/lib/gambas2/{gb.draw*,gb.qt*,gb.{so*,la},gb.form.{component,gambas},gb.gui*} + rm -rf ${pkgdir}/usr/bin + ## +} + +package_gambas2-gb-gtk() { + depends=('gambas2-runtime' 'gtk2') + pkgdesc="Gambas2 graphical GTK+ toolkit component" + + ## workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main/gbx + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install + mkdir -p ${pkgdir}/usr/share/gambas2/info + cd ${srcdir}/${pkgbase}-${pkgver}/main/lib/draw + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install + ${srcdir}/${pkgbase}-${pkgver}/main/gbc/gbi2 -r ${pkgdir}/usr gb + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.gtk + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install + + ## cleanup the workaround + rm ${pkgdir}/usr/share/gambas2/info/{gb.{info,list},gb.gtk.ext*} + rm ${pkgdir}/usr/lib/gambas2/{gb.draw*,gb.gtk.ext*,gb.{so*,la}} + rm -rf ${pkgdir}/usr/bin + ## +} + +package_gambas2-gb-gtk-ext() { + depends=('gambas2-gb-gtk') + pkgdesc="Gambas2 graphical GTK+ toolkit extension component" + + ## workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main/gbx + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install + mkdir -p ${pkgdir}/usr/share/gambas2/info + ${srcdir}/${pkgbase}-${pkgver}/main/gbc/gbi2 -r ${pkgdir}/usr gb + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.gtk/src/ext + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install + + ## cleanup the workaround + rm ${pkgdir}/usr/share/gambas2/info/gb.{info,list} + rm ${pkgdir}/usr/lib/gambas2/gb.{so*,la} + rm -rf ${pkgdir}/usr/bin + ## +} + +package_gambas2-gb-gtk-svg() { + depends=('gambas2-gb-gtk' 'librsvg') + pkgdesc="Gambas2 graphical GTK+ toolkit svg component" + + ## workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main/gbx + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install + mkdir -p ${pkgdir}/usr/share/gambas2/info + ${srcdir}/${pkgbase}-${pkgver}/main/gbc/gbi2 -r ${pkgdir}/usr gb + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.gtk.svg + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install + + ## cleanup the workaround + rm ${pkgdir}/usr/share/gambas2/info/gb.{info,list} + rm ${pkgdir}/usr/lib/gambas2/gb.{so*,la} + rm -rf ${pkgdir}/usr/bin + ## +} + +package_gambas2-gb-gui() { + depends=('gambas2-gb-qt' 'gambas2-gb-gtk') + pkgdesc="Gambas2 automatic gui toolkit chooser" + + ## workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main/gbx + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install + mkdir -p ${pkgdir}/usr/share/gambas2/info + cd ${srcdir}/${pkgbase}-${pkgver}/main/lib/draw + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install + ${srcdir}/${pkgbase}-${pkgver}/main/gbc/gbi2 -r ${pkgdir}/usr gb + cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/main/lib/gui + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install + + ## cleanup the workaround + rm ${pkgdir}/usr/share/gambas2/info/{gb.{info,list},gb.qt*} + rm ${pkgdir}/usr/lib/gambas2/{gb.draw*,gb.qt*,gb.{so*,la}} + rm -rf ${pkgdir}/usr/bin + ## +} + +package_gambas2-gb-image() { + depends=('gambas2-runtime') + pkgdesc="Gambas2 image processing component" + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.image + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install +} + +package_gambas2-gb-info() { + depends=('gambas2-runtime') + pkgdesc="Gambas2 info component" +# arch=('any') + + ## workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main/gbx + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install + mkdir -p ${pkgdir}/usr/share/gambas2/info + ${srcdir}/${pkgbase}-${pkgver}/main/gbc/gbi2 -r ${pkgdir}/usr gb + ## + + _buildgbcomp gb.info + + ## cleanup the workaround + rm ${pkgdir}/usr/share/gambas2/info/gb.{info,list} + rm ${pkgdir}/usr/lib/gambas2/gb.{so*,la} + rm -rf ${pkgdir}/usr/bin + ## +} + +package_gambas2-gb-net() { + depends=('gambas2-runtime') + pkgdesc="Gambas2 networking component" + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.net + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install +} + +package_gambas2-gb-net-curl() { + depends=('gambas2-runtime' 'curl') + pkgdesc="Gambas2 advanced networking component" + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.net.curl + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install +} + +package_gambas2-gb-net-smtp() { + depends=('gambas2-runtime' 'glib2') + pkgdesc="Gambas2 SMTP component" + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.net.smtp + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install +} + +package_gambas2-gb-opengl() { + depends=('gambas2-runtime' 'libgl' 'mesa') + pkgdesc="Gambas2 OpenGL component" + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.opengl + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install +} + +package_gambas2-gb-option() { + depends=('gambas2-runtime') + pkgdesc="Gambas2 command-line options component" + + cd ${srcdir}/${pkgbase}-${pkgver}/main/lib/option + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install +} + +package_gambas2-gb-pcre() { + depends=('gambas2-runtime' 'pcre') + pkgdesc="Gambas2 PCRE component" + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.pcre + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install +} + +package_gambas2-gb-pdf() { + depends=('gambas2-runtime' 'poppler-glib') + pkgdesc="Gambas2 PDF component" + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.pdf + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install +} + +package_gambas2-gb-qt() { + depends=('gambas2-runtime' 'qt3') + pkgdesc="Gambas2 graphical QT toolkit component" + + ## workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main/gbx + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install + mkdir -p ${pkgdir}/usr/share/gambas2/info + cd ${srcdir}/${pkgbase}-${pkgver}/main/lib/draw + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install + ${srcdir}/${pkgbase}-${pkgver}/main/gbc/gbi2 -r ${pkgdir}/usr gb + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install + + ## cleanup the workaround + rm ${pkgdir}/usr/share/gambas2/info/{gb.{info,list},gb.qt.ext*,gb.qt.opengl*} + rm ${pkgdir}/usr/lib/gambas2/{gb.draw*,gb.qt.ext*,gb.qt.opengl*,gb.{so*,la}} + rm -rf ${pkgdir}/usr/bin + ## +} + +package_gambas2-gb-qt-ext() { + depends=('gambas2-gb-qt') + pkgdesc="Gambas2 graphical QT toolkit extension component" + + ## workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main/gbx + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install + mkdir -p ${pkgdir}/usr/share/gambas2/info + ${srcdir}/${pkgbase}-${pkgver}/main/gbc/gbi2 -r ${pkgdir}/usr gb + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt/src/ext + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install + + ## cleanup the workaround + rm ${pkgdir}/usr/share/gambas2/info/gb.{info,list} + rm ${pkgdir}/usr/lib/gambas2/gb.{so*,la} + rm -rf ${pkgdir}/usr/bin + ## +} + +package_gambas2-gb-qt-opengl() { + depends=('gambas2-gb-qt' 'libgl') + pkgdesc="Gambas2 graphical QT toolkit OpenGL component" + + ## workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main/gbx + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install + mkdir -p ${pkgdir}/usr/share/gambas2/info + ${srcdir}/${pkgbase}-${pkgver}/main/gbc/gbi2 -r ${pkgdir}/usr gb + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt/src/opengl + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install + + ## cleanup the workaround + rm ${pkgdir}/usr/share/gambas2/info/gb.{info,list} + rm ${pkgdir}/usr/lib/gambas2/gb.{so*,la} + rm -rf ${pkgdir}/usr/bin + ## +} + +package_gambas2-gb-qt-kde() { + depends=('gambas2-gb-qt' 'kdelibs3') + pkgdesc="Gambas2 KDE component" + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt.kde + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install + + rm ${pkgdir}/usr/share/gambas2/info/gb.qt.kde.html* + rm ${pkgdir}/usr/lib/gambas2/gb.qt.kde.html* +} + +package_gambas2-gb-qt-kde-html() { + depends=('gambas2-gb-qt-kde') + pkgdesc="Gambas2 KHTML component" + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt.kde/src/html + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install +} + +package_gambas2-gb-report() { + depends=('gambas2-runtime' 'gambas2-gb-form') + pkgdesc="Gambas2 report component" +# arch=('any') + + ## workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main/gbx + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install + mkdir -p ${pkgdir}/usr/share/gambas2/info + cd ${srcdir}/${pkgbase}-${pkgver}/main/lib/draw + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install + ${srcdir}/${pkgbase}-${pkgver}/main/gbc/gbi2 -r ${pkgdir}/usr gb + cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install + cd ${srcdir}/${pkgbase}-${pkgver}/main/lib/gui + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install + cd ${srcdir}/${pkgbase}-${pkgver}/main/lib/db + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install + ${srcdir}/${pkgbase}-${pkgver}/main/gbc/gbi2 -r ${pkgdir}/usr + ## + + _buildgbcomp gb.form + _buildgbcomp gb.report + + ## cleanup the workaround + rm ${pkgdir}/usr/share/gambas2/info/{gb.{info,list},gb.form.{info,list},gb.qt*,gb.gui*,gb.db*} + rm ${pkgdir}/usr/lib/gambas2/{gb.draw*,gb.qt*,gb.{so*,la},gb.form.{component,gambas},gb.gui*,gb.db*} + rm -rf ${pkgdir}/usr/bin + ## +} + +package_gambas2-gb-sdl() { + depends=('gambas2-runtime' 'sdl_image' 'libxft' 'libxcursor' 'libgl') + pkgdesc="Gambas2 SDL component" + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.sdl + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install +} + +package_gambas2-gb-sdl-sound() { + depends=('gambas2-runtime' 'sdl_mixer') + pkgdesc="Gambas2 SDL sound component" + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.sdl.sound + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install +} + +package_gambas2-gb-settings() { + depends=('gambas2-runtime') + pkgdesc="Gambas2 settings management component" +# arch=('any') + + ## workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main/gbx + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install + mkdir -p ${pkgdir}/usr/share/gambas2/info + ${srcdir}/${pkgbase}-${pkgver}/main/gbc/gbi2 -r ${pkgdir}/usr gb + ## + + _buildgbcomp gb.settings + + ## cleanup the workaround + rm ${pkgdir}/usr/share/gambas2/info/gb.{info,list} + rm ${pkgdir}/usr/lib/gambas2/gb.{so*,la} + rm -rf ${pkgdir}/usr/bin + ## +} + +package_gambas2-gb-v4l() { + depends=('gambas2-runtime' 'libjpeg' 'libpng') + pkgdesc="Gambas2 V4L component" + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.v4l + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install +} + +package_gambas2-gb-vb() { + depends=('gambas2-runtime') + pkgdesc="Gambas2 VB transitional component" + + cd ${srcdir}/${pkgbase}-${pkgver}/main/lib/vb + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install +} + +package_gambas2-gb-web() { + depends=('gambas2-runtime') + pkgdesc="Gambas2 CGI component" +# arch=('any') + + ## workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main/gbx + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install + mkdir -p ${pkgdir}/usr/share/gambas2/info + ${srcdir}/${pkgbase}-${pkgver}/main/gbc/gbi2 -r ${pkgdir}/usr gb + ## + + _buildgbcomp gb.web + + ## cleanup the workaround + rm ${pkgdir}/usr/share/gambas2/info/gb.{info,list} + rm ${pkgdir}/usr/lib/gambas2/gb.{so*,la} + rm -rf ${pkgdir}/usr/bin + ## +} + +package_gambas2-gb-xml() { + depends=('gambas2-runtime' 'libxml2') + pkgdesc="Gambas2 xml component" + + ## workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main/gbx + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install + mkdir -p ${pkgdir}/usr/share/gambas2/info + ${srcdir}/${pkgbase}-${pkgver}/main/gbc/gbi2 -r ${pkgdir}/usr gb + cd ${srcdir}/${pkgbase}-${pkgver}/gb.net + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install + cd ${srcdir}/${pkgbase}-${pkgver}/gb.net.curl + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install + ${srcdir}/${pkgbase}-${pkgver}/main/gbc/gbi2 -r ${pkgdir}/usr + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.xml + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install + + ## cleanup the workaround + rm ${pkgdir}/usr/share/gambas2/info/{gb.xml.{xslt*,rpc*},gb.{info,list},gb.net*} + rm ${pkgdir}/usr/lib/gambas2/{gb.xml.{xslt*,rpc*},gb.{so*,la},gb.net*} + rm -rf ${pkgdir}/usr/bin + ## +} + +package_gambas2-gb-xml-rpc() { + depends=('gambas2-gb-xml' 'gambas2-gb-net' 'gambas2-gb-net-curl') + pkgdesc="Gambas2 xml-rpc component" + + ## workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main/gbx + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install + mkdir -p ${pkgdir}/usr/share/gambas2/info + ${srcdir}/${pkgbase}-${pkgver}/main/gbc/gbi2 -r ${pkgdir}/usr gb + cd ${srcdir}/${pkgbase}-${pkgver}/gb.net + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install + cd ${srcdir}/${pkgbase}-${pkgver}/gb.net.curl + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install + ${srcdir}/${pkgbase}-${pkgver}/main/gbc/gbi2 -r ${pkgdir}/usr + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.xml + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install + + ## cleanup the workaround + rm ${pkgdir}/usr/share/gambas2/info/gb.{{info,list},xml.{info,list},xml.xslt.{info,list},net.*} + rm ${pkgdir}/usr/lib/gambas2/gb.{{so*,la},xml.{so*,la,component},xml.xslt.*,net.*} + rm -rf ${pkgdir}/usr/bin + ## +} + +package_gambas2-gb-xml-xslt() { + depends=('gambas2-gb-xml' 'libxslt') + pkgdesc="Gambas2 xml-xslt component" + + ## workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main/gbx + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install + mkdir -p ${pkgdir}/usr/share/gambas2/info + ${srcdir}/${pkgbase}-${pkgver}/main/gbc/gbi2 -r ${pkgdir}/usr gb + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.xml/src/xslt + make DESTDIR="${pkgdir}" GBFILES="${_gbfiles}" install + + ## cleanup the workaround + rm ${pkgdir}/usr/share/gambas2/info/gb.{info,list} + rm ${pkgdir}/usr/lib/gambas2/gb.{so*,la} + rm -rf ${pkgdir}/usr/bin + ## +} diff --git a/community-staging/gambas2/db.firebird.gcc-4.6.0-fix.patch b/community-staging/gambas2/db.firebird.gcc-4.6.0-fix.patch new file mode 100644 index 000000000..0b6e68df3 --- /dev/null +++ b/community-staging/gambas2/db.firebird.gcc-4.6.0-fix.patch @@ -0,0 +1,35 @@ +--- gambas/branches/2.0/gb.db.firebird/src/main.cpp 2011/05/27 15:01:54 3864 ++++ gambas/branches/2.0/gb.db.firebird/src/main.cpp 2011/05/27 15:26:41 3865 +@@ -1216,7 +1216,8 @@ + GB.StoreVariant(&fantom, &buffer[i]); + } + else{ +- GB.StoreVariant(&res->GetData(pos,i), &buffer[i]); ++ GB_VARIANT val = res->GetData(pos,i); ++ GB.StoreVariant(&val , &buffer[i]); + } + } + } +@@ -1874,6 +1875,8 @@ + static char query[SQLMAXLEN]; + int type; + std::string str1,str2; ++ GB_VARIANT varval; ++ char* charval; + snprintf(query,SQLMAXLEN-1,"select b.RDB$field_name,a.RDB$field_type,b.rdb$null_flag,b.rdb$default_source,a.RDB$field_length from RDB$fields a,RDB$relation_fields b where a.RDB$field_name=b.RDB$field_source and b.RDB$relation_name=upper('%s') and b.rdb$field_name=upper('%s')",table,field); + if (do_query(db, query, &res, "Unable to get the field from the table")){ + delete res; +@@ -1900,9 +1903,11 @@ + str1=res->GetData(0,3).value.value._string; + if(str1!="") + str2=str1.assign(str1,8,str1.length()-8); +- GB.FreeString(&res->GetData(0,3).value.value._string); ++ charval = res->GetData(0,3).value.value._string; ++ GB.FreeString(&charval); + res->SetData(0,3,str2); +- GB.StoreVariant(&res->GetData(0,3), &info->def); ++ varval = res->GetData(0,3); ++ GB.StoreVariant(&varval, &info->def); + } + delete res; + return FALSE; diff --git a/community-staging/gambas2/fix-gbi-gba-path.patch b/community-staging/gambas2/fix-gbi-gba-path.patch new file mode 100644 index 000000000..9be8e921e --- /dev/null +++ b/community-staging/gambas2/fix-gbi-gba-path.patch @@ -0,0 +1,24 @@ +--- component.am 2010-03-15 20:54:43.000000000 +0100 ++++ ../component.am 2010-04-30 15:00:47.218700833 +0200 +@@ -6,17 +6,17 @@ + @if test -d $(COMPONENT); then \ + echo "Compiling the $(COMPONENT) project..."; \ + ( \ +- $(DESTDIR)$(bindir)/gbi$(GAMBAS_VERSION) -r $(DESTDIR)$(prefix) $(COMPONENT); \ ++ $(GBFILES)/gbi$(GAMBAS_VERSION) -r $(DESTDIR)$(prefix) $(COMPONENT); \ + cd $(COMPONENT); \ +- $(DESTDIR)$(bindir)/gbc$(GAMBAS_VERSION) -ag -r $(DESTDIR)$(prefix); \ +- $(DESTDIR)$(bindir)/gba$(GAMBAS_VERSION); \ ++ $(GBFILES)/gbc$(GAMBAS_VERSION) -ag -r $(DESTDIR)$(prefix); \ ++ $(GBFILES)/gba$(GAMBAS_VERSION); \ + rm -rf .gambas; \ + $(INSTALL) $(COMPONENT).gambas $(DESTDIR)$(gblibdir); \ + ) \ + fi + @echo + @echo "Creating the information files for $(COMPONENT) component..." +- @$(DESTDIR)$(bindir)/gbi$(GAMBAS_VERSION) -r $(DESTDIR)$(prefix) $(COMPONENT) ++ @$(GBFILES)/gbi$(GAMBAS_VERSION) -r $(DESTDIR)$(prefix) $(COMPONENT) + @echo + + uninstall-hook: diff --git a/community-staging/gambas2/gambas2-runtime.install b/community-staging/gambas2/gambas2-runtime.install new file mode 100644 index 000000000..4729f7ef6 --- /dev/null +++ b/community-staging/gambas2/gambas2-runtime.install @@ -0,0 +1,12 @@ +post_install() { + xdg-icon-resource install --context mimetypes --size 64 \ + /usr/share/gambas2/mime/application-x-gambas.png application-x-gambas + xdg-mime install /usr/share/gambas2/mime/application-x-gambas.xml +} + +pre_remove() { + xdg-icon-resource uninstall --context mimetypes --size 64 application-x-gambas + xdg-mime uninstall /usr/share/gambas2/mime/application-x-gambas.xml +} + +# vim:set ts=2 sw=2 et: diff --git a/community-staging/gambas2/gambas2-script.install b/community-staging/gambas2/gambas2-script.install new file mode 100644 index 000000000..86558e434 --- /dev/null +++ b/community-staging/gambas2/gambas2-script.install @@ -0,0 +1,15 @@ +post_install() { + xdg-icon-resource install --context mimetypes --size 64 \ + /usr/share/gambas2/mime/application-x-gambasscript.png application-x-gambasscript + xdg-icon-resource install --context mimetypes --size 64 \ + /usr/share/gambas2/mime/application-x-gambasserverpage.png application-x-gambasserverpage + xdg-mime install /usr/share/gambas2/mime/application-x-gambasscript.xml + xdg-mime install /usr/share/gambas2/mime/application-x-gambasserverpage.xml +} + +pre_remove() { + xdg-icon-resource uninstall --context mimetypes --size 64 application-x-gambasscript + xdg-icon-resource uninstall --context mimetypes --size 64 application-x-gambasserverpage + xdg-mime uninstall /usr/share/gambas2/mime/application-x-gambasscript.xml + xdg-mime uninstall /usr/share/gambas2/mime/application-x-gambasserverpage.xml +} diff --git a/community-staging/gambas2/gambas2.install b/community-staging/gambas2/gambas2.install new file mode 100644 index 000000000..4729f7ef6 --- /dev/null +++ b/community-staging/gambas2/gambas2.install @@ -0,0 +1,12 @@ +post_install() { + xdg-icon-resource install --context mimetypes --size 64 \ + /usr/share/gambas2/mime/application-x-gambas.png application-x-gambas + xdg-mime install /usr/share/gambas2/mime/application-x-gambas.xml +} + +pre_remove() { + xdg-icon-resource uninstall --context mimetypes --size 64 application-x-gambas + xdg-mime uninstall /usr/share/gambas2/mime/application-x-gambas.xml +} + +# vim:set ts=2 sw=2 et: diff --git a/community-staging/gambas2/poppler-0.18.patch b/community-staging/gambas2/poppler-0.18.patch new file mode 100644 index 000000000..fbcc430bf --- /dev/null +++ b/community-staging/gambas2/poppler-0.18.patch @@ -0,0 +1,40 @@ +--- gambas/trunk/gb.pdf/configure.ac 2010/07/14 01:50:18 3038 ++++ gambas/trunk/gb.pdf/configure.ac 2011/08/09 10:43:30 3997 +@@ -22,6 +22,8 @@ + AC_DEFINE_UNQUOTED(POPPLER_VERSION_0_8, $((1-$?)), Poppler version >= 0.8) + pkg-config --atleast-version=0.11.3 poppler + AC_DEFINE_UNQUOTED(POPPLER_VERSION_0_11_3, $((1-$?)), Poppler version >= 0.11.3) ++ pkg-config --atleast-version=0.17.0 poppler ++ AC_DEFINE_UNQUOTED(POPPLER_VERSION_0_17, $((1-$?)), Poppler version >= 0.17) + fi + + AC_OUTPUT( \ + +--- gambas/trunk/gb.pdf/src/CPdfDocument.cpp 2011/06/03 00:51:09 3870 ++++ gambas/trunk/gb.pdf/src/CPdfDocument.cpp 2011/08/09 10:43:30 3997 +@@ -44,6 +44,7 @@ + #include <Outline.h> + #include <Link.h> + #include <Gfx.h> ++#include <glib/poppler-features.h> + + /***************************************************************************** + +@@ -956,12 +957,17 @@ + Bookmarks of a PDF page + + ******************************************************************************/ ++ + void aux_fill_links(void *_object) + { ++ #if POPPLER_VERSION_0_17 ++ THIS->links = new Links (THIS->page->getAnnots (THIS->doc->getCatalog())); ++ #else + Object obj; + + THIS->links = new Links (THIS->page->getAnnots (&obj),THIS->doc->getCatalog()->getBaseURI ()); + obj.free(); ++ #endif + } + + BEGIN_PROPERTY (PDFPAGELINKS_count) diff --git a/community-staging/gambas3/PKGBUILD b/community-staging/gambas3/PKGBUILD new file mode 100644 index 000000000..a3ea723e3 --- /dev/null +++ b/community-staging/gambas3/PKGBUILD @@ -0,0 +1,1104 @@ +# $Id: PKGBUILD 62492 2012-01-20 09:07:36Z lcarlier $ +# Maintainer: Laurent Carlier <lordheavym@gmail.com> + +pkgbase=gambas3 +pkgname=('gambas3-runtime' 'gambas3-devel' 'gambas3-ide' 'gambas3-script' 'gambas3-examples' 'gambas3-gb-cairo' 'gambas3-gb-chart' + 'gambas3-gb-dbus' 'gambas3-gb-compress' 'gambas3-gb-crypt' 'gambas3-gb-db' 'gambas3-gb-db-form' 'gambas3-gb-db-mysql' + 'gambas3-gb-db-odbc' 'gambas3-gb-db-postgresql' 'gambas3-gb-db-sqlite2' 'gambas3-gb-db-sqlite3' + 'gambas3-gb-desktop' 'gambas3-gb-eval-highlight' 'gambas3-gb-form' + 'gambas3-gb-form-dialog' 'gambas3-gb-form-mdi' 'gambas3-gb-form-stock' 'gambas3-gb-gtk' 'gambas3-gb-gui' 'gambas3-gb-image' + 'gambas3-gb-image-effect' 'gambas3-gb-image-imlib' 'gambas3-gb-image-io' 'gambas3-gb-net' 'gambas3-gb-net-curl' + 'gambas3-gb-net-smtp' 'gambas3-gb-opengl' 'gambas3-gb-opengl-glu' 'gambas3-gb-opengl-glsl' 'gambas3-gb-option' 'gambas3-gb-pcre' + 'gambas3-gb-pdf' 'gambas3-gb-qt4' 'gambas3-gb-qt4-ext' 'gambas3-gb-qt4-opengl' 'gambas3-gb-qt4-webkit' + 'gambas3-gb-report' 'gambas3-gb-sdl' 'gambas3-gb-sdl-sound' 'gambas3-gb-settings' 'gambas3-gb-signal' + 'gambas3-gb-v4l' 'gambas3-gb-vb' 'gambas3-gb-xml' 'gambas3-gb-xml-rpc' 'gambas3-gb-xml-xslt' 'gambas3-gb-web') +pkgver=3.0.0 +pkgrel=3 +pkgdesc="A free development environment based on a Basic interpreter." +arch=('i686' 'x86_64') +url="http://gambas.sourceforge.net/" +license=('GPL') +groups=('gambas3') +makedepends=('intltool' 'mysql' 'postgresql' 'libffi' 'bzip2' 'glib2' 'v4l-utils' + 'zlib' 'mesa' 'libgl' 'glew' 'xdg-utils' 'gtk2' 'imlib2' 'gdk-pixbuf2' + 'postgresql-libs' 'libmysqlclient' 'unixodbc' 'sqlite2' 'sqlite3' 'librsvg' + 'curl' 'poppler-glib' 'sdl_mixer' 'sdl_ttf' 'libxtst' 'pcre' 'qtwebkit' + 'libxcursor' 'libsm' 'dbus-core' 'libxml2' 'libxslt' 'libgnome-keyring') +options=('!emptydirs' '!makeflags') +source=("http://downloads.sourceforge.net/gambas/${pkgbase}-${pkgver}.tar.bz2" + 'gambas3-script.install' 'gambas3-runtime.install') +md5sums=('f2c51e18b67ae6b21065ea0aed9b588e' + 'b284be39d147ec799f1116a6abc068b4' + 'b5cc403990f31b8ea1c5cf37366d3d29') + +build() { + cd ${srcdir}/${pkgbase}-${pkgver} + + ./reconf-all + ./configure --prefix=/usr -C + + make bindir=${pkgdir}/usr/bin +} + +package_gambas3-runtime() { + depends=('libffi' 'xdg-utils') + pkgdesc="Runtime environment" + install=gambas3-runtime.install + + cd ${srcdir}/${pkgbase}-${pkgver}/main/gbc + make DESTDIR="${pkgdir}" install + + cd ../gbx + make DESTDIR="${pkgdir}" install + cd ../lib/debug + make DESTDIR="${pkgdir}" install + cd ../eval + make DESTDIR="${pkgdir}" install + cd ../draw + make DESTDIR="${pkgdir}" install + install -D -m644 ../gb.component \ + ${pkgdir}/usr/lib/gambas3 + + cd ${srcdir}/${pkgbase}-${pkgver}/main + ln -s gbx3 ${pkgdir}/usr/bin/gbr3 + gbc/gbi3 -r ${pkgdir}/usr gb + rm -f ${pkgdir}/usr/lib/gambas3/gb.{so*,la} + + ## needed for postinst with xdg-utils + install -d -m755 ${pkgdir}/usr/share/gambas3/mime + install -D -m644 mime/* \ + ${pkgdir}/usr/share/gambas3/mime/ + install -d -m755 ${pkgdir}/usr/share/gambas3/icons + install -D -m644 mime/application-x-gambas3.png \ + ${pkgdir}/usr/share/gambas3/icons/application-x-gambas3.png + + cd gbc + make DESTDIR="${pkgdir}" uninstall +} + +package_gambas3-devel() { + depends=('gambas3-runtime') + pkgdesc="Development environment" + + cd ${srcdir}/${pkgbase}-${pkgver}/main/gbc + make DESTDIR="${pkgdir}" install +} + +package_gambas3-ide() { + depends=('gambas3-devel' 'gambas3-gb-db-form' 'gambas3-gb-desktop' 'gambas3-gb-eval-highlight' + 'gambas3-gb-form-dialog' 'gambas3-gb-settings' 'gambas3-gb-form-mdi' 'gambas3-gb-image-effect' + 'gambas3-gb-qt4-ext' 'gambas3-gb-qt4-webkit') + pkgdesc="Integrated Development Environment" + + cd ${srcdir}/${pkgbase}-${pkgver} + make XDG_UTILS='' DESTDIR="${pkgdir}" install + +#!! with the ide !! + install -D -m644 ${srcdir}/${pkgbase}-${pkgver}/app/desktop/gambas3.desktop \ + ${pkgdir}/usr/share/applications/gambas3.desktop + install -D -m644 ${srcdir}/${pkgbase}-${pkgver}/app/desktop/gambas3.png \ + ${pkgdir}/usr/share/pixmaps/gambas3.png + + rm -r ${pkgdir}/usr/bin/gb* + rm -r ${pkgdir}/usr/lib + rm -r ${pkgdir}/usr/share/gambas3 +} + +package_gambas3-script() { + depends=('gambas3-devel') + pkgdesc="Scripter and server programs support" + install=gambas3-script.install + + cd ${srcdir}/${pkgbase}-${pkgver} + make XDG_UTILS='' DESTDIR="${pkgdir}" install + + ## needed for postinst with xdg-utils + cd ${srcdir}/${pkgbase}-${pkgver}/app/mime + install -d -m755 ${pkgdir}/usr/share/gambas3/mime + install -D -m644 *.xml ${pkgdir}/usr/share/gambas3/mime/ + install -D -m644 *.png ${pkgdir}/usr/share/gambas3/mime/ + ## + + rm -r ${pkgdir}/usr/bin/{gambas*,gb{[a-r]*,x*}} + rm -r ${pkgdir}/usr/lib + rm -r ${pkgdir}/usr/share/gambas3/[c-i]* +} + +package_gambas3-examples() { + depends=('gambas3-gb-cairo' 'gambas3-gb-chart' 'gambas3-gb-dbus' 'gambas3-gb-compress' 'gambas3-gb-crypt' 'gambas3-gb-db' + 'gambas3-gb-db-form' 'gambas3-gb-db-mysql' 'gambas3-gb-db-odbc' 'gambas3-gb-db-postgresql' 'gambas3-gb-db-sqlite2' + 'gambas3-gb-db-sqlite3' 'gambas3-gb-desktop' 'gambas3-gb-eval-highlight' 'gambas3-gb-form' 'gambas3-gb-form-dialog' + 'gambas3-gb-form-mdi' 'gambas3-gb-gtk' 'gambas3-gb-gui' 'gambas3-gb-image' 'gambas3-gb-image-effect' 'gambas3-gb-image-imlib' + 'gambas3-gb-image-io' 'gambas3-gb-net' 'gambas3-gb-net-curl' 'gambas3-gb-net-smtp' 'gambas3-gb-opengl' 'gambas3-gb-opengl-glsl' + 'gambas3-gb-option' 'gambas3-gb-pcre' 'gambas3-gb-pdf' 'gambas3-gb-qt4' 'gambas3-gb-qt4-ext' 'gambas3-gb-qt4-opengl' + 'gambas3-gb-qt4-webkit' 'gambas3-gb-report' 'gambas3-gb-sdl' 'gambas3-gb-sdl-sound' 'gambas3-gb-settings' 'gambas3-gb-signal' + 'gambas3-gb-v4l' 'gambas3-gb-vb' 'gambas3-gb-xml' 'gambas3-gb-xml-rpc' 'gambas3-gb-xml-xslt' 'gambas3-gb-web') + pkgdesc="Applications examples" + + cd ${srcdir}/${pkgbase}-${pkgver} + make XDG_UTILS='' DESTDIR="${pkgdir}" install + + rm -r ${pkgdir}/usr/{bin,lib} + rm -r ${pkgdir}/usr/share/gambas3/{info,control,gb.sdl} +} + +package_gambas3-gb-cairo() { + depends=('gambas3-runtime' 'cairo') + pkgdesc="Cairo component" + + ## Workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.cairo + make DESTDIR="${pkgdir}" install + + ## Workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + ## +} + +package_gambas3-gb-chart() { + depends=('gambas3-gb-form') + pkgdesc="Chart component" + + ## Workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt4 + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/comp + make DESTDIR="${pkgdir}" install + + ## Workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt4 + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + rm -r ${pkgdir}/usr/share/gambas3/control + rm -r ${pkgdir}/usr/lib/gambas3/gb.[d-w]* + rm -r ${pkgdir}/usr/share/gambas3/info/gb.[d-w]* + ## +} + +package_gambas3-gb-compress() { + depends=('gambas3-runtime' 'bzip2' 'zlib') + pkgdesc="Compression support component" + + ## Workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.compress.bzlib2 + make DESTDIR="${pkgdir}" install + cd ${srcdir}/${pkgbase}-${pkgver}/gb.compress.zlib + make DESTDIR="${pkgdir}" install + + ## Workaround for splitting + rm -r ${pkgdir}/usr/bin + rm -r ${pkgdir}/usr/lib/gambas3/{gb.component,gb.[d-v]*} + rm -r ${pkgdir}/usr/share/gambas3/info/gb.[d-v]* + ## +} + +package_gambas3-gb-crypt() { + depends=('gambas3-runtime') + pkgdesc="MD5/DES crypting component" + + ## Workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.crypt + make XDG_UTILS='' DESTDIR="${pkgdir}" install + + ## Workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + ## +} + +package_gambas3-gb-db() { + depends=('gambas3-runtime') + pkgdesc="Database access component" + + ## Workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + ## Workaround for splitting + rm -r ${pkgdir}/usr/bin + rm -r ${pkgdir}/usr/lib/gambas3/{gb.comp*,gb.d{e,r}*,gb.[e-z]*} + rm -r ${pkgdir}/usr/share/gambas3/info/{gb.comp*,gb.de*,gb.[e-z]*} + ## +} + +package_gambas3-gb-db-form() { + depends=('gambas3-gb-db' 'gambas3-gb-form') + pkgdesc="Database form component" + + ## Workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt4 + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/comp + make DESTDIR="${pkgdir}" install + + ## Workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt4 + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + rm -r ${pkgdir}/usr/share/gambas3/control + rm -r ${pkgdir}/usr/lib/gambas3/gb.{chart*,[e-z]*} + rm -r ${pkgdir}/usr/share/gambas3/info/gb.{chart*,[e-z]*} + ## +} + +package_gambas3-gb-db-mysql() { + depends=('gambas3-gb-db' 'libmysqlclient') + pkgdesc="MySQL database access component" + + ## Workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.db.mysql + make XDG_UTILS='' DESTDIR="${pkgdir}" install + + ## Workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + ## +} + +package_gambas3-gb-db-odbc() { + depends=('gambas3-gb-db' 'unixodbc') + pkgdesc="ODBC database access component" + + ## Workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.db.odbc + make XDG_UTILS='' DESTDIR="${pkgdir}" install + + ## Workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + ## +} + +package_gambas3-gb-db-postgresql() { + depends=('gambas3-gb-db' 'postgresql-libs') + pkgdesc="PostgreSQL database access component" + + ## Workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.db.postgresql + make XDG_UTILS='' DESTDIR="${pkgdir}" install + + ## Workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + ## +} + +package_gambas3-gb-db-sqlite2() { + depends=('gambas3-gb-db' 'sqlite2') + pkgdesc="Sqlite2 database access component" + + ## Workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.db.sqlite2 + make XDG_UTILS='' DESTDIR="${pkgdir}" install + + ## Workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + ## +} + +package_gambas3-gb-db-sqlite3() { + depends=('gambas3-gb-db' 'sqlite3') + pkgdesc="Sqlite3 database access component" + + ## Workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.db.sqlite3 + make XDG_UTILS='' DESTDIR="${pkgdir}" install + + ## Workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + ## +} + +package_gambas3-gb-desktop() { + depends=('gambas3-gb-image' 'libsm' 'libxtst' 'libgnome-keyring') + pkgdesc="Desktop component" + + ## workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt4 + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.desktop + make DESTDIR="${pkgdir}" install + + ## cleanup the workaround + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt4 + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + ## +} + +package_gambas3-gb-dbus() { + depends=('gambas3-runtime' 'dbus-core') + pkgdesc="DBUS component" + + ## Workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.dbus + make DESTDIR="${pkgdir}" install + + ## Workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + ## +} + +package_gambas3-gb-eval-highlight() { + depends=('gambas3-runtime') + pkgdesc="Expression evaluator highlight component" + + ## Workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt4 + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/comp + make DESTDIR="${pkgdir}" install + + ## Workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt4 + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + rm -r ${pkgdir}/usr/lib/gambas3/gb.{[c-d]*,[f-z]*} + rm -r ${pkgdir}/usr/share/gambas3/info/gb.{[c-d]*,[f-z]*} + rm -r ${pkgdir}/usr/share/gambas3/control + ## +} + +package_gambas3-gb-form() { + depends=('gambas3-gb-gui') + pkgdesc="Form component" + + ## Workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt4 + make XDG_UTILS='' DESTDIR="${pkgdir}" install + cd ${srcdir}/${pkgbase}-${pkgver}/gb.gtk + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/comp + make DESTDIR="${pkgdir}" install + + ## Workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt4 + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + cd ${srcdir}/${pkgbase}-${pkgver}/gb.gtk + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + rm -r ${pkgdir}/usr/share/gambas3/control/{gb.db*,gb.form.*,gb.report} + rm -r ${pkgdir}/usr/lib/gambas3/gb.{[c-e]*,[m-w]*,form.{d*,m*,s*}} + rm -r ${pkgdir}/usr/share/gambas3/info/gb.{[c-e]*,[m-w]*,form.{d*,m*,s*}} + ## +} + +package_gambas3-gb-form-dialog() { + depends=('gambas3-gb-form') + pkgdesc="Form dialog component" + + ## Workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt4 + make XDG_UTILS='' DESTDIR="${pkgdir}" install + cd ${srcdir}/${pkgbase}-${pkgver}/gb.gtk + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/comp + make DESTDIR="${pkgdir}" install + + ## Workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt4 + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + cd ${srcdir}/${pkgbase}-${pkgver}/gb.gtk + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + rm -r ${pkgdir}/usr/share/gambas3/control + rm -r ${pkgdir}/usr/lib/gambas3/gb.{[c-e]*,[m-w]*,form.{c*,g*,m*,s*}} + rm -r ${pkgdir}/usr/share/gambas3/info/gb.{[c-e]*,[m-w]*,form.{i*,l*,m*,s*}} + ## +} + +package_gambas3-gb-form-mdi() { + depends=('gambas3-gb-form') + pkgdesc="Form MDI component" + + ## Workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt4 + make XDG_UTILS='' DESTDIR="${pkgdir}" install + cd ${srcdir}/${pkgbase}-${pkgver}/gb.gtk + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/comp + make DESTDIR="${pkgdir}" install + + ## Workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt4 + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + cd ${srcdir}/${pkgbase}-${pkgver}/gb.gtk + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + rm -r ${pkgdir}/usr/share/gambas3/control/{gb.db*,gb.form,gb.report} + rm -r ${pkgdir}/usr/lib/gambas3/gb.{[c-e]*,[m-w]*,form.{c*,d*,g*,s*}} + rm -r ${pkgdir}/usr/share/gambas3/info/gb.{[c-e]*,[m-w]*,form.{i*,l*,d*,s*}} + ## +} + +package_gambas3-gb-form-stock() { + depends=('gambas3-runtime') + pkgdesc="Default stock icons component" + + ## Workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + cd ${srcdir}/${pkgbase}-${pkgver}/gb.gtk + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/comp + make DESTDIR="${pkgdir}" install + + ## Workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/gb.gtk + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + # rm -r ${pkgdir}/usr/lib/gambas3/gb.{eval*,[m-w]*} + # rm -r ${pkgdir}/usr/share/gambas3/info/gb.{eval*,[m-w]*} + rm -r ${pkgdir}/usr/lib/gambas3/gb.[m-w]* + rm -r ${pkgdir}/usr/share/gambas3/info/gb.[m-w]* + ## +} + +package_gambas3-gb-gtk() { + depends=('gambas3-gb-image' 'gtk2' 'librsvg') + pkgdesc="GTK+ toolkit component" + + ## workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.gtk + make XDG_UTILS='' DESTDIR="${pkgdir}" install + + ## cleanup the workaround + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + ## +} + +package_gambas3-gb-gui() { + depends=('gambas3-gb-qt4' 'gambas3-gb-gtk') + pkgdesc="Automatic gui toolkit chooser" + + ## workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt4 + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/main/lib/gui + make XDG_UTILS='' DESTDIR="${pkgdir}" install + + ## cleanup the workaround + cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt4 + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + rm -r ${pkgdir}/usr/bin + rm -r ${pkgdir}/usr/lib/gambas3/{gb.[c-e]*,gb.[i-z]*} + rm -r ${pkgdir}/usr/share/gambas3/info/{gb.[c-e]*,gb.[i-z]*} + ## +} + +package_gambas3-gb-image() { + depends=('gambas3-runtime') + pkgdesc="Image component" + + ## workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + ## cleanup the workaround + rm -r ${pkgdir}/usr/bin + rm -r ${pkgdir}/usr/lib/gambas3/{gb.[c-g]*,gb.image.e*,gb.[j-z]*} + rm -r ${pkgdir}/usr/share/gambas3/info/{gb.[c-g]*,gb.info,gb.image.e*,gb.[j-z]*} + ## +} + +package_gambas3-gb-image-effect() { + depends=('gambas3-gb-image') + pkgdesc="Image effect component" + + ## workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + ## cleanup the workaround + rm -r ${pkgdir}/usr/bin + rm -r ${pkgdir}/usr/lib/gambas3/{gb.[c-g]*,gb.image.{c*,l*,s*},gb.[j-z]*} + rm -r ${pkgdir}/usr/share/gambas3/info/{gb.[c-g]*,gb.info,gb.image.{i*,l*},gb.[j-z]*} + ## +} + +package_gambas3-gb-image-imlib() { + depends=('gambas3-gb-image' 'imlib2') + pkgdesc="Imlib component" + + ## workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.image.imlib + make XDG_UTILS='' DESTDIR="${pkgdir}" install + + ## cleanup the workaround + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + ## +} + +package_gambas3-gb-image-io() { + depends=('gambas3-gb-image' 'gdk-pixbuf2') + pkgdesc="Input/Output component" + + ## workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.image.io + make XDG_UTILS='' DESTDIR="${pkgdir}" install + + ## cleanup the workaround + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + ## +} + +package_gambas3-gb-net() { + depends=('gambas3-runtime') + pkgdesc="Network component" + + ## workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.net + make XDG_UTILS='' DESTDIR="${pkgdir}" install + + ## cleanup the workaround + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + ## +} + +package_gambas3-gb-net-curl() { + depends=('gambas3-gb-net' 'curl') + pkgdesc="Curl component" + + ## workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.net.curl + make XDG_UTILS='' DESTDIR="${pkgdir}" install + + ## cleanup the workaround + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + ## +} + +package_gambas3-gb-net-smtp() { + depends=('gambas3-runtime' 'glib2') + pkgdesc="SMTP component" + + ## workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.net.smtp + make XDG_UTILS='' DESTDIR="${pkgdir}" install + + ## cleanup the workaround + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + ## +} + +package_gambas3-gb-opengl() { + depends=('gambas3-runtime' 'libgl' 'glew') + pkgdesc="OpenGL component" + + ## workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.opengl + make XDG_UTILS='' DESTDIR="${pkgdir}" install + + ## cleanup the workaround + cd ${srcdir}/${pkgbase}-${pkgver}/gb.opengl/src/glsl + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + cd ${srcdir}/${pkgbase}-${pkgver}/gb.opengl/src/glu + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + ## +} + +package_gambas3-gb-opengl-glu() { + depends=('gambas3-gb-opengl') + pkgdesc="GL Utility component" + + ## workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.opengl/src/glu + make XDG_UTILS='' DESTDIR="${pkgdir}" install + + ## cleanup the workaround + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + ## +} + +package_gambas3-gb-opengl-glsl() { + depends=('gambas3-gb-opengl') + pkgdesc="GLSL component" + + ## workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.opengl/src/glsl + make XDG_UTILS='' DESTDIR="${pkgdir}" install + + ## cleanup the workaround + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + ## +} + +package_gambas3-gb-option() { + depends=('gambas3-runtime') + pkgdesc="Getopt component" + + ## workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + ## cleanup the workaround + rm -r ${pkgdir}/usr/bin + rm -r ${pkgdir}/usr/lib/gambas3/{gb.[a-n]*,gb.[p-z]*} + rm -r ${pkgdir}/usr/share/gambas3/info/{gb.[a-n]*,gb.[p-z]*} + ## +} + +package_gambas3-gb-pcre() { + depends=('gambas3-runtime' 'pcre') + pkgdesc="PCRE component" + + ## workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.pcre + make XDG_UTILS='' DESTDIR="${pkgdir}" install + + ## cleanup the workaround + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + ## +} + +package_gambas3-gb-pdf() { + depends=('gambas3-runtime' 'poppler') + pkgdesc="PDF component" + + ## workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.pdf + make XDG_UTILS='' DESTDIR="${pkgdir}" install + + ## cleanup the workaround + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + ## +} + +package_gambas3-gb-qt4() { + depends=('gambas3-gb-image' 'qt') + pkgdesc="Qt4 toolkit component" + + ## workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt4 + make XDG_UTILS='' DESTDIR="${pkgdir}" install + + ## cleanup the workaround + cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt4/src/ext + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt4/src/opengl + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt4/src/webkit + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + ## +} + +package_gambas3-gb-qt4-ext() { + depends=('gambas3-gb-qt4') + pkgdesc="Qt4 toolkit extended component" + + ## workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt4/src/ext + make XDG_UTILS='' DESTDIR="${pkgdir}" install + + ## cleanup the workaround + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + ## +} + +package_gambas3-gb-qt4-opengl() { + depends=('gambas3-gb-qt4' 'libgl') + pkgdesc="Qt4 toolkit OpenGL component" + + ## workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt4/src/opengl + make XDG_UTILS='' DESTDIR="${pkgdir}" install + + ## cleanup the workaround + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + ## +} + +package_gambas3-gb-qt4-webkit() { + depends=('gambas3-gb-qt4' 'qtwebkit') + pkgdesc="Qt4 toolkit webkit component" + + ## workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt4/src/webkit + make XDG_UTILS='' DESTDIR="${pkgdir}" install + + ## cleanup the workaround + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + ## +} + +package_gambas3-gb-report() { + depends=('gambas3-gb-form' 'gambas3-gb-image-io') + pkgdesc="Report component" + + ## Workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt4 + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/comp + make DESTDIR="${pkgdir}" install + + ## Workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt4 + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + rm -r ${pkgdir}/usr/share/gambas3/control/gb.[d-f]* + rm -r ${pkgdir}/usr/lib/gambas3/gb.{[c-m]*,[s-w]*} + rm -r ${pkgdir}/usr/share/gambas3/info/gb.{[c-m]*,[s-w]*} + ## +} + +package_gambas3-gb-sdl() { + depends=('gambas3-gb-image-io' 'sdl_ttf' 'libxcursor' 'glew' 'libgl') + pkgdesc="SDL component" + + ## workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.sdl + make XDG_UTILS='' DESTDIR="${pkgdir}" install + + ## cleanup the workaround + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + ## +} + +package_gambas3-gb-sdl-sound() { + depends=('gambas3-runtime' 'sdl_mixer') + pkgdesc="SDL sound component" + + ## workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.sdl.sound + make XDG_UTILS='' DESTDIR="${pkgdir}" install + + ## cleanup the workaround + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + ## +} + +package_gambas3-gb-settings() { + depends=('gambas3-runtime') + pkgdesc="Setting component" + + ## Workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/comp + make DESTDIR="${pkgdir}" install + + ## Workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + rm -r ${pkgdir}/usr/lib/gambas3/gb.{[c-r]*,[t-w]*} + rm -r ${pkgdir}/usr/share/gambas3/info/gb.{[c-r]*,[t-w]*} + ## +} + +package_gambas3-gb-signal() { + depends=('gambas3-runtime') + pkgdesc="Signal component" + + ## workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + ## cleanup the workaround + rm -r ${pkgdir}/usr/bin + rm -r ${pkgdir}/usr/lib/gambas3/{gb.[c-r]*,gb.[t-z]*,gb.so*} + rm -r ${pkgdir}/usr/share/gambas3/info/{gb.[c-r]*,gb.[t-z]*} + ## +} + +package_gambas3-gb-v4l() { + depends=('gambas3-runtime' 'v4l-utils' 'libjpeg' 'libpng') + pkgdesc="Video4linux component" + + ## workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.v4l + make XDG_UTILS='' DESTDIR="${pkgdir}" install + + ## cleanup the workaround + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + ## +} + +package_gambas3-gb-vb() { + depends=('gambas3-runtime') + pkgdesc="VB transitional component" + + ## Workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + ## Workaround for splitting + rm -r ${pkgdir}/usr/bin + rm -r ${pkgdir}/usr/lib/gambas3/gb.[a-u]* + rm -r ${pkgdir}/usr/share/gambas3/info/gb.[a-u]* + ## +} + +package_gambas3-gb-xml() { + depends=('gambas3-runtime' 'libxml2') + pkgdesc="XML component" + + ## workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.xml + make XDG_UTILS='' DESTDIR="${pkgdir}" install + + ## cleanup the workaround + cd ${srcdir}/${pkgbase}-${pkgver}/gb.xml/src/xslt + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + cd ${srcdir}/${pkgbase}-${pkgver}/gb.xml/src/rpc + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + ## +} + +package_gambas3-gb-xml-rpc() { + depends=('gambas3-gb-xml' 'gambas3-gb-net' 'gambas3-gb-net-curl') + pkgdesc="XML-RPC component" + + ## workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + cd ${srcdir}/${pkgbase}-${pkgver}/gb.net + make XDG_UTILS='' DESTDIR="${pkgdir}" install + cd ${srcdir}/${pkgbase}-${pkgver}/gb.net.curl + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.xml + make XDG_UTILS='' DESTDIR="${pkgdir}" install + + ## cleanup the workaround + cd ${srcdir}/${pkgbase}-${pkgver}/gb.net + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + cd ${srcdir}/${pkgbase}-${pkgver}/gb.net.curl + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + rm -r ${pkgdir}/usr/lib/gambas3/gb.xml.{[c-l]*,xslt*,so*} + rm -r ${pkgdir}/usr/share/gambas3/info/gb.xml.{[i-l]*,x*} + ## +} + +package_gambas3-gb-xml-xslt() { + depends=('gambas3-gb-xml' 'libxslt') + pkgdesc="XML-XSLT component" + + ## workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.xml/src/xslt + make XDG_UTILS='' DESTDIR="${pkgdir}" install + + ## cleanup the workaround + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + ## +} + +package_gambas3-gb-web() { + depends=('gambas3-runtime') + pkgdesc="CGI component" + + ## Workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/comp + make DESTDIR="${pkgdir}" install + + ## Workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + rm -r ${pkgdir}/usr/lib/gambas3/gb.[c-v]* + rm -r ${pkgdir}/usr/share/gambas3/info/gb.[c-v]* + ## +} diff --git a/community-staging/gambas3/gambas3-runtime.install b/community-staging/gambas3/gambas3-runtime.install new file mode 100644 index 000000000..6c8201a6a --- /dev/null +++ b/community-staging/gambas3/gambas3-runtime.install @@ -0,0 +1,10 @@ +post_install() { + xdg-icon-resource install --context mimetypes --size 64 \ + /usr/share/gambas3/mime/application-x-gambas.png application-x-gambas3 + xdg-mime install /usr/share/gambas3/mime/application-x-gambas3.xml +} + +pre_remove() { + xdg-icon-resource uninstall --context mimetypes --size 64 application-x-gambas3 + xdg-mime uninstall /usr/share/gambas3/mime/application-x-gambas3.xml +} diff --git a/community-staging/gambas3/gambas3-script.install b/community-staging/gambas3/gambas3-script.install new file mode 100644 index 000000000..77c1aa52f --- /dev/null +++ b/community-staging/gambas3/gambas3-script.install @@ -0,0 +1,15 @@ +post_install() { + xdg-icon-resource install --context mimetypes --size 64 \ + /usr/share/gambas3/mime/application-x-gambasscript.png application-x-gambasscript + xdg-icon-resource install --context mimetypes --size 64 \ + /usr/share/gambas3/mime/application-x-gambasserverpage.png application-x-gambasserverpage + xdg-mime install /usr/share/gambas3/mime/application-x-gambasscript.xml + xdg-mime install /usr/share/gambas3/mime/application-x-gambasserverpage.xml +} + +pre_remove() { + xdg-icon-resource uninstall --context mimetypes --size 64 application-x-gambasscript + xdg-icon-resource uninstall --context mimetypes --size 64 application-x-gambasserverpage + xdg-mime uninstall /usr/share/gambas3/mime/application-x-gambasscript.xml + xdg-mime uninstall /usr/share/gambas3/mime/application-x-gambasserverpage.xml +} diff --git a/community-staging/gimp-plugin-wavelet-decompose/PKGBUILD b/community-staging/gimp-plugin-wavelet-decompose/PKGBUILD new file mode 100644 index 000000000..b91271e0b --- /dev/null +++ b/community-staging/gimp-plugin-wavelet-decompose/PKGBUILD @@ -0,0 +1,26 @@ +# $Id: PKGBUILD 62511 2012-01-20 09:51:23Z spupykin $ +# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> +# Contributor: Denis Kvist <denvist@ya.ru> + +pkgname=gimp-plugin-wavelet-decompose +pkgver=0.1.2 +pkgrel=2 +pkgdesc="Wavelet decompose plugin for Gimp" +arch=('i686' 'x86_64') +url="http://registry.gimp.org/node/11742" +license=('GPL') +depends=('gimp') +source=(http://registry.gimp.org/files/wavelet-decompose-$pkgver.tar.gz \ + po_install.diff) +md5sums=('e0cb8670a1c5506d08f57f2300caac24' + '4de9e41a535f200c2502f0dd8458c43e') + +build() { + cd "$srcdir/wavelet-decompose-$pkgver" + patch -Np1 < ../po_install.diff + make + install -Dvm755 src/wavelet-decompose \ + "$pkgdir"/usr/lib/gimp/2.0/plug-ins/wavelet-decompose + cd po + make LOCALEDIR="$pkgdir"/usr/share/locale install +} diff --git a/community-staging/gimp-plugin-wavelet-decompose/po_install.diff b/community-staging/gimp-plugin-wavelet-decompose/po_install.diff new file mode 100644 index 000000000..4b6d1a9fe --- /dev/null +++ b/community-staging/gimp-plugin-wavelet-decompose/po_install.diff @@ -0,0 +1,21 @@ +diff -c -r wavelet-denoise-0.3/po/Makefile wavelet-denoise-0.3-new/po/Makefile +*** wavelet-denoise-0.3/po/Makefile 2008-12-14 12:19:22.000000000 +0100 +--- wavelet-denoise-0.3-new/po/Makefile 2008-12-20 14:57:51.000000000 +0100 +*************** +*** 24,30 **** + + install: $(LANGUAGES) + for L in $(LANGUAGES); \ +! do install -v -m 0644 $$L.mo "$(LOCALEDIR)/$$L/LC_MESSAGES/gimp20-$(PLUGIN)-plug-in.mo"; \ + done + + uninstall: $(LANGUAGES) +--- 24,31 ---- + + install: $(LANGUAGES) + for L in $(LANGUAGES); \ +! do mkdir -p "$(LOCALEDIR)/$$L/LC_MESSAGES"; \ +! install -v -m 0644 $$L.mo "$(LOCALEDIR)/$$L/LC_MESSAGES/gimp20-$(PLUGIN)-plug-in.mo"; \ + done + + uninstall: $(LANGUAGES) diff --git a/community-staging/gnubiff-gtk/PKGBUILD b/community-staging/gnubiff-gtk/PKGBUILD new file mode 100644 index 000000000..f57633872 --- /dev/null +++ b/community-staging/gnubiff-gtk/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 62514 2012-01-20 09:52:01Z spupykin $ +# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> +# Maintainer: Tom K <tomk@runbox.com> +# Contributor: Todd Musall <tmusall@gmail.com> + +pkgname=gnubiff-gtk +pkgver=2.2.13 +pkgrel=4 +pkgdesc="Mail notification program that checks for mail and displays headers when new mail has arrived. GTK version." +arch=('i686' 'x86_64') +url="http://gnubiff.sourceforge.net/" +license=("GPL") +depends=('libglade' 'openssl' 'popt') +makedepends=('intltool') +conflicts=(gnubiff) +source=(http://downloads.sourceforge.net/sourceforge/gnubiff/gnubiff-$pkgver.tar.gz + build.patch) +md5sums=('65423957eb027b94c9e661611c0e4271' + '96fde605eb69e300f6014546d4339beb') + +build() { + cd $srcdir/gnubiff-$pkgver + patch -p1 <../build.patch + export LDFLAGS=-lX11 + ./configure --prefix=/usr --disable-gnome --disable-fam --with-password --with-password-string="65423957eb027b94c9e661611c0e4271" + make + make DESTDIR=$pkgdir install + rm -rf $pkgdir/usr/lib + rm -rf $pkgdir/usr/share/gnome-2.0 + rm -rf ${pkgdir}/usr/share/info/dir +} diff --git a/community-staging/gnubiff-gtk/build.patch b/community-staging/gnubiff-gtk/build.patch new file mode 100644 index 000000000..523b0557e --- /dev/null +++ b/community-staging/gnubiff-gtk/build.patch @@ -0,0 +1,23 @@ +diff -wbBur gnubiff-2.2.10/src/support.h gnubiff-2.2.10.my/src/support.h +--- gnubiff-2.2.10/src/support.h 2008-03-22 05:08:51.000000000 +0300 ++++ gnubiff-2.2.10.my/src/support.h 2008-04-22 14:21:58.000000000 +0400 +@@ -35,6 +35,9 @@ + #endif + #include "nls.h" + ++#include <stdlib.h> ++#define EXIT_SUCCESS 0 ++#define EXIT_FAILURE 1 + + #include <glib.h> + #include <sstream> +@@ -131,6 +134,9 @@ + if ((pos == end) && (last < num)) + result << sep << num; + ++ if ((pos == end) && (last != num)) ++ result << sep << num; ++ + // Save new number + inf_bound = last = num; + } diff --git a/community-staging/gpsim/PKGBUILD b/community-staging/gpsim/PKGBUILD new file mode 100644 index 000000000..99ea07ca7 --- /dev/null +++ b/community-staging/gpsim/PKGBUILD @@ -0,0 +1,23 @@ +# $Id: PKGBUILD 62452 2012-01-20 07:07:19Z spupykin $ +# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> +# Maintainer: mickael9 <mickael9 at gmail dot com> + +pkgname=gpsim +pkgver=0.26.1 +pkgrel=2 +pkgdesc="A full-featured software simulator for Microchip PIC microcontrollers" +arch=(i686 x86_64) +url="http://gpsim.sourceforge.net/" +license=(GPL) +depends=('gtk2+extra' 'popt') +makedepends=('gtk2+extra') +options=('!libtool') +source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.gz) +md5sums=('c994c23d2d75056dbefcf5d1d63596d7') + +build() { + cd ${srcdir}/${pkgname}-${pkgver} + ./configure --prefix=/usr + make + make DESTDIR=${pkgdir} install +} diff --git a/community-staging/grace/PKGBUILD b/community-staging/grace/PKGBUILD new file mode 100644 index 000000000..2d793fa6d --- /dev/null +++ b/community-staging/grace/PKGBUILD @@ -0,0 +1,33 @@ +# $Id: PKGBUILD 62455 2012-01-20 07:08:00Z spupykin $ +# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> +# Maintainer: damir <damir@archlinux.org> +# Contributor: Damir Perisa <damir.perisa@bluewin.ch> + +pkgname=grace +pkgver=5.1.22 +pkgrel=6 +pkgdesc="2D plotting tool" +arch=(i686 x86_64) +url="http://plasma-gate.weizmann.ac.il/Grace/" +depends=('libjpeg' 'libpng' 'lesstif' 't1lib' 'netcdf') +makedepends=('netcdf' 'fftw') +license=('GPL') +source=(ftp://plasma-gate.weizmann.ac.il/pub/grace/src/grace5/$pkgname-$pkgver.tar.gz) +md5sums=('672356466f18fe59ed21a8fb44f9851d') + +build() { + cd $srcdir/$pkgname-$pkgver + sed -i '1,1i#include <zlib.h>' src/rstdrv.c + sed -i 's|png_ptr->jmpbuf|png_jmpbuf(png_ptr)|g' src/rstdrv.c + ./configure --prefix=/usr --exec-prefix=/usr \ + --enable-grace-home=/usr/share/grace \ + --includedir=/usr/include --libdir=/usr/lib \ + -with-helpviewer="firefox %s" + make +} + +package() { + cd $srcdir/$pkgname-$pkgver + make DESTDIR=$pkgdir install + cd $pkgdir/usr/share/grace && mv bin lib include ../../ +} diff --git a/community-staging/gtk-chtheme/PKGBUILD b/community-staging/gtk-chtheme/PKGBUILD new file mode 100644 index 000000000..4b959b86f --- /dev/null +++ b/community-staging/gtk-chtheme/PKGBUILD @@ -0,0 +1,29 @@ +# $Id: PKGBUILD 62546 2012-01-20 20:23:30Z giovanni $ +# Contributor: dibblethewrecker dibblethewrecker.at.jiwe.dot.org +# Maintainer: Daniel J Griffiths <ghost1227@archlinux.us> + +pkgname=gtk-chtheme +pkgver=0.3.1 +pkgrel=7 +pkgdesc="This little program lets you change your Gtk+ 2.0 theme. A better alternative to switch2" +arch=('i686' 'x86_64') +license=('GPL') +url="http://plasmasturm.org/programs/gtk-chtheme/" +depends=('gtk2') +source=("http://plasmasturm.org/programs/gtk-chtheme/${pkgname}-${pkgver}.tar.bz2") +md5sums=('f688053bf26dd6c4f1cd0bf2ee33de2a') + +build() { + cd ${srcdir}/${pkgname}-${pkgver} + + # Fix xdg compliancy + sed -i 's|-DGTK.*||' Makefile + sed -i 's|theme_list(g_.*|&\n\tread_theme_list(g_strconcat(g_get_user_data_dir(), "/themes", NULL));|' main.c + make +} + +package() { + cd ${srcdir}/${pkgname}-${pkgver} + + install -Dm755 gtk-chtheme ${pkgdir}/usr/bin/gtk-chtheme +} diff --git a/community-staging/gtk-engine-murrine/PKGBUILD b/community-staging/gtk-engine-murrine/PKGBUILD new file mode 100644 index 000000000..cbcd69f86 --- /dev/null +++ b/community-staging/gtk-engine-murrine/PKGBUILD @@ -0,0 +1,33 @@ +# $Id: PKGBUILD 62478 2012-01-20 09:02:37Z spupykin $ +# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> +# Contributor: Andrea Scarpino <andrea@archlinux.org> +# Contributor: Roman Kyrylych <Roman.Kyrylych@gmail.com> +# Contributor: detto <detto-brumm@freenet.de> +# Maintainer: Daniel J Griffiths <ghost1227@archlinux.us> + +pkgname=gtk-engine-murrine +pkgver=0.98.1.1 +pkgrel=3 +pkgdesc="GTK2 engine to make your desktop look like a 'murrina', an italian word meaning the art glass works done by Venicians glass blowers." +arch=('i686' 'x86_64') +url="http://cimitan.com/murrine/project/murrine" +license=('LGPL3') +depends=('gtk2') +makedepends=('intltool') +options=('!libtool') +source=(http://ftp.gnome.org/pub/GNOME/sources/murrine/0.98/murrine-${pkgver}.tar.bz2) +sha256sums=('e6a2af72674403d06c03e067d915004e8d9cdeec206f3350c7f3ee595b139912') + +build() { + cd murrine-${pkgver} + ./configure \ + --prefix=/usr \ + --enable-animation \ + --enable-animationrtl + make +} + +package() { + cd murrine-${pkgver} + make DESTDIR=${pkgdir} install +} diff --git a/community-staging/irrlicht/PKGBUILD b/community-staging/irrlicht/PKGBUILD new file mode 100644 index 000000000..e09464faa --- /dev/null +++ b/community-staging/irrlicht/PKGBUILD @@ -0,0 +1,94 @@ +# $Id: PKGBUILD 62449 2012-01-20 06:59:03Z svenstaro $ +# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com> +# Contributor: Hilton Medeiros <medeiros.hilton AT gmail DOT com> +# Contributor: Ali H. Caliskan <ali.h.caliskan AT gmail DOT com> +# Contributor: Paolo Fagni <paolo.fagni AT mail DOT com> +# Contributor: Lukas Kropatschek <lukas.krop AT gmail DOT com> + +pkgname=irrlicht +pkgver=1.7.2 +pkgrel=4 +pkgdesc="An open source high performance realtime 3D graphics engine." +arch=('i686' 'x86_64') +url="http://irrlicht.sourceforge.net/" +license=('ZLIB') +depends=('libgl' 'libjpeg' 'bzip2' 'libpng') +makedepends=('mesa' 'unzip') +source=("http://downloads.sourceforge.net/irrlicht/$pkgname-$pkgver.zip" + "irrlicht-1.7.2-libpng15.patch") +md5sums=('eb627d4c432bf73f12bc6d9ddc700b07' + 'a7f8d4aa1bc2880bbeaf3449e09f69a5') +noextract=($pkgname-$pkgver.zip) + +build() { + unzip $pkgname-$pkgver.zip + + cd $srcdir/$pkgname-$pkgver + + patch -Np0 < $srcdir/irrlicht-1.7.2-libpng15.patch + + sed -i -e '/^#.*NON_SYSTEM_ZLIB/d' \ + -e '/^#.*NON_SYSTEM_JPEG/d' \ + -e '/^#.*NON_SYSTEM_LIB_PNG/d' \ + -e '/^#.*NON_SYSTEM_BZLIB/d' \ + include/IrrCompileConfig.h + + cd source/Irrlicht + sed -i -e '/^CXXFLAGS/s:-g.*::' \ + -e '/^CXXFLAGS/s:-Wall::' \ + -e '/^CFLAGS/s/:= -O3 -fexpensive-optimizations/+=/' \ + -e '/^CXXINCS/s:-Izlib -Ijpeglib -Ilibpng::' \ + -e '/^ZLIBOBJ/d' \ + -e '/^JPEGLIBOBJ/d' \ + -e '/^BZIP2OBJ/d' \ + -e '/^LIBPNGOBJ/d' \ + -e '/.o=.d/d' \ + -e '/^staticlib sharedlib: LDFLAGS/s:+=.*:+= -lGL -lXxf86vm -lpng -ljpeg -lbz2 -lz:' \ + -e "/^INSTALL_DIR/s:=.*:=$pkgdir/usr/lib:" \ + -e 's/0-SVN/1/' \ + -e 's/.$(VERSION_MINOR) -o/ -o/' \ + Makefile + + sed -i "s/png_set_gray_1_2_4_to_8/png_set_expand_gray_1_2_4_to_8/" \ + CImageLoaderPNG.cpp + + make sharedlib + + make + + install -d $pkgdir/usr/lib \ + $pkgdir/usr/share/licenses/$pkgname \ + $pkgdir/usr/share/$pkgname/examples/bin \ + $pkgdir/usr/share/doc/$pkgname + + make install + + cd $srcdir/$pkgname-$pkgver/ + install -m644 readme.txt $pkgdir/usr/share/licenses/$pkgname + + # Install static library and fix headers permissions + install -m644 lib/Linux/libIrrlicht.a $pkgdir/usr/lib + chmod 644 $pkgdir/usr/include/$pkgname/* + + # Install media files for examples + cp -r media $pkgdir/usr/share/$pkgname + + # Install documentation + cp -r doc/* $pkgdir/usr/share/doc/$pkgname + rm -f $pkgdir/usr/share/doc/$pkgname/*.txt + + cd $pkgdir/usr/lib + ln -s libIrrlicht.so.$pkgver libIrrlicht.so.1 + + # Just a helper for examples compilation + ln -s libIrrlicht.so.$pkgver $srcdir/$pkgname-$pkgver/lib/Linux/libIrrlicht.so + + # Edit, build and install the examples + cd $srcdir/$pkgname-$pkgver/examples + sed -i '/define USE_IRRKLANG/s:.*://&:' ./Demo/CDemo.h + sed -i '/^CXXFLAGS/d' $(grep -Rl "^CXXFLAGS =" *) + + make + + install -m755 ../bin/Linux/* /$pkgdir/usr/share/$pkgname/examples/bin/ +} diff --git a/community-staging/irrlicht/irrlicht-1.7.2-libpng15.patch b/community-staging/irrlicht/irrlicht-1.7.2-libpng15.patch new file mode 100644 index 000000000..a1426bf29 --- /dev/null +++ b/community-staging/irrlicht/irrlicht-1.7.2-libpng15.patch @@ -0,0 +1,40 @@ +--- source/Irrlicht/CImageLoaderPNG.cpp ++++ source/Irrlicht/CImageLoaderPNG.cpp +@@ -28,7 +28,7 @@ + static void png_cpexcept_error(png_structp png_ptr, png_const_charp msg)
+ {
+ os::Printer::log("PNG FATAL ERROR", msg, ELL_ERROR);
+- longjmp(png_ptr->jmpbuf, 1);
++ longjmp(png_jmpbuf(png_ptr), 1);
+ }
+
+ // PNG function for file reading
+@@ -37,7 +37,7 @@ + png_size_t check;
+
+ // changed by zola {
+- io::IReadFile* file=(io::IReadFile*)png_ptr->io_ptr;
++ io::IReadFile* file=(io::IReadFile*)png_get_io_ptr(png_ptr);
+ check=(png_size_t) file->read((void*)data,(u32)length);
+ // }
+
+--- source/Irrlicht/CImageWriterPNG.cpp ++++ source/Irrlicht/CImageWriterPNG.cpp +@@ -35,7 +35,7 @@ + static void png_cpexcept_error(png_structp png_ptr, png_const_charp msg)
+ {
+ os::Printer::log("PNG FATAL ERROR", msg, ELL_ERROR);
+- longjmp(png_ptr->jmpbuf, 1);
++ longjmp(png_jmpbuf(png_ptr), 1);
+ }
+
+ // PNG function for file writing
+@@ -43,7 +43,7 @@ + {
+ png_size_t check;
+
+- io::IWriteFile* file=(io::IWriteFile*)png_ptr->io_ptr;
++ io::IWriteFile* file=(io::IWriteFile*)png_get_io_ptr(png_ptr);
+ check=(png_size_t) file->write((const void*)data,(u32)length);
+
+ if (check != length)
diff --git a/community-staging/megaglest/PKGBUILD b/community-staging/megaglest/PKGBUILD new file mode 100644 index 000000000..fda998a3c --- /dev/null +++ b/community-staging/megaglest/PKGBUILD @@ -0,0 +1,37 @@ +# $Id: PKGBUILD 62444 2012-01-20 06:40:44Z svenstaro $ +# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com> +# Contributor: Larry Hajali <larryhaja [at] gmail [dot] com> + +pkgname=megaglest +pkgver=3.6.0.2 +pkgrel=2 +pkgdesc="Fork of Glest, a 3D real-time strategy game in a fantastic world." +arch=('i686' 'x86_64') +url="http://sourceforge.net/projects/megaglest/" +license=('GPL3') +depends=('curl' 'megaglest-data' 'xerces-c' 'sdl' 'libvorbis' 'openal' 'libgl' 'lua' 'icu' 'ftgl' 'glew' + 'libircclient' 'miniupnpc' 'wxgtk') +makedepends=('ftjam' 'cmake' 'mesa') +source=("http://downloads.sourceforge.net/${pkgname}/${pkgname}-source-${pkgver}.tar.xz") +md5sums=('9d840a04b41aef2cba503de7bf433b8d') + +build() { + cd "${srcdir}"/"${pkgname}"-"${pkgver}"/ + + [[ -d build ]] && rm -r build + mkdir build && cd build + cmake .. \ + -DWANT_SVN_STAMP=OFF \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_BUILD_TYPE=Release # set =Debug for debugging version + make +} + +package() { + cd "${srcdir}"/"${pkgname}"-"${pkgver}"/ + + cd build + make DESTDIR="$pkgdir" install +} + +# vim: sw=2:ts=2 et: diff --git a/community-staging/megaglest/megaglest.sh b/community-staging/megaglest/megaglest.sh new file mode 100644 index 000000000..571a01be7 --- /dev/null +++ b/community-staging/megaglest/megaglest.sh @@ -0,0 +1,26 @@ +#!/bin/sh + # Wrapper script for Megaglest. + + MAINDIR=/usr/share/megaglest + BASEDIR="$HOME/.config" + DIR="$BASEDIR/megaglest" + if [ ! -d "$DIR" ]; then + mkdir -p $DIR + fi + cd $DIR + [ -f glest.ini ] || cp /usr/share/megaglest/glest.ini . + [ -h megaglest ] || ln -s /usr/share/megaglest/megaglest . + [ -f servers.ini ] || cp $MAINDIR/servers.ini . + [ -f glestkeys.ini ] || cp $MAINDIR/glestkeys.ini . + for i in data scenarios techs tilesets tutorials; do + [ -h $i ] || ln -s $MAINDIR/$i . + done + [ -d maps ] || mkdir maps + [ -d screens ] || mkdir screens + cd maps + for i in $MAINDIR/maps/*; do + [ -h `basename $i` ] || ln -s $i . + done + cd .. + + exec ./megaglest
\ No newline at end of file diff --git a/community-staging/naev/PKGBUILD b/community-staging/naev/PKGBUILD new file mode 100644 index 000000000..477dfb137 --- /dev/null +++ b/community-staging/naev/PKGBUILD @@ -0,0 +1,30 @@ +# $Id: PKGBUILD 62441 2012-01-20 06:29:53Z svenstaro $ +# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com> +# Contributor: Johan Rehnberg <cleanrock@gmail.com> + +pkgname=naev +pkgver=0.5.0 +pkgrel=2 +pkgdesc='2D action/rpg space game' +arch=('i686' 'x86_64') +url="http://code.google.com/p/naev/" +license=('GPL3') +depends=('openal' 'libvorbis' 'sdl_image' 'sdl_mixer' 'libgl' 'libxml2' 'freetype2' 'libpng' 'naev-data') +makedepends=('freeglut') +source=("http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.bz2") +md5sums=('f7d754a17ace87aac540d0d6d48313d6') + +build() { + cd "$srcdir/$pkgname-$pkgver" + + sed -i "41 i #include <zlib.h>" src/opengl.c + + ./configure --prefix=/usr --disable-debug --disable-shave --with-ndata-path=/usr/share/naev/ndata-${pkgver} + make +} + +package() { + cd "$srcdir/$pkgname-$pkgver" + + make DESTDIR="$pkgdir/" install +} diff --git a/community-staging/openimageio/PKGBUILD b/community-staging/openimageio/PKGBUILD new file mode 100644 index 000000000..dd91ef261 --- /dev/null +++ b/community-staging/openimageio/PKGBUILD @@ -0,0 +1,50 @@ +# Contributor: SpepS <dreamspepser at yahoo dot it> +# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com> + +_pkg=OpenImageIO +pkgname=openimageio +pkgver=0.10.4 +pkgrel=5 +pkgdesc="A library for reading and writing images, including classes, utilities, and applications." +arch=(i686 x86_64) +url="http://www.openimageio.org/" +license=('custom') +depends=('openexr' 'boost-libs' 'jasper' 'glew') +makedepends=('cmake' 'qt' 'python2' 'boost') +optdepends=('qt: iv image viewer' 'python2: bindings support') +options=(!buildflags) +source=("https://github.com/$_pkg/oiio/tarball/Release-${pkgver/_/-}" + "openimageio-0.10.2-libpng15.patch") +md5sums=('08a1bc2b82862ad5547bba569f4f633f' + 'd12829808610a54b6bc3350dc5419db3') + +build() { + cd "$srcdir"/$_pkg* + + # remove insecure rpath + sed -i "/RPATH/d" src/CMakeLists.txt + + patch -d src/ -Np0 < $srcdir/openimageio-0.10.2-libpng15.patch + + # strange bug on i686, see https://github.com/OpenImageIO/oiio/issues/204 + [[ $CARCH == "i686" ]] && make debug || make +} + +package() { + cd "$srcdir"/$_pkg*/dist/* + + # prepare dirs + install -d "$pkgdir"/usr/{share/doc/$_pkg,lib/python2.7/site-packages} + + # bin + cp -r bin include lib "$pkgdir/usr" + + # docs + cp -r doc/* "$pkgdir/usr/share/doc/$_pkg" + + # python module + cp -r python/* "$pkgdir/usr/lib/python2.7/site-packages" + + # license + install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE" +} diff --git a/community-staging/openimageio/openimageio-0.10.2-libpng15.patch b/community-staging/openimageio/openimageio-0.10.2-libpng15.patch new file mode 100644 index 000000000..97375d5fb --- /dev/null +++ b/community-staging/openimageio/openimageio-0.10.2-libpng15.patch @@ -0,0 +1,11 @@ +--- ico.imageio/icooutput.cpp ++++ ico.imageio/icooutput.cpp +@@ -32,6 +32,8 @@ + #include <cstdlib> + #include <cmath> + ++#include <zlib.h> /* Z_BEST_COMPRESSION */ ++ + #include "ico.h" + #include "../png.imageio/png_pvt.h" + diff --git a/community-staging/perl-gnome2-wnck/PKGBUILD b/community-staging/perl-gnome2-wnck/PKGBUILD new file mode 100644 index 000000000..3fc8e5ce6 --- /dev/null +++ b/community-staging/perl-gnome2-wnck/PKGBUILD @@ -0,0 +1,28 @@ +# $Id: PKGBUILD 62480 2012-01-20 09:03:15Z spupykin $ +# Maintainer Sergej Pupykin <pupykin.s+arch@gmail.com> +# Contributor: Alessio 'mOLOk' Bolognino <themolok@gmail.com> + +pkgname=perl-gnome2-wnck +pkgver=0.16 +pkgrel=5 +pkgdesc="Perl interface to the Window Navigator Construction Kit" +arch=('i686' 'x86_64') +license=("GPL" "Artistic") +url="http://search.cpan.org/dist/Gnome2-Wnck" +depends=('perl' 'perl-extutils-depends' 'perl-extutils-pkgconfig' 'gnome-perl' 'libwnck') +options=('!emptydirs') +source=("http://search.cpan.org/CPAN/authors/id/T/TS/TSCH/Gnome2-Wnck-${pkgver}.tar.gz") +md5sums=('439f4569ffd7af96ef1d3feaab23760e') + +build() { + cd Gnome2-Wnck-${pkgver} + PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor + make +} + +package() { + cd Gnome2-Wnck-${pkgver} + make install DESTDIR=${pkgdir} + find ${pkgdir} -name '.packlist' -delete + find ${pkgdir} -name '*.pod' -delete +} diff --git a/community-staging/perl-gtk2-sexy/PKGBUILD b/community-staging/perl-gtk2-sexy/PKGBUILD new file mode 100644 index 000000000..de257199e --- /dev/null +++ b/community-staging/perl-gtk2-sexy/PKGBUILD @@ -0,0 +1,30 @@ +# $Id: PKGBUILD 62482 2012-01-20 09:03:53Z spupykin $ +# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> +# Contributor: Charles Mauch <cmauch@gmail.com> +# Creator: Florian Ragwitz <http://search.cpan.org/~/> + +pkgname=perl-gtk2-sexy +pkgver=0.05 +pkgrel=6 +pkgdesc="Perl/CPAN Module Gtk2::Sexy" +arch=('i686' 'x86_64') +url="http://search.cpan.org/dist/Gtk2-Sexy" +license=('GPL' 'PerlArtistic') +depends=('gtk2' 'libsexy') +makedepends=('perl-extutils-pkgconfig' 'perl-extutils-depends' 'gtk2-perl') +options=(docs !emptydirs) +source=("http://www.cpan.org/authors/id/F/FL/FLORA/Gtk2-Sexy-${pkgver}.tar.gz") +md5sums=('3e291808250d7b956ba8443013a1b461') + +build() { + cd Gtk2-Sexy-${pkgver} + PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor + make +} + +package() { + cd Gtk2-Sexy-${pkgver} + make install DESTDIR=${pkgdir} + find ${pkgdir} -name '.packlist' -delete + find ${pkgdir} -name '*.pod' -delete +} diff --git a/community-staging/perl-gtk2-trayicon/PKGBUILD b/community-staging/perl-gtk2-trayicon/PKGBUILD new file mode 100644 index 000000000..b292dc294 --- /dev/null +++ b/community-staging/perl-gtk2-trayicon/PKGBUILD @@ -0,0 +1,29 @@ +# $Id: PKGBUILD 62484 2012-01-20 09:04:30Z spupykin $ +# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> +# Maintainer: Tom K <tomk@runbox.com> + +pkgname=perl-gtk2-trayicon +pkgver=0.06 +pkgrel=8 +pkgdesc="Perl interface to the EggTrayIcon library" +arch=('i686' 'x86_64') +url="http://search.cpan.org/dist/Gtk2-TrayIcon/" +depends=('gtk2-perl') +makedepends=('perl-extutils-pkgconfig' 'perl-extutils-depends') +license=("GPL") +options=('!emptydirs') +source=("http://downloads.sourceforge.net/sourceforge/gtk2-perl/Gtk2-TrayIcon-${pkgver}.tar.gz") +md5sums=('522c328f14681a25d76eeaf317e05049') + +build() { + cd Gtk2-TrayIcon-${pkgver} + PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor + make +} + +package() { + cd Gtk2-TrayIcon-${pkgver} + make install DESTDIR=${pkgdir} + find ${pkgdir} -name '.packlist' -delete + find ${pkgdir} -name '*.pod' -delete +} diff --git a/community-staging/perl-gtk2-webkit/PKGBUILD b/community-staging/perl-gtk2-webkit/PKGBUILD new file mode 100644 index 000000000..0b7126ad3 --- /dev/null +++ b/community-staging/perl-gtk2-webkit/PKGBUILD @@ -0,0 +1,28 @@ +# $Id: PKGBUILD 62556 2012-01-21 09:12:45Z spupykin $ +# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> +# Contributor: Corrado Primier <bardo@aur.archlinux.org> + +pkgname=perl-gtk2-webkit +pkgver=0.09 +pkgrel=2 +pkgdesc="Gtk2::WebKit" +arch=('i686' 'x86_64') +url="http://search.cpan.org/dist/Gtk2-WebKit" +license=('GPL' 'PerlArtistic') +depends=('perl' 'gtk2-perl' 'libwebkit' 'perl-extutils-depends' 'perl-extutils-pkgconfig') +options=('!emptydirs') +source=(http://www.cpan.org/authors/id/F/FL/FLORA/Gtk2-WebKit-${pkgver}.tar.gz) +md5sums=('e696fc2b15d6189370e19bce9a9e56f3') + +build() { + cd Gtk2-WebKit-${pkgver} + PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor + make +} + +package() { + cd Gtk2-WebKit-${pkgver} + make install DESTDIR=${pkgdir} + find ${pkgdir} -name '.packlist' -delete + find ${pkgdir} -name '*.pod' -delete +} diff --git a/community-staging/png2ico/PKGBUILD b/community-staging/png2ico/PKGBUILD new file mode 100644 index 000000000..135b1fee6 --- /dev/null +++ b/community-staging/png2ico/PKGBUILD @@ -0,0 +1,26 @@ +# $Id: PKGBUILD 62486 2012-01-20 09:05:08Z spupykin $ +# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> +# Contributor: dibblethewrecker dibblethewrecker.at.jiwe.dot.org +# Maintainer: Daniel J Griffiths <ghost1227@archlinux.us> + +pkgname=png2ico +pkgver=20021208 +pkgrel=5 +arch=('i686' 'x86_64') +pkgdesc="Converts PNG files to Windows icon resource files" +url="http://www.winterdrache.de/freeware/png2ico/" +license=("GPL2") +depends=('libpng' 'gcc') +source=(http://www.winterdrache.de/freeware/png2ico/data/$pkgname-src-2002-12-08.tar.gz) +md5sums=('9b663df81c826cd564638cba2e6bc75b') + +build() { + cd ${srcdir}/${pkgname} + make +} + +package() { + cd ${srcdir}/${pkgname} + install -D -m755 png2ico ${pkgdir}/usr/bin/png2ico + install -D -m644 doc/png2ico.1 ${pkgdir}/usr/share/man/man1/png2ico.1 +} diff --git a/community-staging/pyqt3/PKGBUILD b/community-staging/pyqt3/PKGBUILD new file mode 100644 index 000000000..53ea4b36c --- /dev/null +++ b/community-staging/pyqt3/PKGBUILD @@ -0,0 +1,29 @@ +# $Id: PKGBUILD 62488 2012-01-20 09:05:44Z spupykin $ +# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> +# Contributor: Tobias Powalowski <tpowa@archlinux.org> +# Contributor: riai <riai@bigfoot.com> Ben <ben@benmazer.net> + +pkgname=pyqt3 +pkgver=3.18.1 +pkgrel=10 +pkgdesc="A set of Python bindings for the Qt3 toolkit" +arch=('i686' 'x86_64') +url="http://www.riverbankcomputing.com/software/pyqt/intro" +depends=('python2-sip' 'qscintilla-qt3') +license=('GPL') +source=("http://www.riverbankcomputing.com/static/Downloads/PyQt3/PyQt-x11-gpl-${pkgver}.tar.gz") +md5sums=('f1d120495d1aaf393819e988c0a7bb7e') + +build() { + cd ${srcdir}/PyQt-x11-gpl-${pkgver} + . /etc/profile.d/qt3.sh + echo yes | python2 configure.py -b /usr/bin \ + -d /usr/lib/python2.7/site-packages \ + -v /usr/share/sip + make +} + +package() { + cd ${srcdir}/PyQt-x11-gpl-${pkgver} + make DESTDIR=${pkgdir} install +} diff --git a/community-staging/python-galago-gtk/PKGBUILD b/community-staging/python-galago-gtk/PKGBUILD new file mode 100644 index 000000000..63427fcf1 --- /dev/null +++ b/community-staging/python-galago-gtk/PKGBUILD @@ -0,0 +1,22 @@ +# $Id: PKGBUILD 62490 2012-01-20 09:06:25Z spupykin $ +# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> +# Contributor: William Rea <sillywilly@gmail.com> + +pkgname=python-galago-gtk +pkgver=0.5.0 +pkgrel=6 +pkgdesc="A library of simple functions that are optimized for various CPUs" +arch=('i686' 'x86_64') +url="http://galago-project.org" +options=('!libtool') +license=('LGPL') +depends=('libgalago-gtk' 'pygtk' 'python-galago') +source=(http://galago-project.org/files/releases/source/galago-gtk-python/galago-gtk-python-$pkgver.tar.bz2) +md5sums=('3eb752eaa87d986bf272cf1266528c43') + +build() { + cd $srcdir/galago-gtk-python-$pkgver + ./configure --prefix=/usr + make + make DESTDIR=$pkgdir install +} diff --git a/community-staging/qcad/PKGBUILD b/community-staging/qcad/PKGBUILD new file mode 100644 index 000000000..a357e619f --- /dev/null +++ b/community-staging/qcad/PKGBUILD @@ -0,0 +1,53 @@ +# $Id: PKGBUILD 62494 2012-01-20 09:33:08Z spupykin $ +# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> +# Contributor: Stefan Husmann <stefan-husmann@t-online.de> +# Contributor: Giovanni Scafora <linuxmania@gmail.com> +# Maintainer: Daniel J Griffiths <ghost1227@archlinux.us> + +pkgname=qcad +pkgver=2.0.5.0 +pkgrel=9 +pkgdesc="A 2D CAD package based upon Qt" +arch=('i686' 'x86_64') +url="http://www.ribbonsoft.com/qcad.html" +license=('GPL2') +depends=('qt3') +options=(libtool) +source=(http://www.ribbonsoft.com/archives/$pkgname/$pkgname-$pkgver-1-community.src.tar.gz + qcad.xpm + QCad.desktop + qcad-intptr.patch + qcad.patch) + # http://ghost1227.com/files/misc/qm.tar.gz) +md5sums=('96b6a56027782aec953c9c4e64c5998c' + 'da32fec0d2fb85d96126bf28bb0ab9ff' + 'b4d1eb6724b4b41f191f1ab6fd859c39' + '92f900fe1fd3a8f841232b587b49c7da' + '7e6779b1e3b10da1eb4daf36d93f8479') + +build() { + export PATH="/opt/qt/bin:$PATH" + export QTDIR=/opt/qt + + cd ${srcdir}/${pkgname}-2.0.5.0-1-community.src + + #Arch64 fix - gentoo patch + [ "$CARCH" = "x86_64" ] && patch -p1 < ../qcad-intptr.patch + patch -p1 < ../qcad.patch + sed -i "s:"-pedantic"::g" mkspecs/defs.pro + + cd scripts + ./build_qcad.sh notrans +} + +package() { + cd ${srcdir}/${pkgname}-2.0.5.0-1-community.src/qcad + + install -D -m755 qcad ${pkgdir}/usr/bin/qcad + install -d ${pkgdir}/usr/share/{qcad,pixmaps,applications} + install -m644 ../../qcad.xpm ${pkgdir}/usr/share/pixmaps/qcad.xpm + install -m644 ../../QCad.desktop \ + ${pkgdir}/usr/share/applications/QCad.desktop + cp -r fonts patterns data library machines ${pkgdir}/usr/share/qcad + #cp -r ${srcdir}/qm ${pkgdir}/usr/share/qcad/ +} diff --git a/community-staging/qcad/QCad.desktop b/community-staging/qcad/QCad.desktop new file mode 100644 index 000000000..a55f5940f --- /dev/null +++ b/community-staging/qcad/QCad.desktop @@ -0,0 +1,9 @@ +[Desktop Entry] +Encoding=UTF-8 +Exec=/usr/bin/qcad +Icon=/usr/share/pixmaps/qcad.xpm +Name=QCad +StartupNotify=true +Terminal=false +Type=Application +Categories=Application;Office; diff --git a/community-staging/qcad/qcad-intptr.patch b/community-staging/qcad/qcad-intptr.patch new file mode 100644 index 000000000..6d8b6acca --- /dev/null +++ b/community-staging/qcad/qcad-intptr.patch @@ -0,0 +1,24 @@ +diff -Naur qcad-2.0.4.0-1.src.orig/qcadlib/src/engine/rs_entity.cpp qcad-2.0.4.0-1.src.patched/qcadlib/src/engine/rs_entity.cpp +--- qcad-2.0.4.0-1.src.orig/qcadlib/src/engine/rs_entity.cpp 2004-09-14 15:13:02.000000000 -0500 ++++ qcad-2.0.4.0-1.src.patched/qcadlib/src/engine/rs_entity.cpp 2006-06-23 14:21:40.000000000 -0500 +@@ -849,7 +849,7 @@ + os << " layer: NULL "; + } else { + os << " layer: " << e.layer->getName().latin1() << " "; +- os << " layer address: " << (int)(e.layer) << " "; ++ os << " layer address: " << (intptr_t)(e.layer) << " "; + } + + os << e.pen << "\n"; +diff -Naur qcad-2.0.4.0-1.src.orig/qcadlib/src/engine/rs_layer.cpp qcad-2.0.4.0-1.src.patched/qcadlib/src/engine/rs_layer.cpp +--- qcad-2.0.4.0-1.src.orig/qcadlib/src/engine/rs_layer.cpp 2004-09-14 15:13:02.000000000 -0500 ++++ qcad-2.0.4.0-1.src.patched/qcadlib/src/engine/rs_layer.cpp 2006-06-23 14:21:23.000000000 -0500 +@@ -57,7 +57,7 @@ + os << " name: " << l.getName().latin1() + << " pen: " << l.getPen() + << " frozen: " << (int)l.isFrozen() +- << " address: " << (int)(&l) ++ << " address: " << (intptr_t)(&l) + << std::endl; + return os; + } diff --git a/community-staging/qcad/qcad.patch b/community-staging/qcad/qcad.patch new file mode 100644 index 000000000..f051f29af --- /dev/null +++ b/community-staging/qcad/qcad.patch @@ -0,0 +1,52 @@ +diff -aur qcad-2.0.5.0-1-community.src.orig/dxflib/src/dl_writer.h qcad-2.0.5.0-1-community.src.new/dxflib/src/dl_writer.h +--- qcad-2.0.5.0-1-community.src.orig/dxflib/src/dl_writer.h 2008-12-11 22:28:20.000000000 +0100 ++++ qcad-2.0.5.0-1-community.src.new/dxflib/src/dl_writer.h 2008-12-11 22:29:51.000000000 +0100 +@@ -37,6 +37,7 @@ + #endif + + #include <iostream> ++#include <cstring> + + #include "dl_attributes.h" + #include "dl_codes.h" +diff -aur qcad-2.0.5.0-1-community.src.orig/qcadactions/src/rs_actionzoompan.cpp qcad-2.0.5.0-1-community.src.new/qcadactions/src/rs_actionzoompan.cpp +--- qcad-2.0.5.0-1-community.src.orig/qcadactions/src/rs_actionzoompan.cpp 2008-12-11 22:28:20.000000000 +0100 ++++ qcad-2.0.5.0-1-community.src.new/qcadactions/src/rs_actionzoompan.cpp 2008-12-11 22:29:51.000000000 +0100 +@@ -23,7 +23,7 @@ + ** not clear to you. + ** + **********************************************************************/ +- ++#include <cstdlib> + #include "rs_actionzoompan.h" + #include "rs_snapper.h" + #include "rs_point.h" +Nur in qcad-2.0.5.0-1-community.src.new/qcadlib/src/engine: rs_entity.cpp.orig.rej. +Nur in qcad-2.0.5.0-1-community.src.new/qcadlib/src/engine: rs_entity.cpp.rej. +Nur in qcad-2.0.5.0-1-community.src.new/qcadlib/src/engine: rs_layer.cpp.orig.rej. +Nur in qcad-2.0.5.0-1-community.src.new/qcadlib/src/engine: rs_layer.cpp.rej. +diff -aur qcad-2.0.5.0-1-community.src.orig/qcadlib/src/information/rs_information.cpp qcad-2.0.5.0-1-community.src.new/qcadlib/src/information/rs_information.cpp +--- qcad-2.0.5.0-1-community.src.orig/qcadlib/src/information/rs_information.cpp 2008-12-11 22:28:20.000000000 +0100 ++++ qcad-2.0.5.0-1-community.src.new/qcadlib/src/information/rs_information.cpp 2008-12-11 22:30:18.000000000 +0100 +@@ -25,7 +25,7 @@ + **********************************************************************/ + + #include "rs_information.h" +- ++#include <cstdlib> + #include "rs_constructionline.h" + + +diff -aur qcad-2.0.5.0-1-community.src.orig/scripts/build_qcad.sh qcad-2.0.5.0-1-community.src.new/scripts/build_qcad.sh +--- qcad-2.0.5.0-1-community.src.orig/scripts/build_qcad.sh 2008-12-11 22:28:20.000000000 +0100 ++++ qcad-2.0.5.0-1-community.src.new/scripts/build_qcad.sh 2008-12-11 22:31:37.000000000 +0100 +@@ -16,9 +16,6 @@ + echo " distcc use distcc for distributed compilation. DISTCC_HOSTS must be set." + echo + +-echo "QTDIR is: $QTDIR" +-echo "QMAKESPEC is: $QMAKESPEC" +- + # detect system: + if [ "x$OS" == "xWindows_NT" ] + then diff --git a/community-staging/qcad/qcad.xpm b/community-staging/qcad/qcad.xpm new file mode 100644 index 000000000..e747fa984 --- /dev/null +++ b/community-staging/qcad/qcad.xpm @@ -0,0 +1,132 @@ +/* XPM */ +static const char * qcad_xpm[] = { +"32 32 97 2", +" c None", +". c #3F3F3F", +"+ c #010180", +"@ c #FFFFFF", +"# c #E0E0EF", +"$ c #41419F", +"% c #4545A1", +"& c #4949A3", +"* c #4D4DA5", +"= c #5151A7", +"- c #5555A9", +"; c #5959AB", +"> c #4444A2", +", c #3C3C9D", +"' c #40409F", +") c #4444A1", +"! c #4848A3", +"~ c #4C4CA5", +"{ c #5050A7", +"] c #5454A9", +"^ c #5858AB", +"/ c #5D5DAD", +"( c #6161AF", +"_ c #6565B1", +": c #5C5CAD", +"< c #6060AF", +"[ c #6464B1", +"} c #6868B3", +"| c #6C6CB5", +"1 c #7070B7", +"2 c #7474B9", +"3 c #7878BB", +"4 c #3F3F9E", +"5 c #4343A0", +"6 c #4747A3", +"7 c #4B4BA5", +"8 c #000000", +"9 c #7C7CBD", +"0 c #8080BF", +"a c #4747A2", +"b c #4B4BA4", +"c c #4F4FA6", +"d c #7B7BBD", +"e c #7F7FBF", +"f c #8383C1", +"g c #5353A8", +"h c #8787C3", +"i c #5757AA", +"j c #8B8BC5", +"k c #4E4EA6", +"l c #5252A8", +"m c #5656AA", +"n c #5A5AAC", +"o c #8787C2", +"p c #8F8FC7", +"q c #5E5EAE", +"r c #8B8BC4", +"s c #8F8FC6", +"t c #9393C8", +"u c #6262B0", +"v c #8E8EC6", +"w c #9292C8", +"x c #9696CA", +"y c #6666B2", +"z c #9A9ACC", +"A c #6A6AB4", +"B c #9E9ECE", +"C c #6565B2", +"D c #6969B4", +"E c #6D6DB6", +"F c #7171B8", +"G c #7575BA", +"H c #9D9DCE", +"I c #A1A1D0", +"J c #7171B7", +"K c #7575B9", +"L c #7979BC", +"M c #7D7DBE", +"N c #8181C0", +"O c #8585C2", +"P c #8989C4", +"Q c #8D8DC6", +"R c #9191C8", +"S c #9595CA", +"T c #9999CC", +"U c #A5A5D2", +"V c #7979BB", +"W c #7D7DBD", +"X c #8181BF", +"Y c #8585C1", +"Z c #8989C3", +"` c #A9A9D4", +" . c #8D8DC5", +".. c #9191C7", +"+. c #9595C9", +"@. c #9999CB", +"#. c #ADADD6", +" ", +" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +" . . . . . . . . ", +" . . . + + + + + + + . . . ", +" . @ . @ + + # # # # # # # + + @ . @ . @ . ", +" . . . . . . . + # # $ % & * = - ; > > + . . . . . . . . . ", +" . . + # , ' ) ! ~ { ] ^ / ( _ > + . . ", +" . . + # , ' ) ! ~ { ] ^ : < [ } | > + . . ", +" . @ + # , ' ) ! ~ { ] ^ : < [ } | 1 2 > + @ . @ . ", +" . . . . + # ' ) ! . . . . . . . . . 1 2 3 > + . . . . . . ", +" . + # 4 5 6 7 . @ @ @ @ @ @ @ . 8 3 9 0 > + . . ", +" . + # 5 a b c . @ @ @ @ @ @ @ . 8 d e f > + . . ", +" . + # a b c g . @ @ @ @ @ @ @ . 8 e f h > + . @ . ", +" . . . + # b c g i . @ @ @ @ @ @ @ . 8 f h j > + . . . . . ", +" . + # k l m n . @ @ @ @ @ @ @ . 8 o j p > + . . ", +" . + # l m n q . @ @ @ @ @ @ @ . 8 r s t > + . . ", +" . + # m n q u . @ @ @ @ @ @ @ . 8 v w x > + . @ . ", +" . . . + # n q u y . @ @ @ @ @ @ @ . 8 w x z > + . . . . . ", +" . + # q u y A . @ @ @ @ @ @ @ . 8 x z B > + . . ", +" . + > C D E . . . . . . . . . 8 z B > + . . ", +" . @ + > D E F G 8 8 8 8 8 8 8 8 8 H I > + @ . @ . ", +" . . . . . + > J K L M N O P Q R S T H I U + . . . . . . . ", +" . . + > V W X Y Z Q R S T H I U ` > + . . ", +" . . + > > Y Z ...+.@.H > U ` #.#.> + . . ", +" . @ . @ + + > > > > > > > + > #.#.#.> + . @ . ", +" . . . . . . . . . . + + + + + + + . + > #.#.> + . . . . . ", +" . . . . . + > > + . . ", +" . . . . . + + . . ", +" . @ . @ . @ . @ . @ . @ . @ . ", +" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +" ", +" "}; diff --git a/community-staging/remmina-plugins/PKGBUILD b/community-staging/remmina-plugins/PKGBUILD new file mode 100644 index 000000000..54e6082f3 --- /dev/null +++ b/community-staging/remmina-plugins/PKGBUILD @@ -0,0 +1,29 @@ +# $Id: PKGBUILD 62496 2012-01-20 09:33:49Z spupykin $ +# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> +# Contributor: Stijn Segers <francesco dot borromini at gmail dot com> + +pkgname=remmina-plugins +pkgver=0.9.2 +pkgrel=3 +pkgdesc="Remina plugins" +#"Remmina supports multiple network protocols in an integrated and consistant user interface. +# Currently RDP, VNC, XDMCP and SSH are supported." +arch=(i686 x86_64) +url="http://sourceforge.net/projects/remmina/" +license=('GPL') +conflicts=(remmina-plugins-svn) +depends=("remmina>=0.9.0" freerdp libxkbfile telepathy-glib) +makedepends=(intltool pkgconfig gettext perl avahi) +install=remmina-plugins.install +options=('!libtool') +source=(http://downloads.sourceforge.net/project/remmina/0.9/$pkgname-$pkgver.tar.gz) +md5sums=('6f6b7cb18f7604f3f17eeda5173ede6a') + +build() { + cd $srcdir/${pkgname}-${pkgver} + ./configure --prefix=/usr --enable-ssh --enable-rdp \ + --enable-vnc --enable-xdmcp --enable-nx \ + --enable-telepathy + make + make DESTDIR=${pkgdir} install +} diff --git a/community-staging/remmina-plugins/remmina-plugins.install b/community-staging/remmina-plugins/remmina-plugins.install new file mode 100644 index 000000000..1a05f573e --- /dev/null +++ b/community-staging/remmina-plugins/remmina-plugins.install @@ -0,0 +1,11 @@ +post_install() { + gtk-update-icon-cache -q -t -f usr/share/icons/hicolor +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/community-staging/scorched3d/PKGBUILD b/community-staging/scorched3d/PKGBUILD new file mode 100644 index 000000000..8a481c910 --- /dev/null +++ b/community-staging/scorched3d/PKGBUILD @@ -0,0 +1,64 @@ +# Contributor: Seppo Porspakka <sporspak@paju.oulu.fi> +# Maintainer: Daniel J Griffiths <ghost1227@archlinux.us> + +pkgname=scorched3d +pkgver=43.2a +pkgrel=2 +pkgdesc="A 3d artillery combat game" +arch=('i686' 'x86_64') +url="http://www.scorched3d.co.uk/" +license=('GPL') +depends=('sdl_net' 'wxgtk' 'freealut>=1.0.0-3' 'libvorbis' 'mesa' 'fftw' 'libjpeg>=8' 'xdg-utils') +makedepends=('sharutils') +install=scorched3d.install +source=("http://downloads.sourceforge.net/${pkgname}/Scorched3D-${pkgver}-src.tar.gz" + 'scorched3d.desktop' + 'scorched3d.png.uu' + 'scorched3d-42.1-gcc43.patch' + 'scorched3d-42.1-fixups.patch' + 'scorched3d-libpng1.5.patch' + 'libpng14.patch') +md5sums=('876de173218fd83a2b0a30255ba694fa' + 'b951f2150004e10fdff3e6226f1a3939' + '178a281333006c6a5a92919865c1d7af' + '053769f77a38c252eef1d967b18e93e6' + 'dfde556559d95bca07c4a390c60790b4' + 'ec6958191751b5a2c44aa15abfc75269' + 'c8c03855fd3693122fd39427fa3638c1') + +build() { + cd scorched + +# patch -Np1 -i ${srcdir}/scorched3d-42.1-gcc43.patch + patch -Np1 -i ${srcdir}/scorched3d-42.1-fixups.patch + patch -Np1 -i ${srcdir}/scorched3d-libpng1.5.patch +# patch -Np0 -i ${srcdir}/libpng14.patch + + WANT_WXGTK=gtk2 + sh autogen.sh \ + --prefix=/usr \ + --datadir=/usr/share/scorched3d \ + --disable-openaltest \ + --with-wx-config=wx-config + + #sed -i 's/-lz/-lz -lalut/g' src/scorched/Makefile || return 1 + #sed -i 's|/usr/local/lib/libwx_gtk-2.4.a||' src/scorched/Makefile || return 1 + + make +} + +package() { + cd scorched + + make DESTDIR=${pkgdir} install + + # freedesktop stuff - png and desktop file ganked from debian + cd ${srcdir} + + uudecode --output-file=scorched3d.png scorched3d.png.uu + + install -D -m644 scorched3d.png \ + ${pkgdir}/usr/share/icons/hicolor/48x48/apps/${pkgname}.png + install -D -m644 scorched3d.desktop \ + ${pkgdir}/usr/share/applications/${pkgname}.desktop +} diff --git a/community-staging/scorched3d/libpng14.patch b/community-staging/scorched3d/libpng14.patch new file mode 100644 index 000000000..7a5a9434c --- /dev/null +++ b/community-staging/scorched3d/libpng14.patch @@ -0,0 +1,38 @@ +--- src/common/image/ImagePng.cpp 2009-02-23 04:14:20.000000000 +0100 ++++ src/common/image/ImagePng.cpp_patched 2010-01-24 22:01:04.000000000 +0100 +@@ -189,7 +189,7 @@ + info_ptr = png_create_info_struct(png_ptr);
+ if (info_ptr == NULL)
+ {
+- png_destroy_read_struct(&png_ptr, png_infopp_NULL, png_infopp_NULL);
++ png_destroy_read_struct(&png_ptr, NULL, NULL);
+ return false;
+ }
+
+@@ -200,7 +200,7 @@ + if (setjmp(png_jmpbuf(png_ptr)))
+ {
+ /* Free all of the memory associated with the png_ptr and info_ptr */
+- png_destroy_read_struct(&png_ptr, &info_ptr, png_infopp_NULL);
++ png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
+ /* If we get here, we had a problem reading the file */
+ return false;
+ }
+@@ -258,7 +258,7 @@ + }
+ else
+ {
+- png_destroy_read_struct(&png_ptr, &info_ptr, png_infopp_NULL);
++ png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
+
+ Logger::log(S3D::formatStringBuffer(
+ "Invalid PNG format.\n"
+@@ -272,7 +272,7 @@ + // END NEW CODE
+
+ /* clean up after the read, and free any memory allocated - REQUIRED */
+- png_destroy_read_struct(&png_ptr, &info_ptr, png_infopp_NULL);
++ png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
+
+ /* that's it */
+ return true;
diff --git a/community-staging/scorched3d/scorched3d-42.1-fixups.patch b/community-staging/scorched3d/scorched3d-42.1-fixups.patch new file mode 100644 index 000000000..36a027cb6 --- /dev/null +++ b/community-staging/scorched3d/scorched3d-42.1-fixups.patch @@ -0,0 +1,58 @@ +diff -ru scorched.orig/configure-al.m4 scorched/configure-al.m4 +--- scorched.orig/configure-al.m4 2008-03-03 16:17:18.000000000 -0500 ++++ scorched/configure-al.m4 2009-02-15 20:43:35.000000000 -0500 +@@ -7,25 +7,9 @@ + [ --disable-openaltest Do not try to compile and run a test OpenAL program], + , enable_openaltest=yes) + AC_MSG_CHECKING(for OpenAL support) +-AC_PATH_PROG(OPENAL_CONFIG, openal-config, no) +-if test x$OPENAL_CONFIG = xno; then +- echo "*** The openal-config script installed by OpenAL could not be found" +- echo "*** Make sure openal-config is in your path, or set the OPENAL_CONFIG" +- echo "*** environment variable to the full path to openal-config." +- +- AC_MSG_ERROR([*** Can't find the openal library. Try: http://www.openal.org/]) +-else +- +- if test x"$use_static_openal" = x"yes"; then +- AL_LIBS="/usr/local/lib/libopenal.a" +- else +- AL_LIBS="`$OPENAL_CONFIG --libs`" +- fi +- +- AL_CFLAGS="`$OPENAL_CONFIG --cflags`" +- +- AC_MSG_RESULT(yes) +-fi ++AL_LIBS="-lopenal" ++AL_CFLAGS="-I/usr/include/AL" ++AC_MSG_RESULT(yes) + + AC_MSG_CHECKING(for Freealut support) + AC_PATH_PROG(FREEALUT_CONFIG, freealut-config, no) +diff -ru scorched.orig/configure.ac scorched/configure.ac +--- scorched.orig/configure.ac 2008-03-03 16:17:18.000000000 -0500 ++++ scorched/configure.ac 2009-02-15 20:40:30.000000000 -0500 +@@ -13,22 +13,6 @@ + AC_PROG_INSTALL + AC_PROG_RANLIB + +-LDFLAGS="-L/usr/X11R6/lib -L/usr/X11R6" +-CPPFLAGS="-I/usr/X11R6/include -I/usr/X11R6" +- +-if test `uname` == Darwin; then +-LDFLAGS="$LDFLAGS -lmx" +-CPPFLAGS="$CPPFLAGS -DFFTW_USE_DOUBLE -D__DARWIN__ -D__MACOSX__" +-else +-LDFLAGS="$LDFLAGS -L/usr/local/lib" +-CPPFLAGS="$CPPFLAGS -I/usr/local/include" +-fi +- +-AC_CHECK_LIB(fridge, beer, echo "Hmm?!",[ +- echo "Warning: No beer found in fridge!"; +- echo "We highly suggest that you rectify this situation immediately." +-]) +- + AC_ARG_ENABLE(serveronly, + [ --enable-serveronly Enable server only compilation], + , enable_serveronly=no, diff --git a/community-staging/scorched3d/scorched3d-42.1-gcc43.patch b/community-staging/scorched3d/scorched3d-42.1-gcc43.patch new file mode 100644 index 000000000..b235f07c5 --- /dev/null +++ b/community-staging/scorched3d/scorched3d-42.1-gcc43.patch @@ -0,0 +1,24 @@ +diff -ur scorched.old/src/common/common/main.h scorched/src/common/common/main.h +--- scorched.old/src/common/common/main.h 2009-02-18 20:06:22.000000000 +0200 ++++ scorched/src/common/common/main.h 2009-02-18 20:07:18.000000000 +0200 +@@ -40,7 +40,7 @@ + void _no_storage()
+ {
+ printf("Failed to allocate memory!!");
+- std::exit(1);
++ exit(1);
+ }
+
+ void run_main(int argc, char *argv[], OptionsParameters ¶ms)
+diff -ur scorched.old/src/common/porting/windows.h scorched/src/common/porting/windows.h +--- scorched.old/src/common/porting/windows.h 2009-02-18 20:06:22.000000000 +0200 ++++ scorched/src/common/porting/windows.h 2009-02-18 20:06:46.000000000 +0200 +@@ -20,7 +20,7 @@ + typedef unsigned short WORD;
+ typedef unsigned char BYTE;
+
+-typedef int HWND;
++// typedef int HWND;
+ typedef void * HINSTANCE;
+ typedef int WPARAM;
+ typedef int LPARAM;
diff --git a/community-staging/scorched3d/scorched3d-libpng1.5.patch b/community-staging/scorched3d/scorched3d-libpng1.5.patch new file mode 100644 index 000000000..4e8f003b8 --- /dev/null +++ b/community-staging/scorched3d/scorched3d-libpng1.5.patch @@ -0,0 +1,74 @@ +--- ./src/common/image/ImagePngFactory.cpp.old 2011-09-12 12:34:30.114461019 +0200 ++++ ./src/common/image/ImagePngFactory.cpp 2011-09-12 12:39:28.566425593 +0200 +@@ -104,7 +104,7 @@ +
+ static void user_png_error(png_structp png_ptr, png_const_charp msg)
+ {
+- longjmp(png_ptr->jmpbuf,1);
++ longjmp(png_jmpbuf(png_ptr),1);
+ }
+
+ static void user_png_warning(png_structp png_ptr, png_const_charp msg)
+--- ./src/client/client/LoadPNG.cpp.old 2011-09-12 12:45:49.167380419 +0200 ++++ ./src/client/client/LoadPNG.cpp 2011-09-12 14:11:14.961772024 +0200 +@@ -28,6 +28,8 @@ + int row, i; + volatile int ckey = -1; + png_color_16 *transv; ++ png_colorp png_palette; ++ int num_palette; + + if ( !src ) { + /* The error message has been set in SDL_RWFromFile */ +@@ -58,7 +60,7 @@ + * the normal method of doing things with libpng). REQUIRED unless you + * set up your own error handlers in png_create_read_struct() earlier. + */ +- if ( setjmp(png_ptr->jmpbuf) ) { ++ if ( setjmp(png_jmpbuf(png_ptr)) ) { + error = "Error reading the PNG file."; + goto done; + } +@@ -127,9 +129,9 @@ + Rmask = 0x000000FF; + Gmask = 0x0000FF00; + Bmask = 0x00FF0000; +- Amask = (info_ptr->channels == 4) ? 0xFF000000 : 0; ++ Amask = (png_get_channels(png_ptr, info_ptr) == 4) ? 0xFF000000 : 0; + } else { +- int s = (info_ptr->channels == 4) ? 0 : 8; ++ int s = (png_get_channels(png_ptr, info_ptr) == 4) ? 0 : 8; + Rmask = 0xFF000000 >> s; + Gmask = 0x00FF0000 >> s; + Bmask = 0x0000FF00 >> s; +@@ -137,7 +139,7 @@ + } + } + surface = SDL_AllocSurface(SDL_SWSURFACE, width, height, +- bit_depth*info_ptr->channels, Rmask,Gmask,Bmask,Amask); ++ bit_depth*png_get_channels(png_ptr, info_ptr), Rmask,Gmask,Bmask,Amask); + if ( surface == NULL ) { + error = "Out of memory"; + goto done; +@@ -185,12 +187,15 @@ + palette->colors[i].g = i; + palette->colors[i].b = i; + } +- } else if (info_ptr->num_palette > 0 ) { +- palette->ncolors = info_ptr->num_palette; +- for( i=0; i<info_ptr->num_palette; ++i ) { +- palette->colors[i].b = info_ptr->palette[i].blue; +- palette->colors[i].g = info_ptr->palette[i].green; +- palette->colors[i].r = info_ptr->palette[i].red; ++ } else { ++ png_get_PLTE(png_ptr, info_ptr, &png_palette, &num_palette); ++ if (num_palette > 0 ) { ++ palette->ncolors = num_palette; ++ for( i=0; i<num_palette; ++i ) { ++ palette->colors[i].b = png_palette[i].blue; ++ palette->colors[i].g = png_palette[i].green; ++ palette->colors[i].r = png_palette[i].red; ++ } + } + } + } diff --git a/community-staging/scorched3d/scorched3d.desktop b/community-staging/scorched3d/scorched3d.desktop new file mode 100644 index 000000000..b18d86581 --- /dev/null +++ b/community-staging/scorched3d/scorched3d.desktop @@ -0,0 +1,17 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Exec=/usr/bin/scorched3d +Icon=scorched3d.png +Terminal=false +Name=Scorched 3D +Name[lt_LT]=Scorched 3D +Comment=3D artillery game similar to Scorched Earth +Comment[de_DE]=3D Reimplementation des Klassikers Scorched Earth +Comment[fr_FR]=un jeu d'artillerie en 3 proche de Scorched Earth +Comment[lt_LT]=Nuotaikingas 3D taktinis-artilerinis žaidimas, panaÅ¡us į Scorched Earth +Comment[pl_PL]=Artyleryjska gra 3D podobna do Scorched Earth +Comment[ro_RO]=Un joc 3D cu artilerie similar cu Scorched Earth +Categories=Game;ArcadeGame; +StartupNotify=true diff --git a/community-staging/scorched3d/scorched3d.install b/community-staging/scorched3d/scorched3d.install new file mode 100644 index 000000000..c5571196e --- /dev/null +++ b/community-staging/scorched3d/scorched3d.install @@ -0,0 +1,11 @@ +post_install() { + which xdg-icon-resource 1>/dev/null 2>/dev/null && xdg-icon-resource forceupdate || true +} + +post_upgrade() { + which xdg-icon-resource 1>/dev/null 2>/dev/null && xdg-icon-resource forceupdate || true +} + +post_remove() { + which xdg-icon-resource 1>/dev/null 2>/dev/null && xdg-icon-resource forceupdate || true +} diff --git a/community-staging/scorched3d/scorched3d.png.uu b/community-staging/scorched3d/scorched3d.png.uu new file mode 100644 index 000000000..4fb7e50db --- /dev/null +++ b/community-staging/scorched3d/scorched3d.png.uu @@ -0,0 +1,105 @@ +begin 600 scorched3d.png +MB5!.1PT*&@H````-24A$4@```#`````P"`8```!7`OF'````!F)+1T0`_P#_ +M`/^@O:>3````"7!(67,```L2```+$@'2W7[\````!W1)344'TP@#%`([XJF@ +M!```$5Q)1$%4>-IEFNER9$>.I3_`W>\2$0PFF5*VI.HJ]58]2\\\W#S/O,*\ +M35LO9FU5U:62E,H4DUM$W+B+.S`__`:3.4.S(!D+G0XX<`"<X_)__O?_<EQ0 +M4R0(D@1M%$3`'35##,1!J:^[.#D;RY)9<@9`4*(H3=.0VH;4)&+3(!IPE-F4 +M;)E<9G(I+'EAR3.S%<P<UO4C2D!0P''<"U@!G\$S:@"*J**J1$0``:T_G/H0 +M'-:W$%Z^1`1$J#\$%<'7CSK@[OBZ(=SK<]8W5U/QZA"0S\NO[SOU\[;^_OE+ +M$;3N;=T#"!%M>%E1``7#7O:LNKY\>5L4$46BH0[!A&(%6RVW[)A:?6`0%2YK +M7'SLCI9"S`JF%#.*.RZ0<<H7&[_\922@J`*BB`10):I62U0_>]P13.J.RNI> +M\6JT**@(JG7!((&\+"S%,*_^*Z6P+`N(5+\%K2'AH":H"V%UD;O@)K@[1C7" +M^"(H$`25@$A`D.K`]1'U$D$JH`(")EJ/4JH7Q1T10500$8(J(20\@,7"HHHL +MF:64NA$WBF6D*$D4UNW6DW2T1@2H4$Q1##=>@L;7]X-`6/TOJA#J&<H:4((0 +M]8L8D^IAA>*">3U[4\>I[H\2""$14T,0Q=V)*:'SC,PSMAHAHC6DS!&QEVA0 +M<50+N.%:(PRM)VSV*G"L[D/EQ=;Z_!*/4LV-U>2:C+IZ^7)\944<=P=WS)6" +MDET)*(1(%%!=CQ1A67)%%2`$)28(T590DW630K:P[BJO8`"F@E\,74,UB"`H +M&@4)6G,7J>'FA8A51`EK=M>-U.R-"*;4V#;'33&4[$*T&L<2`DD5<4$<8A!L +M=65J'8V@T8G!<0/+PE*$>0DLLR+FB!;4'!.P=3,:(8BNP5?#0M?C,*=^\T*\ +MQ!0&8H*8HC'4.%^-<;P:DF6%6'U!'05B4+2)A`@Q&*(9C87-KE`,<E'ZKCK< +M#4S@>!2>'H7C(>$.^`(X&@5-]0A4:CU`P"ZG9]6A9H8!<<V=NHB!NN!>$R2( +M$+7B+\Z*$(*+$E5I4Z!-2A.@:2$V`0V1)<.\*,L26):`E8CDZD$-H(W2=L[U +MC='VQN%9.1TCF*&QADN%O!6:J;7,N(3R)=F%6%[5*<$1JT>-"BI*#"M<ND(` +MUYK,0964E*81^@9V^T*W=7*.'`=E6HSC,^1%P0(3B@9!D]/T@=@4NDVFVP%) +M*2HL4\5J"6L=7C=?S"E2/7XICK:&5OPB]0U$5YA#<6+%6JEP^)(CHDB,A*BT +MC;#?9YJM8QIX>@Z<#LXX&%(*458(6=N0;$X^*8R*)*7=&+M]H=_!XWU@FI1< +M!#"L&%B%<A-J&*.X644Z@YA\K7JE(H6JD41H@M)$I0G5@(H4*PY+P`BDY/1] +M(23C/,!Q"`P'9YX-*]587YL"P0`A6,5`%\6+D*>.%`N;WI$;Y7A23L,*!%JP +M4M"2U[XH5_A]`14G-E*K8#$C3\Z2'9%(U(@$1UP@:(6PM38Z%5YC*K3=0B[. +MTX/R\""8%\!>"IJ9X6XKEE=@4%5<:IW)4T..1I.<JRO#$9:L+%EP@Z!>6P>L +MPO":!W5]B*W68C2;\O[^Q"]/$[NK*Z[W6V[V6][>7K'?);8Q$3#<*RHU<:9I +M,N[&W9UP.!CC7"MP[2"]'OUZW*I"4"&J$&)$".`!`XX'9YJ,K]_---%IDF(% +MT$+0@FFI38)'4'`K&`7#B#5?!(F1?=<P+@:>F8:!3WGA<!I(*9%BI$F!)B7Z +M+G)S#;$7/"GG'%B\QJE?DLXR!J@&0)A+1LQ0@5`J]H-2J+`8)J-I9V)RND8H +MDZ(.B&.J2-0:B*:89\K:[;XT<R$J7]\HNVW+,&:F;$QYXNE\9ER,;$+3-/1] +MS_6^PV/"FT@S1QX&R/.E1=;:2VE$-!";%@V1:3Q32J:8,2\%]Z6BC%2T"=$( +MSX7]WNA:F#0B5F<)%<5"((IBQ2C4&B%`),::H!K8]BU7JB_]M@.+%<[CPG#. +M#%-A*E#*PFB9/[V?>7A<.#XE^G[+?K^A2Y&NV=!WB7[;TVXVI)0HR\PTCIR' +M,X?G`]-T)N<9UT((D%R8BX,**0EHPB0"L9Z`2VWL&JM-GH!BQ*YI$8$8(Q)J +M@K$F]6*&B-'UB7Z[XYONBBRU"]W?9H[#3&H6NL98EL+3X<Q_?+RCY$R*@=W5 +MCNUN0]]W-*&V&FZ.F3-.QFD8&<Y';FYZWGV]HW@M5AZ@2*`00`*N^C*;!(6H +MBJMB"'';M?4$0FVNBCMYSLQ+8<R9C-%N-ER]N>7FJ^\(38L$H]^>&2?C]@8> +M[T=^?O\K?_CC#_SSO_X'#P_/F#G]IF.WW;#;;=AO.KJVI>LZ=KLM<\X<CD?N +M/]WS=_(5[][=@$1$"Q(<-.$2L,M4L#:A(=0V0Z2B86S;ME8_58IY+1X8(DK3 +M=%R_N66SOZ'=7)$-IF%"-=,T`^)*TH:^ZYCGS*]W#WRZ>^+A\8EY69B73(R) +MON^XOM[1Q$@,@;9-A)1`A.D\<7.S9YH:;F[?L-TY_::PW22PPCS/Y)()XH10 +M>R\3(XH3)!!I4^TWO-8#1`A-H&EZ9@+/H_/+TZ^<AI\XG4=4A>TF\NUWT'4= +ML"7/&VZNKOAOO_];MEW'X],3A].)^\<#3\\GSN/,D@OC.%.6"K.I;>C[CDW7 +M`PFC(<:.%`,BA7DVAK,Q34Z,@IHCJ>9+$"?%.IM$"^O@D2&;D;,S%6?RP'') +M_/CA$S_]_)$/'SYQGB:ZKN7F9LOW'UO>OMVQV>[QY0U-ZOB;WW[';[[]FF$< +M:W@\///^PR<^WCTPG$>.AX'#X<0PG"C+@K>)_7[+]9LW['8W;+:WI#;@S#P? +M'_CT,#%/$U>;!%V=RV-R0@()0A`EEIPKG!D,T\3=_9%_^_,=[^^>^7C_Q(>/ +M=QP.)Y:<Z=J6INOH?TG\_![>WD:VFX['QQU]=\6;-UNNMCW;7<]NN^'W?_<[ +M_LO??\^2"Z?AS/W]$[]^NN?CW0/G822&P&^__VO^Z;__(__T/_XGUV^_I6V= +MP^%7'I_>\_[GCYS/`U]]=<N;ZXZ=)'I;$#=B,E0A+N?I90X=AH%?'Q[Y]S_^ +MP(>[9TZG,\=A8)XSYHZ&B$\S9H5E<8H)U_LSQ^/`I\<G?OJEI>NJ4=MMSWZW +MH>M:FB;1Q$A*@6_^ZBN^_NH6`5*,7%WMN;W>$.5$TA^Y^S#PGW_ZP,/])Z9I +M).?,\^&XSI4]NNG0:&A9R,M$'`]CG2_%.9T&'IX.O/]PQ]/S@`!=DP@Q4@Q" +M#&BHY78<A6%PNKX0NY'#_<C#IPJ#(0@I**E)M&W#MN^X?;/G]LV>FYL]-]=7 +M;'<;NK:MU;:<.#[_F9AF_O*G1_[M7QXX'L]`(47E/$W(40DA$%,/ZDQS85YF +MXO/3<VU&W7@^C8SGJ<96C!6V5`GF9*O]#-0FS0W&T3B=X/9MY&H'TRB<S[(2 +M4,*2"Z6,G,\3]T\'XH^_$&.@:Q)-T]+W+5^_W?&/_[#'PXY?'S?<?RJH))QQ +MG4F$B)*7S.%P1*/R^&3,XYEE?B(^'0XU!XHQC#-YFHCJJ$#.1EXR2UF+&J_H +M%73-'2%%IVV$OWJG/#XIX]E9%BB7YFBE$30(JL()Z+K`DB,I/?*'/[=\^-0Q +MCALVW1NNMGMN;ZY9ELPT+XQSQLV9Y\S=W0,/#\\<#@?>W2;BTVFH\V1VQCE# +MSEQU$2N%\Y0Y#3/C-'.><QWY@A""$C0PC<HX"%C@W3ME?ZVXURE[,*&XKD8( +M(01"K".EN-$T1MLNY#+PPX_.\03G4\/O_OHW_/[O$^_>WM!WPC@OR'DB+POS +M-//IXSU_^<M[#H<#5]TWQ-D,'$JNA.*V;_FOO_V*XL8P+?SQIWO^\Y<'GHY# +M'3M+S2>7.GHJPFF(W#TH^^O`M]\$=E>![29@IDRSDK.2&EM[+MANG1AK-1U' +MY7!0#@<P,W[X\0/'X\`_?/\=W__N.[YY=TLV>'X^\O/[C_ST\Z_<W3\B7LCC +M3-1X804*%".XT,?*S*4F\NU7UPQSYCQGAO-<*_7:WQM0W+$Y,Q?A/"TL<Z!K +M`TU2N@YP!8^D%'$32A&F43@599Z$G(5I$J:YLGXY9^9YP;)QGA:^GQ?^]F]^ +MP]PFBM7^:9XS;81ESL38=+4"ATQ>,B67VG"Y(P%NWNSX=BG,Q;B[/S%-"VY. +M4&$Q8RX%S"C%&$[.<#2:F.EZX?K:2#'4ZJJ)4I1Y%MR5\ZA,XTJ=K+FANB;_ +MLO##./-\''@^#ESO-PSCS-/SB6G)B$`*0LZ%V&S:RJ0MB@D4@&R44LA6F>#; +MZRTI!6ZN=QQ/(^-8Q\AA'!G.4^5ZO!+!>5DP<X;!&0;08*@:*C/%:F*+*#$$ +M8HBDF.C:1*.ALH%4DM<\\_C\Q/D/`Z?SB7DN/#T-Y#FSZ1*[7A"\AI!8_:/@ +MCKD`I?:`7CG*E!+;+4A0=IN6>2[D8LS+PC3/S'.IW>N<.9U&2JD$^9*-I13* +M4GOXRE`Z3J$$)ZLQ+IEIF9F;R*9OB1>F3VMOEJ>9GW[^6!$Q&UT3V/21W2Y" +M$*(2,'5$`R$X'E^Q7^Z4XH@Z(00V?4O7-!1SW&SUE#&."^<Q<SK//+>)G(UB +MQI07AO/,.&52N-#ISIP+[E8I^>Q,,TQS1,3INY96$U$J+6_NG,\CI3@A*&VC +M;#?*9I-`A;B"T$42X44L62EWC8JZ(U[YF(Q3IUTJ>Q8"_2[0]<Y^W_'UVQTY +M&U/.#,/$\7CF-,RX5*1;E@SC1"DK*@4A%Z<8/)TFIL78M(5MW]$VL0HL"DF$ +MO@F\O>G8;!*ZTMIQ\4J'9RN4]6%8A<D+'Q650*!(C>E@QDH\X.*KW%1;B)`@ +MF1-SI$V13=^PS+ERI-E8EH5AG%B6\D*YG*?,>39$E9@:NKYCLVE0$8H9082^ +MB[RYZMCU+3&N6AU2#<"=[%:%":P.VJN'-2A10%01C^B*.!5\:JBLN@SF==!& +MI`I^*;+9M)7/S%"*D4MF7!:6N9"7VL^<QIEA*D!DN^VXWK7LNE!/<BJH*M=7 +M#;?7'6U*5.G!7Y&[%_5!0A4X*E6-F%<!8I6!"I=-&-E6AMB,[%`L5RIEG7O= +M#,OE)1Z5VL-'E&Z3UC7!<F$I1BZ5J&I2H&N4)@AF3C80=YHHI*B5`O)5Z`-B +M2DT=XD4H6A!3I!AJ!<>1U0!<JEY0?%W8<;>7WW.)%,_5J%)'TZPU67&'^#F_ +M*O$LE6>W"X-WD5J=L(9E")!6-2JL%&NEBFJ3!T+LNPYW(^=:&'(NF&3<9>7; +M/U/OH+A66348+SQE-J.40+:`6<:+48JS6*@<Y\J_OBQS>;*"1JC'ACI5HBJE +MDF(X0==18'T`*R>T)O%^+633HLS+PJ(+12^48)W4[.6?VPM-:PJR2DEZT6*+ +M5_980(*!*69RV?]GA*L#R.?7W/%2_^>*"%32I"JD]H5:#*]-BGV;,#/$"V(% +M<2&[D!%RJ8N;5;$NNU&\4H>.UUCTSYLP').:U'43CE"5%7^M=2,O^@54`UT" +ME`H"KK7*5CG%7B1L6?6!U^Z(30R8"::*ARH!N=22CJ_)N,;Y;)EL3G%J;%?M +MLDY5Z^+FSJNMO4C5_D74^"L1>\6/VK54[<'7JP9NM2NX2/W.NL%7!JRD5Q7C +MRN<XN\1/A<I"MK*BSF>-BE>W%'3UV/^SM?__KL(7*2#82W)X#9MU"E,#\:I\ +M:CW;SU</UIQQA^A>U@0J-6FH@&$B>!!LI?N*5W2HWO*UT-466%]YV\)%<UL_ +MJZOZN?96_OI.A=L7]R1>3E16+<U7]5JK(7[)!G<PIY@3W3)NAE@AK)ML%`C5 +M=J$FEB`448HXQ5=5'WFY3E"/=I6"ULVY7&*\>KIVK:MH9Q7WY8M(NNC5*P^Z +M$KK$]?4+CEDMNFI&).=U54/<JI>3U.9.A$:5%)0EE/4^Q.OCKWY7>Y7,:^R: +MKW<GW&N..36??*TCE_!YC3#VZCZ&U@L*0:HX&%;9%;<J<'AM>?XO+.\[U&WH +.P#``````245.1*Y"8((` +` +end diff --git a/community-staging/scummvm-tools/PKGBUILD b/community-staging/scummvm-tools/PKGBUILD new file mode 100644 index 000000000..460708a4d --- /dev/null +++ b/community-staging/scummvm-tools/PKGBUILD @@ -0,0 +1,34 @@ +# $Id: PKGBUILD 62446 2012-01-20 06:47:00Z svenstaro $ +# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com> +# Contributor: Jérémie Dimino <jeremie@dimino.org> +# Contributor: Sebastian Hase <sebastian_hase@gmx.de> +# Contributor: Joe Davison <joe@thosedamnpeanuts.com> +pkgname=scummvm-tools +pkgver=1.4.0 +pkgrel=2 +pkgdesc="A set of tools that enable you to convert, compress and decode game datafiles for ScummVM" +url="http://www.scummvm.org/" +license=('GPL') +depends=('libpng' 'wxgtk' 'flac' 'libvorbis') +arch=('i686' 'x86_64') +source=(http://downloads.sourceforge.net/sourceforge/scummvm/${pkgname}-${pkgver}.tar.gz) +md5sums=('43cbf9f5c4939876cf4149dd59e68044') + +build() { + cd ${pkgname}-${pkgver} + + install -d ${pkgdir}/usr/bin + + ./configure --prefix=/usr + make +} + +package() { + cd ${pkgname}-${pkgver} + + make DESTDIR=${pkgdir} install + + install -Dm 644 README ${pkgdir}/usr/share/doc/scummvm-tools/README + install -Dm 644 convert_dxa.sh ${pkgdir}/usr/share/doc/scummvm-tools/samples/convert_dxa.sh +} +#vim: sw=2 ts=2 et: diff --git a/community-staging/silly/PKGBUILD b/community-staging/silly/PKGBUILD new file mode 100644 index 000000000..6c096d54c --- /dev/null +++ b/community-staging/silly/PKGBUILD @@ -0,0 +1,26 @@ +# $Id: PKGBUILD 62458 2012-01-20 07:15:00Z svenstaro $ +# Maintainer: Eric Belanger <eric@archlinux.org> +# Contributor: G_Syme <demichan(at)mail(dot)upb(dot)de> + +pkgname=silly +pkgver=0.1.0 +pkgrel=5 +pkgdesc="Simple Image Loading LibrarY, a part of the CEGUI project" +arch=('i686' 'x86_64') +url="http://www.cegui.org.uk/wiki/index.php/SILLY" +license=('MIT') +depends=('libjpeg' 'libpng' 'gcc-libs') +options=('!libtool') +source=(http://downloads.sourceforge.net/crayzedsgui/SILLY-${pkgver}.tar.gz + silly-libpng1.5.patch) +md5sums=('c3721547fced7792a36ffc9ce6ec23fd' + '530551c2942aea6fa20f10d06f1e604f') + +build() { + cd "${srcdir}/SILLY-${pkgver}" + patch -Np1 < $srcdir/silly-libpng1.5.patch + ./configure --prefix=/usr + make + make DESTDIR="${pkgdir}" install + install -D -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/COPYING" +} diff --git a/community-staging/silly/silly-libpng1.5.patch b/community-staging/silly/silly-libpng1.5.patch new file mode 100644 index 000000000..0b2d27252 --- /dev/null +++ b/community-staging/silly/silly-libpng1.5.patch @@ -0,0 +1,14 @@ +ILLY-0.1.0/src/loaders/SILLYPNGImageLoader.cpp~ SILLY-0.1.0/src/loaders/SILLYPNGImageLoader.cpp +--- SILLY-0.1.0/src/loaders/SILLYPNGImageLoader.cpp~ 2006-06-19 00:42:12.000000000 +0200 ++++ SILLY-0.1.0/src/loaders/SILLYPNGImageLoader.cpp 2011-12-06 14:38:31.738251526 +0100 +@@ -64,10 +64,7 @@ void PNG_error_function(png_structp png_ + png_const_charp error) + { + // printf("PNG Error: %s\n", error); +- // copied from libpng's pngerror.cpp +- jmp_buf buf; +- memcpy(buf, png_ptr->jmpbuf, sizeof(jmp_buf)); +- longjmp(buf, 1); ++ png_longjmp(png_ptr, 1); + } + diff --git a/community-staging/speed-dreams/PKGBUILD b/community-staging/speed-dreams/PKGBUILD new file mode 100644 index 000000000..3fdf875d9 --- /dev/null +++ b/community-staging/speed-dreams/PKGBUILD @@ -0,0 +1,61 @@ +# $Id: PKGBUILD 62456 2012-01-20 07:08:15Z svenstaro $ +# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com> +# Contributor: Adrián Chaves Fernández, aka Gallaecio <adriyetichaves@gmail.com> +# Contributor: Shahar Weiss <sweiss4@gmx.net> (build() code from his TORCS' PKGBUILD) +pkgname=speed-dreams +pkgver=2.0.0b1 +_pkgver=2.0.0-b1-r3937 +pkgrel=2 +pkgdesc="A racing simulator with rich graphics and physics" +arch=('i686' 'x86_64') +url="http://speed-dreams.sourceforge.net/" +license=('GPL2') +depends=('sdl' 'freealut' 'freeglut' 'libpng' 'libxi' 'libxmu' 'libxrandr' 'plib>=1.8.3' 'libjpeg' 'zlib' 'enet' 'speed-dreams-data') +makedepends=('cmake' 'p7zip') +noextract=(${pkgname}-${_pkgver}-src.tar.7z) +source=("http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${_pkgver}-src.tar.7z" + "${pkgname}.desktop") +md5sums=('5299fe23aec3641827039ae3c69de460' + '6b45e9c40984ebb79a1dfaddbfabde92') + +build() { + 7z x ${pkgname}-${_pkgver}-src.tar.7z + tar xf ${pkgname}-${_pkgver}-src.tar + + cd "${pkgname}-${_pkgver}-src" + + cmake . \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DSD_BINDIR=/usr/bin \ + -DSD_DATADIR=/usr/share/speed-dreams-2 \ + -DSD_LIBDIR=/usr/lib/speed-dreams-2 \ + -DOPTION_OFFICIAL_ONLY:BOOL=ON + + make +} + +package() { + cd "$srcdir/${pkgname}-${_pkgver}-src" + + make DESTDIR="${pkgdir}/" install + + rm -r "${pkgdir}/usr/share" + + install -Dm644 "data/data/icons/icon.png" "${pkgdir}/usr/share/pixmaps/speed-dreams.png" + install -Dm644 "data/data/icons/icon.svg" "${pkgdir}/usr/share/pixmaps/speed-dreams.svg" + install -Dm644 "${srcdir}/${pkgname}.desktop" "${pkgdir}/usr/share/applications/speed-dreams.desktop" + + mkdir -p "${pkgdir}/usr/share/doc/${pkgname}" + cp -r doc/* "${pkgdir}/usr/share/doc/${pkgname}/" + rm -r "${pkgdir}/usr/share/doc/${pkgname}/man" + + mkdir -p "${pkgdir}/usr/share/man/man6/${pkgname}" + cp doc/man/* "${pkgdir}/usr/share/man/man6/${pkgname}" + + # Symlink for backwards compatibility + cd "${pkgdir}/usr/bin" + ln -s speed-dreams-2 speed-dreams +} + +# vim:set ts=2 sw=2 et: diff --git a/community-staging/speed-dreams/speed-dreams.desktop b/community-staging/speed-dreams/speed-dreams.desktop new file mode 100644 index 000000000..f04b71791 --- /dev/null +++ b/community-staging/speed-dreams/speed-dreams.desktop @@ -0,0 +1,9 @@ +[Desktop Entry] +Name=Speed Dreams +Comment=The Open Racing Car Simulator Fork +Exec=speed-dreams-2 +Icon=speed-dreams.svg +Terminal=false +Type=Application +Encoding=UTF-8 +Categories=Application;Game; diff --git a/community-staging/synfig/PKGBUILD b/community-staging/synfig/PKGBUILD new file mode 100644 index 000000000..2c33e315f --- /dev/null +++ b/community-staging/synfig/PKGBUILD @@ -0,0 +1,37 @@ +# $Id: PKGBUILD 62498 2012-01-20 09:34:35Z spupykin $ +# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> +# Contributor: Franco Iacomella <yaco@gnu.org> + +pkgname=synfig +pkgver=0.63.03 +pkgrel=2 +pkgdesc="Professional vector animation program (CLI renderer only)" +arch=(i686 x86_64) +url="http://synfig.org" +license=('GPL2') +depends=('libxml++' 'libsigc++2.0' 'etl' 'imagemagick' 'ffmpeg' 'fontconfig' 'libpng' + 'libtiff' 'libdv' 'libmng') +optdepends=('openexr' 'libsigc++') +conflicts=('synfig-core') +replaces=('synfig-core') +options=(!libtool) +source=(http://downloads.sourceforge.net/project/synfig/synfig/$pkgver/synfig-$pkgver.tar.gz + build-fix.patch + ffmpeg-0.8.patch) +md5sums=('9bd77cd2fc2381adfbd50a7b9c1c6e7c' + 'b5568b06fae1a7ee465b5380b1139b83' + 'ebf41046097cfd778dee9a9854561dae') + +build() { + cd $srcdir/$pkgname-$pkgver + [ -f configure ] || { libtoolize --ltdl --copy --force && autoreconf --install --force; } + [ -f Makefile ] || ./configure --prefix=/usr --sysconfdir=/etc --with-libavcodec --with-libdv + patch -p1 -i $srcdir/build-fix.patch + patch -Np1 -i $srcdir/ffmpeg-0.8.patch + make +} + +package() { + cd $srcdir/$pkgname-$pkgver + make DESTDIR=$pkgdir install +} diff --git a/community-staging/synfig/build-fix.patch b/community-staging/synfig/build-fix.patch new file mode 100644 index 000000000..be45fdc68 --- /dev/null +++ b/community-staging/synfig/build-fix.patch @@ -0,0 +1,31 @@ +diff -wbBur synfig-core/src/modules/mod_libavcodec/trgt_av.cpp synfig-core.my/src/modules/mod_libavcodec/trgt_av.cpp +--- synfig-core/src/modules/mod_libavcodec/trgt_av.cpp 2011-06-05 13:04:07.000000000 +0400 ++++ synfig-core.my/src/modules/mod_libavcodec/trgt_av.cpp 2011-06-14 14:32:49.000000000 +0400 +@@ -31,6 +31,10 @@ + # include <config.h> + #endif + ++#include <libavcodec/avcodec.h> ++#include <libavformat/avformat.h> ++#include <libswscale/swscale.h> ++ + #include "trgt_av.h" + + extern "C" +@@ -116,14 +120,14 @@ + picture = avcodec_alloc_frame(); + if (!picture) + return NULL; +- size = avpicture_get_size(pix_fmt, width, height); ++ size = avpicture_get_size((enum ::PixelFormat)pix_fmt, width, height); + picture_buf = (uint8_t *)malloc(size); + if (!picture_buf) { + av_free(picture); + return NULL; + } + avpicture_fill((AVPicture *)picture, picture_buf, +- pix_fmt, width, height); ++ (enum ::PixelFormat)pix_fmt, width, height); + return picture; + } + diff --git a/community-staging/synfig/ffmpeg-0.8.patch b/community-staging/synfig/ffmpeg-0.8.patch new file mode 100644 index 000000000..4ba40fff2 --- /dev/null +++ b/community-staging/synfig/ffmpeg-0.8.patch @@ -0,0 +1,60 @@ +diff -aur synfig-0.63.02/src/modules/mod_libavcodec/trgt_av.cpp synfig-0.63.02.new/src/modules/mod_libavcodec/trgt_av.cpp +--- synfig-0.63.02/src/modules/mod_libavcodec/trgt_av.cpp 2011-09-29 10:51:41.000000000 +0200 ++++ synfig-0.63.02.new/src/modules/mod_libavcodec/trgt_av.cpp 2011-10-31 16:39:03.000000000 +0100 +@@ -441,7 +441,7 @@ + if( context->coded_frame ) + pkt.pts = context->coded_frame->pts; + if( context->coded_frame && context->coded_frame->key_frame) +- pkt.flags |= PKT_FLAG_KEY; ++ pkt.flags |= AV_PKT_FLAG_KEY; + + //kluge for raw picture format (they said they'd fix) + if (formatc->oformat->flags & AVFMT_RAWPICTURE) +@@ -463,7 +463,7 @@ + if( context->coded_frame ) + pkt.pts = context->coded_frame->pts; + if( context->coded_frame && context->coded_frame->key_frame) +- pkt.flags |= PKT_FLAG_KEY; ++ pkt.flags |= AV_PKT_FLAG_KEY; + + ret = av_write_frame(formatc, &pkt); + +@@ -567,17 +567,17 @@ + if (typestring) + { + //formatptr guess_format(type, filename, MIME type) +- format = guess_format(typestring,NULL,NULL); ++ format = av_guess_format(typestring,NULL,NULL); + } + else + { +- format = guess_format(NULL, filename, NULL); ++ format = av_guess_format(NULL, filename, NULL); + } + + if(!format) + { + synfig::warning("Unable to Guess the output, defaulting to mpeg"); +- format = guess_format("mpeg", NULL, NULL); ++ format = av_guess_format("mpeg", NULL, NULL); + } + + if(!format) +@@ -753,7 +753,7 @@ + + context = st->codec; + context->codec_id = (CodecID)codec_id; +- context->codec_type = CODEC_TYPE_VIDEO; ++ context->codec_type = AVMEDIA_TYPE_VIDEO; + + //PARAMETERS MUST BE PASSED IN SOMEHOW (ANOTHER FUNCTION PARAMETER???) + +@@ -800,7 +800,7 @@ + + context = stream->codec; + context->codec_id = (CodecID)codec_id; +- context->codec_type = CODEC_TYPE_AUDIO; ++ context->codec_type = AVMEDIA_TYPE_AUDIO; + + /* put sample parameters */ + context->bit_rate = 64000; diff --git a/community-staging/torcs/PKGBUILD b/community-staging/torcs/PKGBUILD new file mode 100644 index 000000000..e24b071bc --- /dev/null +++ b/community-staging/torcs/PKGBUILD @@ -0,0 +1,36 @@ +# $Id: PKGBUILD 62516 2012-01-20 09:52:55Z spupykin $ +# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> +# Contributor: Shahar Weiss <sweiss4@gmx.net> + +pkgname=torcs +pkgver=1.3.2_test2 +pkgrel=2 +pkgdesc="A 3D racing cars simulator using OpenGL" +url="http://torcs.sourceforge.net" +license=("GPL") +arch=('i686' 'x86_64') +depends=('freeglut' 'libpng' 'freealut' 'libxi' 'libxmu' 'libxrandr' 'torcs-data' + 'libvorbis') +makedepends=('plib') +options=('!makeflags') +source=(http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-${pkgver/_/-}.tar.bz2 + torcs.desktop + torcs-gcc.patch) +md5sums=('7851c1149587451bd64a6a55d785af40' + '328e419e9f985c3e7b69924fe299330d' + '5ae7e903df37300d3b8744328c756bff') + +build() { + cd $srcdir/$pkgname-${pkgver/_/-} + unset LDFLAGS + ./configure --prefix=/usr --x-includes=/usr/include --x-libraries=/usr/lib + make +} + +package() { + cd $srcdir/$pkgname-${pkgver/_/-} + make DESTDIR=${pkgdir} install + install -D -m644 Ticon.png ${pkgdir}/usr/share/pixmaps/torcs.png + install -D -m644 ../torcs.desktop ${pkgdir}/usr/share/applications/torcs.desktop + find ${pkgdir} -type d -exec chmod 755 {} \; +} diff --git a/community-staging/torcs/torcs-gcc.patch b/community-staging/torcs/torcs-gcc.patch new file mode 100644 index 000000000..fcc5604e7 --- /dev/null +++ b/community-staging/torcs/torcs-gcc.patch @@ -0,0 +1,74 @@ +diff -aur src.old/drivers/olethros/Trajectory.cpp src/drivers/olethros/Trajectory.cpp +--- src.old/drivers/olethros/Trajectory.cpp 2008-04-06 22:21:31.000000000 +0200 ++++ src/drivers/olethros/Trajectory.cpp 2008-04-06 22:28:52.000000000 +0200 +@@ -10,8 +10,10 @@ + ***************************************************************************/ + #include <cstdio> + #include <cstdlib> ++#include <cstring> + #include <cmath> + #include <cassert> ++#include <ctime> + #include <list> + #include <vector> + #include "Trajectory.h" +diff -aur src.old/modules/simu/simuv2/SOLID-2.0/src/BBoxTree.cpp src/modules/simu/simuv2/SOLID-2.0/src/BBoxTree.cpp +--- src.old/modules/simu/simuv2/SOLID-2.0/src/BBoxTree.cpp 2008-04-06 22:21:31.000000000 +0200 ++++ src/modules/simu/simuv2/SOLID-2.0/src/BBoxTree.cpp 2008-04-06 22:22:57.000000000 +0200 +@@ -32,7 +32,7 @@ + #include "Transform.h" + + #include <algorithm> +-#include <new.h> ++#include <new> + + class BBoxCompAxis { + public: +diff -aur src.old/modules/simu/simuv2/SOLID-2.0/src/Complex.cpp src/modules/simu/simuv2/SOLID-2.0/src/Complex.cpp +--- src.old/modules/simu/simuv2/SOLID-2.0/src/Complex.cpp 2008-04-06 22:21:31.000000000 +0200 ++++ src/modules/simu/simuv2/SOLID-2.0/src/Complex.cpp 2008-04-06 22:23:11.000000000 +0200 +@@ -32,7 +32,7 @@ + #include "Transform.h" + #include "BBoxTree.h" + +-#include <new.h> ++#include <new> + + BBoxInternal *free_node; + +diff -aur src.old/modules/simu/simuv2/SOLID-2.0/src/Endpoint.cpp src/modules/simu/simuv2/SOLID-2.0/src/Endpoint.cpp +--- src.old/modules/simu/simuv2/SOLID-2.0/src/Endpoint.cpp 2008-04-06 22:21:31.000000000 +0200 ++++ src/modules/simu/simuv2/SOLID-2.0/src/Endpoint.cpp 2008-04-06 22:22:29.000000000 +0200 +@@ -32,7 +32,7 @@ + #include "Object.h" + #include "Encounter.h" + +-#include <new.h> ++#include <new> + + void addPair(ObjectPtr object1, ObjectPtr object2); + void removePair(ObjectPtr object1, ObjectPtr object2); +diff -aur src.old/modules/simu/simuv2/SOLID-2.0/src/Object.cpp src/modules/simu/simuv2/SOLID-2.0/src/Object.cpp +--- src.old/modules/simu/simuv2/SOLID-2.0/src/Object.cpp 2008-04-06 22:21:31.000000000 +0200 ++++ src/modules/simu/simuv2/SOLID-2.0/src/Object.cpp 2008-04-06 22:22:40.000000000 +0200 +@@ -33,7 +33,7 @@ + #include "Convex.h" + #include "Complex.h" + +-#include <new.h> ++#include <new> + + Object::Object(DtObjectRef obj, ShapePtr shape) : + ref(obj), +diff -aur src.old/modules/simu/simuv2/SOLID-2.0/src/Polyhedron.cpp src/modules/simu/simuv2/SOLID-2.0/src/Polyhedron.cpp +--- src.old/modules/simu/simuv2/SOLID-2.0/src/Polyhedron.cpp 2008-04-06 22:21:31.000000000 +0200 ++++ src/modules/simu/simuv2/SOLID-2.0/src/Polyhedron.cpp 2008-04-06 22:22:12.000000000 +0200 +@@ -37,7 +37,7 @@ + } + + #include <vector> +-#include <new.h> ++#include <new> + + typedef vector<unsigned int> IndexBuf; + diff --git a/community-staging/torcs/torcs.desktop b/community-staging/torcs/torcs.desktop new file mode 100644 index 000000000..03d1ba010 --- /dev/null +++ b/community-staging/torcs/torcs.desktop @@ -0,0 +1,9 @@ +[Desktop Entry] +Name=TORCS +Comment=The Open Racing Car Simulator +Exec=torcs +Icon=torcs.png +Terminal=false +Type=Application +Encoding=UTF-8 +Categories=Application;Game; diff --git a/community-staging/torcs/torcs.sh b/community-staging/torcs/torcs.sh new file mode 100644 index 000000000..0f1b4fe8d --- /dev/null +++ b/community-staging/torcs/torcs.sh @@ -0,0 +1,2 @@ +#!/bin/bash +export PATH=$PATH:/opt/torcs/bin diff --git a/community-staging/tvtime/PKGBUILD b/community-staging/tvtime/PKGBUILD new file mode 100644 index 000000000..b182e7efd --- /dev/null +++ b/community-staging/tvtime/PKGBUILD @@ -0,0 +1,34 @@ +# $Id: PKGBUILD 62500 2012-01-20 09:35:30Z spupykin $ +# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> +# Maintainer:thefatprecious <marty@loomar.com> + +pkgname=tvtime +pkgver=1.0.2 +pkgrel=3 +pkgdesc="A high quality television application for use with video capture cards" +arch=('i686' 'x86_64') +url='http://tvtime.sourceforge.net/' +license=('GPL' 'LGPL') +depends=('gcc-libs' 'libpng' 'libxml2' 'freetype2' 'libxtst' 'libxinerama' 'libxv' + 'libsm' 'libxxf86vm') +makedepends=('libxt' 'v4l-utils') +source=(http://downloads.sourceforge.net/sourceforge/tvtime/$pkgname-$pkgver.tar.gz + tvtime-1.0.2+linux-headers-2.6.18.patch + tvtime-1.0.2-gcc41.patch + tvtime-1.0.2-locale_t.patch) +md5sums=('4b3d03afe61be239b08b5e522cd8afed' + 'e956821745686b5b3a784f7471996ade' + 'c782789825dfa664e1f6fcc96ac7246c' + '1069dc5b47bba8456cbf48e34cb5c0b6') + +build() { + cd $srcdir/$pkgname-$pkgver + patch -p1 < ../tvtime-1.0.2+linux-headers-2.6.18.patch + patch -p1 < ../tvtime-1.0.2-gcc41.patch + patch -p1 < ../tvtime-1.0.2-locale_t.patch + sed -i '1,1i#include <zlib.h>' src/pngoutput.c + [ -f Makefile ] || ./configure --prefix=/usr --mandir=/usr/share/man --localstatedir=/var --sysconfdir=/etc + make + make DESTDIR=$pkgdir install + install -D -m644 docs/html/default.tvtime.xml $pkgdir/usr/share/tvtime/default.tvtime.xml +} diff --git a/community-staging/tvtime/tvtime-1.0.2+linux-headers-2.6.18.patch b/community-staging/tvtime/tvtime-1.0.2+linux-headers-2.6.18.patch new file mode 100644 index 000000000..d0772783d --- /dev/null +++ b/community-staging/tvtime/tvtime-1.0.2+linux-headers-2.6.18.patch @@ -0,0 +1,16 @@ +Index: tvtime-1.0.2/src/videoinput.c +=================================================================== +--- tvtime-1.0.2.orig/src/videoinput.c ++++ tvtime-1.0.2/src/videoinput.c +@@ -35,8 +35,9 @@ + #ifdef HAVE_CONFIG_H + # include "config.h" + #endif +-#include "videodev.h" +-#include "videodev2.h" ++#include <libv4l1-videodev.h> ++#include <linux/videodev2.h> ++#define BASE_VIDIOCPRIVATE 192 /* 192-255 are private */ + #include "videoinput.h" + #include "mixer.h" + diff --git a/community-staging/tvtime/tvtime-1.0.2-gcc41.patch b/community-staging/tvtime/tvtime-1.0.2-gcc41.patch new file mode 100644 index 000000000..58e9bb204 --- /dev/null +++ b/community-staging/tvtime/tvtime-1.0.2-gcc41.patch @@ -0,0 +1,57 @@ +diff -Naur tvtime-1.0.1/plugins/greedyh.asm tvtime-1.0.1-gcc41/plugins/greedyh.asm +--- tvtime-1.0.1/plugins/greedyh.asm 2005-08-14 18:16:43.000000000 +0200 ++++ tvtime-1.0.1-gcc41/plugins/greedyh.asm 2005-11-28 17:53:09.210774544 +0100 +@@ -18,7 +18,7 @@ + + #include "x86-64_macros.inc" + +-void DScalerFilterGreedyH::FUNCT_NAME(TDeinterlaceInfo* pInfo) ++void FUNCT_NAME(TDeinterlaceInfo* pInfo) + { + int64_t i; + bool InfoIsOdd = (pInfo->PictureHistory[0]->Flags & PICTURE_INTERLACED_ODD) ? 1 : 0; +diff -Naur tvtime-1.0.1/plugins/tomsmocomp/TomsMoCompAll2.inc tvtime-1.0.1-gcc41/plugins/tomsmocomp/TomsMoCompAll2.inc +--- tvtime-1.0.1/plugins/tomsmocomp/TomsMoCompAll2.inc 2004-10-20 17:31:05.000000000 +0200 ++++ tvtime-1.0.1-gcc41/plugins/tomsmocomp/TomsMoCompAll2.inc 2005-11-28 17:53:33.251119856 +0100 +@@ -5,9 +5,9 @@ + #endif + + #ifdef USE_STRANGE_BOB +-#define SEARCH_EFFORT_FUNC(n) DScalerFilterTomsMoComp::SEFUNC(n##_SB) ++#define SEARCH_EFFORT_FUNC(n) SEFUNC(n##_SB) + #else +-#define SEARCH_EFFORT_FUNC(n) DScalerFilterTomsMoComp::SEFUNC(n) ++#define SEARCH_EFFORT_FUNC(n) SEFUNC(n) + #endif + + int SEARCH_EFFORT_FUNC(0) // we don't try at all ;-) +diff -Naur tvtime-1.0.1/plugins/tomsmocomp.cpp tvtime-1.0.1-gcc41/plugins/tomsmocomp.cpp +--- tvtime-1.0.1/plugins/tomsmocomp.cpp 2004-10-20 19:38:04.000000000 +0200 ++++ tvtime-1.0.1-gcc41/plugins/tomsmocomp.cpp 2005-11-28 17:52:53.862107896 +0100 +@@ -31,7 +31,7 @@ + + #define IS_MMX + #define SSE_TYPE MMX +-#define FUNCT_NAME DScalerFilterTomsMoComp::filterDScaler_MMX ++#define FUNCT_NAME filterDScaler_MMX + #include "tomsmocomp/TomsMoCompAll.inc" + #undef IS_MMX + #undef SSE_TYPE +@@ -39,7 +39,7 @@ + + #define IS_3DNOW + #define SSE_TYPE 3DNOW +-#define FUNCT_NAME DScalerFilterTomsMoComp::filterDScaler_3DNOW ++#define FUNCT_NAME filterDScaler_3DNOW + #include "tomsmocomp/TomsMoCompAll.inc" + #undef IS_3DNOW + #undef SSE_TYPE +@@ -47,7 +47,7 @@ + + #define IS_SSE + #define SSE_TYPE SSE +-#define FUNCT_NAME DScalerFilterTomsMoComp::filterDScaler_SSE ++#define FUNCT_NAME filterDScaler_SSE + #include "tomsmocomp/TomsMoCompAll.inc" + #undef IS_SSE + #undef SSE_TYPE diff --git a/community-staging/tvtime/tvtime-1.0.2-locale_t.patch b/community-staging/tvtime/tvtime-1.0.2-locale_t.patch Binary files differnew file mode 100644 index 000000000..cbbb05458 --- /dev/null +++ b/community-staging/tvtime/tvtime-1.0.2-locale_t.patch diff --git a/community-staging/virtviewer/PKGBUILD b/community-staging/virtviewer/PKGBUILD new file mode 100644 index 000000000..139775774 --- /dev/null +++ b/community-staging/virtviewer/PKGBUILD @@ -0,0 +1,23 @@ +# $Id: PKGBUILD 62502 2012-01-20 09:36:11Z spupykin $ +# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> +# Maintainer: Jonathan Wiersma <archaur at jonw dot org> + +pkgname=virtviewer +pkgver=0.4.1 +pkgrel=2 +pkgdesc="A lightweight interface for interacting with the graphical display of virtualized guest OS." +depends=('gtk-vnc' 'libglade>=2.6.0' 'libvirt') +makedepends=('intltool') +url="http://virt-manager.et.redhat.com" +arch=('i686' 'x86_64') +license=('GPL') +source=("http://virt-manager.et.redhat.com/download/sources/virt-viewer/virt-viewer-$pkgver.tar.gz") +md5sums=('1cc86ed3fbbe37a56faa6476b2e6dbcd') + +build() { + cd $srcdir/virt-viewer-$pkgver + export LDFLAGS=-lX11 + ./configure --prefix=/usr + make + make DESTDIR=$pkgdir install +} diff --git a/community-staging/w3cam/PKGBUILD b/community-staging/w3cam/PKGBUILD new file mode 100644 index 000000000..7b6a1b0b5 --- /dev/null +++ b/community-staging/w3cam/PKGBUILD @@ -0,0 +1,32 @@ +# $Id: PKGBUILD 62504 2012-01-20 09:37:26Z spupykin $ +# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> +# Contributor: Christian Schmidt <mucknert@gmx.net> + +pkgname=w3cam +pkgver=0.7.2 +pkgrel=10 +pkgdesc="a small and fast CGI program to retrieve images from a video4linux device." +arch=('i686' 'x86_64') +url="http://mpx.freeshell.net/" +license=('GPL') +depends=('libpng' 'libjpeg') +makedepends=('v4l-utils') +source=(http://mpx.freeshell.net/$pkgname-$pkgver.tar.gz) +md5sums=('eec0b301b32bc8e9f65a4e54248c9868') + +build() { + cd $srcdir/$pkgname-$pkgver + sed -i 's|#include <linux/videodev.h>|#include <libv4l1-videodev.h>|' v4l.c vidcat.c w3cam.c w3camd/w3v4l.c + ./configure --prefix=/usr --with-device=/dev/video0 --with-ttf-inc=/usr/include/freetype + make +} + +package() { + cd $srcdir/$pkgname-$pkgver + mkdir -p $pkgdir/usr/cgi-bin $pkgdir/usr/bin $pkgdir/usr/man/man1 $pkgdir/usr/share/ + make prefix=$pkgdir/usr/ install + mkdir -p $pkgdir/usr/lib/w3cam/ + mv $pkgdir/usr/cgi-bin/* $pkgdir/usr/lib/w3cam/ + mv $pkgdir/usr/man $pkgdir/usr/share/man + rm -rf $pkgdir/usr/cgi-bin +} diff --git a/community-staging/widelands/PKGBUILD b/community-staging/widelands/PKGBUILD new file mode 100644 index 000000000..7e84f2d83 --- /dev/null +++ b/community-staging/widelands/PKGBUILD @@ -0,0 +1,55 @@ +# $Id: PKGBUILD 62462 2012-01-20 07:32:03Z svenstaro $ +# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com> +# Contributor: Arkham <arkham at archlinux dot us> +# Contributor: Christoph Zeiler <rabyte*gmail> + +pkgname=widelands +pkgver=16 +_realver=build16 +pkgrel=5 +pkgdesc="A realtime strategy game with emphasis on economy and transport" +arch=('i686' 'x86_64') +url="http://widelands.org/" +license=('GPL') +makedepends=('cmake' 'boost' 'sdl_mixer' 'sdl_image' 'sdl_net' 'sdl_ttf' 'sdl_gfx' 'ggz-client-libs' 'lua' 'glew' 'python2') +source=(http://launchpad.net/$pkgname/build16/$_realver/+download/$pkgname-$_realver-src.tar.bz2 + widelands-0.16-libpng15.patch + $pkgname.desktop + $pkgname.png + $pkgname.sh) +md5sums=('3d8c28e145b73c64d8ed1625319d25a2' + 'e492620b071cbd1db04280173653a67c' + '15820bf099fd6f16251fe70a75c534bb' + '3dfda7e9ca76ca00dd98d745d0ceb328' + '7cae50aba5ed0cd2cfeea79124637b46') + +build() { + cd $srcdir/$pkgname-$_realver-src + + patch -Np0 < $srcdir/widelands-0.16-libpng15.patch + + mkdir -p build/compile && cd build/compile + + cmake ../.. -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DWL_INSTALL_PREFIX=/usr \ + -DWL_INSTALL_DATADIR=share/$pkgname \ + -DWL_INSTALL_BINDIR=bin + make +} + +package() { + depends=('sdl_mixer' 'sdl_image' 'sdl_net' 'sdl_ttf' 'sdl_gfx' 'ggz-client-libs' 'lua' 'glew' 'python2' 'widelands-data>=16') + + cd $srcdir/$pkgname-$_realver-src/build/compile + + make DESTDIR="$pkgdir" install + + rm -r $pkgdir/usr/share/widelands/{campaigns,fonts,global,locale,maps,music,pics,scripting,sound,tribes,txts,worlds} + + # Install bin, icon and desktop file + #install -Dm 755 src/$pkgname $pkgdir/usr/share/$pkgname/$pkgname + #install -Dm 755 $srcdir/$pkgname.sh $pkgdir/usr/bin/$pkgname + install -Dm644 $srcdir/$pkgname.png $pkgdir/usr/share/pixmaps/$pkgname.png + install -Dm644 $srcdir/$pkgname.desktop $pkgdir/usr/share/applications/$pkgname.desktop +} diff --git a/community-staging/widelands/widelands-0.16-libpng15.patch b/community-staging/widelands/widelands-0.16-libpng15.patch new file mode 100644 index 000000000..9f733e7b9 --- /dev/null +++ b/community-staging/widelands/widelands-0.16-libpng15.patch @@ -0,0 +1,61 @@ +--- src/graphic/SDL_mng.cc ++++ src/graphic/SDL_mng.cc +@@ -276,7 +276,7 @@ + * the normal method of doing things with libpng). REQUIRED unless you + * set up your own error handlers in png_create_read_struct() earlier. + */ +- if (setjmp(png_ptr->jmpbuf)) { ++ if (setjmp(png_jmpbuf(png_ptr))) { + SDL_SetError("Error reading the PNG file."); + goto done; + } +@@ -356,9 +356,9 @@ + Rmask = 0x000000FF; + Gmask = 0x0000FF00; + Bmask = 0x00FF0000; +- Amask = (info_ptr->channels == 4) ? 0xFF000000 : 0; ++ Amask = (png_get_channels(png_ptr, info_ptr) == 4) ? 0xFF000000 : 0; + } else { +- int const s = (info_ptr->channels == 4) ? 0 : 8; ++ int const s = (png_get_channels(png_ptr, info_ptr) == 4) ? 0 : 8; + Rmask = 0xFF000000 >> s; + Gmask = 0x00FF0000 >> s; + Bmask = 0x0000FF00 >> s; +@@ -369,7 +369,7 @@ + SDL_AllocSurface + (SDL_SWSURFACE, + width, height, +- bit_depth * info_ptr->channels, ++ bit_depth * png_get_channels(png_ptr, info_ptr), + Rmask, Gmask, Bmask, Amask); + if (not surface) { + SDL_SetError("Out of memory"); +@@ -407,6 +407,9 @@ + /* read rest of file, get additional chunks in info_ptr - REQUIRED */ + png_read_end(png_ptr, info_ptr); + ++ png_colorp png_palette; ++ int png_num_palette; ++ + /* Load the palette, if any */ + if ((palette = surface->format->palette)) { + if (color_type == PNG_COLOR_TYPE_GRAY) { +@@ -416,12 +419,12 @@ + palette->colors[i].g = i; + palette->colors[i].b = i; + } +- } else if (info_ptr->num_palette > 0) { +- palette->ncolors = info_ptr->num_palette; +- for (uint32_t i = 0; i < info_ptr->num_palette; ++i) { +- palette->colors[i].b = info_ptr->palette[i].blue; +- palette->colors[i].g = info_ptr->palette[i].green; +- palette->colors[i].r = info_ptr->palette[i].red; ++ } else if (png_num_palette > 0) { ++ palette->ncolors = png_num_palette; ++ for (uint32_t i = 0; i < png_num_palette; ++i) { ++ palette->colors[i].b = png_palette[i].blue; ++ palette->colors[i].g = png_palette[i].green; ++ palette->colors[i].r = png_palette[i].red; + } + } + } diff --git a/community-staging/widelands/widelands-build15-gcc-4.5-patch b/community-staging/widelands/widelands-build15-gcc-4.5-patch new file mode 100644 index 000000000..6ba313358 --- /dev/null +++ b/community-staging/widelands/widelands-build15-gcc-4.5-patch @@ -0,0 +1,51 @@ +diff -Naur widelands-from/src/editor/ui_menus/editor_main_menu_new_map.cc widelands-to/src/editor/ui_menus/editor_main_menu_new_map.cc +--- widelands-from/src/editor/ui_menus/editor_main_menu_new_map.cc 2010-04-16 15:41:22.000000000 +0000 ++++ widelands-to/src/editor/ui_menus/editor_main_menu_new_map.cc 2010-07-01 21:15:56.000000000 +0000 +@@ -113,7 +113,7 @@ + posx, posy, width, height, + g_gr->get_picture(PicMod_UI, "pics/but1.png"), + &Main_Menu_New_Map::button_clicked, *this, 4, +- Widelands::World::World(m_worlds[m_currentworld].c_str()).get_name()); ++ Widelands::World(m_worlds[m_currentworld].c_str()).get_name()); + + posy += height + spacing + spacing + spacing; + +@@ -142,7 +142,7 @@ + if (m_currentworld == m_worlds.size()) + m_currentworld = 0; + m_world->set_title +- (Widelands::World::World(m_worlds[m_currentworld].c_str()).get_name ++ (Widelands::World(m_worlds[m_currentworld].c_str()).get_name + ()); + break; + } +diff -Naur widelands-from/src/editor/ui_menus/editor_main_menu_random_map.cc widelands-to/src/editor/ui_menus/editor_main_menu_random_map.cc +--- widelands-from/src/editor/ui_menus/editor_main_menu_random_map.cc 2010-04-16 15:41:22.000000000 +0000 ++++ widelands-to/src/editor/ui_menus/editor_main_menu_random_map.cc 2010-07-01 21:17:39.000000000 +0000 +@@ -272,7 +272,7 @@ + posx, posy, width, height, + g_gr->get_picture(PicMod_UI, "pics/but1.png"), + &Main_Menu_New_Random_Map::button_clicked, *this, 8, +- Widelands::World::World(m_worlds[m_currentworld].c_str()).get_name()); ++ Widelands::World(m_worlds[m_currentworld].c_str()).get_name()); + + posy += height + spacing + spacing + spacing; + +@@ -343,7 +343,7 @@ + if (m_currentworld == m_worlds.size()) + m_currentworld = 0; + m_world->set_title +- (Widelands::World::World(m_worlds[m_currentworld].c_str()).get_name()); ++ (Widelands::World(m_worlds[m_currentworld].c_str()).get_name()); + break; + case 9: + break; +@@ -476,7 +476,7 @@ + (strcmp(mapInfo.worldName.c_str(), m_worlds[m_currentworld].c_str())) + ++m_currentworld; + m_world->set_title +- (Widelands::World::World(m_worlds[m_currentworld].c_str()).get_name()); ++ (Widelands::World(m_worlds[m_currentworld].c_str()).get_name()); + + button_clicked(-1); // Update other values in UI as well + diff --git a/community-staging/widelands/widelands.desktop b/community-staging/widelands/widelands.desktop new file mode 100644 index 000000000..9715d816c --- /dev/null +++ b/community-staging/widelands/widelands.desktop @@ -0,0 +1,8 @@ +[Desktop Entry] +Name=Widelands +GenericName=Widelands +Comment=Realtime strategy game +Icon=widelands +Exec=widelands +Type=Application +Categories=Game;StrategyGame; diff --git a/community-staging/widelands/widelands.png b/community-staging/widelands/widelands.png Binary files differnew file mode 100644 index 000000000..c329cf667 --- /dev/null +++ b/community-staging/widelands/widelands.png diff --git a/community-staging/widelands/widelands.sh b/community-staging/widelands/widelands.sh new file mode 100644 index 000000000..0b21a1694 --- /dev/null +++ b/community-staging/widelands/widelands.sh @@ -0,0 +1,3 @@ +#!/bin/sh +cd /usr/share/widelands +./widelands $* diff --git a/community/bird/PKGBUILD b/community/bird/PKGBUILD index 618c18f3b..8bab0f4d1 100644 --- a/community/bird/PKGBUILD +++ b/community/bird/PKGBUILD @@ -1,9 +1,9 @@ # $Id$ -# Maintainer: Sebastien Luttringer <seblu+arch@seblu.net> +# Maintainer: Sébastien Luttringer <seblu@aur.archlinux.org> pkgbase=bird pkgname=('bird' 'bird6') -pkgver=1.3.5 +pkgver=1.3.6 pkgrel=1 arch=('i686' 'x86_64') url='http://bird.network.cz/' @@ -14,7 +14,7 @@ source=("ftp://bird.network.cz/pub/bird/${pkgname}-${pkgver}.tar.gz" 'bird.conf' 'bird.service' 'bird6.service') -md5sums=('9efc2b1c05fa6298a8df60f5147ad5c1' +md5sums=('fa5621a41dcd86b6cb8cbe4fbd74af7e' '1a4b98756d64f52333a83eff2e95d233' '25241a4d7ef639506e0080431b2c1690' 'e82a0519dca0b289685fda44787f5911' diff --git a/community/calibre/PKGBUILD b/community/calibre/PKGBUILD index 53ce5607c..af9fd6d17 100644 --- a/community/calibre/PKGBUILD +++ b/community/calibre/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 61987 2012-01-13 12:17:48Z giovanni $ +# $Id: PKGBUILD 62518 2012-01-20 10:19:50Z giovanni $ # Maintainer: Giovanni Scafora <giovanni@archlinux.org> # Contributor: Petrov Roman <nwhisper@gmail.com> # Contributor: Andrea Fagiani <andfagiani _at_ gmail dot com> pkgname=calibre -pkgver=0.8.35 +pkgver=0.8.36 pkgrel=1 pkgdesc="Ebook management application" arch=('i686' 'x86_64') @@ -21,7 +21,7 @@ install=calibre.install source=("http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.xz" 'desktop_integration.patch' 'calibre-mount-helper') -md5sums=('0a1170534492c6ca5b9f849cbfaa7acc' +md5sums=('cc009c02fa0db088d074fef8b983e78a' '253ce4fe5d01f8ff76b63cd3825755ea' '675cd87d41342119827ef706055491e7') diff --git a/community/dos2unix/PKGBUILD b/community/dos2unix/PKGBUILD new file mode 100644 index 000000000..5c7dd4848 --- /dev/null +++ b/community/dos2unix/PKGBUILD @@ -0,0 +1,27 @@ +# Maintainer: Bartłomiej Piotrowski <barthalion@gmail.com> +# Contributor: Renato Garcia <fgar.renatoATgmailDOTcom> +# Contributor: Gerson E. Ruotolo <gersonruotolo@globo.com> + +pkgname=dos2unix +pkgver=5.3.1 +pkgrel=3 +pkgdesc='Text file format converter' +arch=('i686' 'x86_64') +url='http://waterlan.home.xs4all.nl/dos2unix.html' +license=('BSD') +depends=('glibc') +makedepends=('perl') +conflicts=('hd2u') +source=("http://waterlan.home.xs4all.nl/${pkgname}/${pkgname}-${pkgver}.tar.gz") +md5sums=('438c48ebd6891b80b58de14c022ca69e') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install + install -D -m644 COPYING.txt "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" +} diff --git a/community/freemat/PKGBUILD b/community/freemat/PKGBUILD index 0dc55bb14..2609674ba 100644 --- a/community/freemat/PKGBUILD +++ b/community/freemat/PKGBUILD @@ -1,45 +1,38 @@ -# $Id: PKGBUILD 58815 2011-11-18 15:51:12Z spupykin $ +# $Id: PKGBUILD 62525 2012-01-20 17:49:51Z spupykin $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Contributor: William Rea <sillywilly@gmail.com> pkgname=freemat -pkgver=4.0 -pkgrel=5 +pkgver=4.1 +pkgrel=1 pkgdesc="A free environment for rapid engineering, scientific prototyping and data processing" arch=('i686' 'x86_64') url="http://freemat.sourceforge.net" license=('GPL') -depends=('qt' 'ffcall' 'fftw' 'mesa' 'portaudio') -makedepends=('arpack' 'lapack' 'umfpack' 'blas' 'libmatio' 'cmake') +depends=('qt' 'ffcall' 'fftw' 'mesa' 'portaudio' 'libffi') +makedepends=('arpack' 'lapack' 'umfpack' 'blas' 'libmatio' 'cmake' 'python2') install=freemat.install source=(http://downloads.sourceforge.net/project/freemat/FreeMat4/FreeMat-$pkgver-Source.tar.gz - freemat-gcc-4.3.0.patch - freemat-gcc-4.5.0.patch - freemat-qt46.patch - input-fix.patch) -md5sums=('adb58b9f2c508d9ae5b6041da2f75baf' - '3dc3848949183de2664c2cf67663c892' - 'a3edb7b51057a90a752aff5053f8eed6' - 'a8d2ffa9319eccaedb28a10f9c7617f4' - 'a78941563453feaca5c7463eaeea1a70') + build-fix.patch) +md5sums=('929d31e2310feaff5d380fc2f7b4d1a2' + '2d11a28aa2a7df89c4618ed1c4be5973') build() { - cd $srcdir/FreeMat-$pkgver.1-Source + cd $srcdir/FreeMat-$pkgver-Source - if [ $NOEXTRACT -ne 1 ]; then - patch -p1 <$srcdir/freemat-gcc-4.5.0.patch - patch -p1 <$srcdir/input-fix.patch - patch -p1 <$srcdir/freemat-qt46.patch - patch -p1 CMakeCache.txt <<EOF -23c23,25 -< CMAKE_CACHEFILE_DIR:INTERNAL=/home/basu/dev/branches/FreeMat4 ---- -> #CMAKE_CACHEFILE_DIR:INTERNAL=/home/basu/dev/branches/FreeMat4 -> USE_LLVM:BOOL=OFF -> CMAKE_INSTALL_PREFIX:PATH=/usr -EOF - cmake `pwd` - fi + rm -f CMakeCache.txt + find . -type f -name '*.moc.cpp' -exec rm -f {} \; + find . -type f -name 'add.so' -exec rm -f {} \; + patch -p1 <$srcdir/build-fix.patch + echo >libs/libMatC/CJitFuncClang.hpp + echo >libs/libMatC/CJitFuncClang.cpp + + cmake \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DUSE_LLVM=OFF \ + -DFFI_INCLUDE_DIR=/usr/lib/libffi-`pacman -Q libffi | cut -f2 -d\ |cut -f1 -d-`/include/ \ + -DPYTHON_EXECUTABLE=/usr/bin/python2 \ + . make make DESTDIR=$pkgdir install sed -i "s|/FreeMat-.*/|/FreeMat-$pkgver/|g" $startdir/freemat.install diff --git a/community/freemat/build-fix.patch b/community/freemat/build-fix.patch new file mode 100644 index 000000000..c1ea63088 --- /dev/null +++ b/community/freemat/build-fix.patch @@ -0,0 +1,11 @@ +diff -wbBur FreeMat-4.1-Source/libs/libGraphics/GLRenderEngine.cpp FreeMat-4.1-Source.my/libs/libGraphics/GLRenderEngine.cpp +--- FreeMat-4.1-Source/libs/libGraphics/GLRenderEngine.cpp 2011-11-27 04:27:43.000000000 +0400 ++++ FreeMat-4.1-Source.my/libs/libGraphics/GLRenderEngine.cpp 2012-01-20 19:07:48.000000000 +0400 +@@ -20,6 +20,7 @@ + #include <qimage.h> + #include <qpainter.h> + #include <QtOpenGL> ++#include <GL/glu.h> + #include <math.h> + #include "IEEEFP.hpp" + diff --git a/community/freemat/freemat.install b/community/freemat/freemat.install index e319f1a24..051cca866 100644 --- a/community/freemat/freemat.install +++ b/community/freemat/freemat.install @@ -1,7 +1,7 @@ post_install() { - echo "-- Use FreeMat -i /usr/share/FreeMat-4.0/ to adjust docs location" + echo "-- Use FreeMat -i /usr/share/FreeMat-4.1/ to adjust docs location" } post_upgrade() { - echo "-- Use FreeMat -i /usr/share/FreeMat-4.0/ to adjust docs location" + echo "-- Use FreeMat -i /usr/share/FreeMat-4.1/ to adjust docs location" } diff --git a/community/haveged/PKGBUILD b/community/haveged/PKGBUILD new file mode 100644 index 000000000..e3a60bdb9 --- /dev/null +++ b/community/haveged/PKGBUILD @@ -0,0 +1,31 @@ +# Maintainer: Bartłomiej Piotrowski <barthalion@gmail.com> +# Contributor: kfgz <kfgz at interia dot pl> +# Contributor: pootzko <pootzko at gmail dot com> + +pkgname=haveged +pkgver=1.3a +pkgrel=1 +pkgdesc="A simple entropy daemon." +arch=('i686' 'x86_64') +url="http://www.issihosts.com/haveged" +license=('GPL') +depends=('bash') +source=(${url}/${pkgname}-${pkgver}.tar.gz + haveged) +md5sums=('dad8b95c6eafcec7eb42eb8454e60a0d' + '264b725be5271288b40f363d7cfc6b68') + +build() { + cd "${srcdir}"/${pkgname}-${pkgver/a/} + ./configure --prefix=/usr + make +} + +package() { + cd "${srcdir}"/${pkgname}-${pkgver/a/} + make DESTDIR="${pkgdir}" install + rm -rf "${pkgdir}"/etc/init.d + + cd "${srcdir}" + install -D -m755 haveged "${pkgdir}"/etc/rc.d/haveged +} diff --git a/community/haveged/haveged b/community/haveged/haveged new file mode 100644 index 000000000..c0e13b40d --- /dev/null +++ b/community/haveged/haveged @@ -0,0 +1,44 @@ +#!/bin/bash +## +# chkconfig: 2345 75 25 +# description: havege entropy daemon +# +# source function library +. /etc/rc.conf +. /etc/rc.d/functions + +RETVAL=0 +prog="haveged" + +case "$1" in +start) + stat_busy $"Starting $prog" + /usr/sbin/$prog -w 1024 -v 1 + if [ $? -gt 0 ]; then + stat_fail + else + add_daemon $prog + stat_done + fi + ;; + +stop) + stat_busy $"Stopping $prog" + kill `cat /var/run/$prog.pid` + if [ $? -gt 0 ]; then + stat_fail + else + rm_daemon $prog + stat_done + rm -f /var/lock/$prog + fi + ;; + +restart) + $0 stop + $0 start + ;; + +*) + echo "usage: $prog [start|stop|restart]" +esac diff --git a/community/i7z/PKGBUILD b/community/i7z/PKGBUILD new file mode 100644 index 000000000..f573fc123 --- /dev/null +++ b/community/i7z/PKGBUILD @@ -0,0 +1,32 @@ +# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com> +# Contributor: Nathan O <ndowens.aur at gmail dot com> + +pkgname=i7z +pkgver=0.27.1 +pkgrel=1 +pkgdesc="A better i7 (and now i3, i5) reporting tool for Linux" +arch=('i686' 'x86_64') +license=('GPL2') +depends=('ncurses') +makedepends=('qt') +optdepends=('qt: for i7z-gui') +url="http://code.google.com/p/i7z/" +source=("http://i7z.googlecode.com/files/${pkgname}-${pkgver}.tar.gz") +md5sums=('4408e0e39b195b8fe6383cadc971a862') + +build() { + cd ${srcdir}/${pkgname}-${pkgver} + + make + + cd GUI + qmake + make clean + make +} +package() { + cd ${srcdir}/${pkgname}-${pkgver} + + install -Dm 755 i7z ${pkgdir}/usr/bin/i7z + install -Dm 755 GUI/i7z_GUI ${pkgdir}/usr/bin/i7z-gui +} diff --git a/community/libbsd/LICENSE b/community/libbsd/LICENSE new file mode 100644 index 000000000..7dcbfc2ba --- /dev/null +++ b/community/libbsd/LICENSE @@ -0,0 +1,28 @@ +/*- + * Copyright (c) 1989, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ diff --git a/community/libbsd/PKGBUILD b/community/libbsd/PKGBUILD new file mode 100644 index 000000000..23bb96d5a --- /dev/null +++ b/community/libbsd/PKGBUILD @@ -0,0 +1,30 @@ +# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com> +# Contributor: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar> + +pkgname=libbsd +pkgver=0.3.0 +pkgrel=1 +pkgdesc="Provides useful functions commonly found on BSD systems like strlcpy()" +arch=('i686' 'x86_64') +url="http://libbsd.freedesktop.org" +license=('custom') +depends=('glibc') +source=(http://libbsd.freedesktop.org/releases/$pkgname-$pkgver.tar.gz + LICENSE) +md5sums=('833e58531b4bd84b119b53d834d8e0d8' + '5bd59ff83a7df4873b034478ffae62a6') + +build() { + cd $srcdir/$pkgname-$pkgver + + make exec_prefix=/usr includedir=/usr/include/libbsd +} + +package() { + cd $srcdir/$pkgname-$pkgver + + make exec_prefix=/usr includedir=/usr/include/libbsd DESTDIR=$pkgdir install + install -D -m644 $srcdir/LICENSE $pkgdir/usr/share/licenses/$pkgname/LICENSE +} + +# vim:set ts=2 sw=2 et: diff --git a/community/libircclient/PKGBUILD b/community/libircclient/PKGBUILD index 50e1c02a8..4608c5424 100644 --- a/community/libircclient/PKGBUILD +++ b/community/libircclient/PKGBUILD @@ -1,20 +1,18 @@ # Maintainer: Bartłomiej Piotrowski <barthalion@gmail.com> -# Contributor: SpepS <dreamspepser at yahoo dot it> +# Maintainer: SpepS <dreamspepser at yahoo dot it> # Contributor: Marcel Wysocki <maci@satgnu.net> # Contributor: coolkehon <coolkehon at g m a i l> pkgname=libircclient -pkgver=1.3 -pkgrel=5 +pkgver=1.5 +pkgrel=1 pkgdesc="A small but powerful library, which implements client-server IRC protocol." arch=('i686' 'x86_64') -url="http://libircclient.sf.net" +url="http://www.ulduzsoft.com/libircclient/" depends=('glibc') -license=("GPL2") -source=("http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.gz" - "shared.patch") -md5sums=('b0e80d1d6b0c1cc61660fb9d2350b32d' - 'f2c350d140bd522990c15162645c72f0') +license=('GPL') +source=("http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.gz") +md5sums=('fd1f33181c50823f105df6400eb7746d') build() { cd "$srcdir/$pkgname-$pkgver" @@ -22,15 +20,36 @@ build() { # add fPIC flag for x86_64 [ "$CARCH" = x86_64 ] && export CFLAGS="$CFLAGS -fPIC" - # shared and path patch - patch -p1 -i ../shared.patch + ## Makefile.in fixes: + # invalid `lib` requisite for `install` target + # install shared lib instead of static + # headers in /usr/include/$pkgname + sed -e "/install/s/lib/all/" \ + -e "/DESTDIR/s/\.a/\.so/g" \ + -e "s/@\/include/&\/$pkgname/" \ + -i src/Makefile.in - ./configure --prefix=/usr - cd src && make CFLAGS="$CFLAGS" + ./configure --prefix=/usr \ + --enable-shared + + cd src && make CFLAGS="$CFLAGS" } package() { cd "$srcdir/$pkgname-$pkgver/src" make DESTDIR="$pkgdir/" install + + # doc + install -d "$pkgdir/usr/share/doc/$pkgname" + cp -a ../doc/{html,rfc1459.txt} \ + "$pkgdir/usr/share/doc/$pkgname" + + # man + cp -a ../doc/man "$pkgdir/usr/share" + + # examples (optional) + install -d "$pkgdir/usr/share/$pkgname/examples" + install -Dm644 ../examples/* \ + "$pkgdir/usr/share/$pkgname/examples" } diff --git a/community/nodejs/PKGBUILD b/community/nodejs/PKGBUILD index bae6527de..8ec1be501 100644 --- a/community/nodejs/PKGBUILD +++ b/community/nodejs/PKGBUILD @@ -6,7 +6,7 @@ # Contributor: TIanyi Cui <tianyicui@gmail.com> pkgname=nodejs -pkgver=0.6.7 +pkgver=0.6.8 pkgrel=1 pkgdesc='Evented I/O for V8 javascript' arch=('i686' 'x86_64') @@ -17,16 +17,20 @@ checkdepends=('curl') # curl used for check() optdepends=('openssl: TLS support') options=('!emptydirs') source=("http://nodejs.org/dist/v${pkgver}/node-v${pkgver}.tar.gz") -md5sums=('e7b238356ea7fb230b956010931ca468') +md5sums=('9fd7baa2d27b848c3134e6ae35bb87b2') build() { cd node-v${pkgver} msg 'fixing for python2 name' - find -type f -exec sed -e 's_^#!/usr/bin/env python$_&2_' -e 's_^\(#!/usr/bin/python2\).[45]$_\1_' -e 's_^#!/usr/bin/python$_&2_' -i {} \; + find -type f -exec sed -e 's_^#!/usr/bin/env python$_&2_' -e 's_^\(#!/usr/bin/python2\).[45]$_\1_' -e 's_^#!/usr/bin/python$_&2_' -e "s_'python'_'python2'_" -i {} \; + find test -type f -exec sed -e "s|python |python2 |" -i {} \; sed -i "s|cmd_R = 'python |cmd_R = 'python2 |" wscript sed -i "s|python |python2 |" Makefile find test -type f -exec sed -e 's/python/&2/' -i {} \; + sed -i "s/python/&2/" configure + + export PYTHON=python2 ./configure \ --prefix=/usr diff --git a/community/opensc/PKGBUILD b/community/opensc/PKGBUILD new file mode 100644 index 000000000..1da03752e --- /dev/null +++ b/community/opensc/PKGBUILD @@ -0,0 +1,42 @@ +# $Id: PKGBUILD 62576 2012-01-21 15:54:56Z seblu $ +# Maintainer: Sébastien Luttringer <seblu@aur.archlinux.org> +# Contributor: kevku <kevku@msn.com> + +pkgname=opensc +pkgver=0.12.2 +pkgrel=3 +pkgdesc='Access smart cards that support cryptographic operations' +arch=('x86_64' 'i686') +url='http://www.opensc-project.org/opensc/' +license=('LGPL') +backup=('etc/opensc.conf') +makedepends=('docbook-xsl') +depends=('openssl' 'pcsclite' 'libltdl') +options=('!libtool' '!emptydirs') +source=("http://www.opensc-project.org/files/$pkgname/$pkgname-$pkgver.tar.gz") +md5sums=('5116adea5f2f9f22fb9896965789144b') + +build() { + cd $pkgname-$pkgver + export LIBS=-lltdl + _sheetdir=(/usr/share/xml/docbook/xsl-stylesheets-*) + ./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --enable-man \ + --enable-doc \ + --enable-readline \ + --enable-openssl \ + --enable-pcsc \ + --enable-zlib \ + --with-xsl-stylesheetsdir="$_sheetdir" + make +} + +package(){ + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install + install -D -m644 etc/opensc.conf "$pkgdir/etc/opensc.conf" +} + +# vim:set ts=2 sw=2 ft=sh et: diff --git a/community/par2cmdline/PKGBUILD b/community/par2cmdline/PKGBUILD new file mode 100644 index 000000000..9b37571a5 --- /dev/null +++ b/community/par2cmdline/PKGBUILD @@ -0,0 +1,34 @@ +# $Id: PKGBUILD 62520 2012-01-20 16:52:42Z seblu $ +# Maintainer: Sébastien Luttringer <seblu@aur.archlinux.org +# Contributor: BlackEagle < ike DOT devolder AT gmail DOT com > + +pkgname=par2cmdline +pkgver=0.5.3 +pkgrel=1 +pkgdesc='A PAR 2.0 compatible file verification and repair tool' +url='https://github.com/BlackIkeEagle/par2cmdline' +license=('GPL2') +arch=('i686' 'x86_64') +source=("https://github.com/downloads/BlackIkeEagle/$pkgname/$pkgname-$pkgver.tar.xz") +md5sums=('708db095eac3d83f21ce27b8be123c54') + +build() { + cd ${pkgname}-${pkgver} + aclocal + automake --add-missing + autoconf + ./configure --prefix=/usr + make +} + +check() { + cd ${pkgname}-${pkgver} + make check +} + +package() { + cd ${pkgname}-${pkgver} + make DESTDIR="$pkgdir" install +} + +# vim:set ts=2 sw=2 ft=sh et: diff --git a/community/pidgin-gfire/PKGBUILD b/community/pidgin-gfire/PKGBUILD new file mode 100644 index 000000000..9abfa1f83 --- /dev/null +++ b/community/pidgin-gfire/PKGBUILD @@ -0,0 +1,27 @@ +# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com> +# Contributor: Slash <demodevil5[at]yahoo[dot]com> +# Contributor: LookTJ <jesus[dot]christ[dot]i[dot]love[at]gmail[dot]com> + +pkgname=pidgin-gfire +pkgver=0.9.4 +pkgrel=3 +pkgdesc="Gfire is an Plugin for the Pidgin IM client which allows you to connect the Xfire network." +arch=('i686' 'x86_64') +url="http://gfireproject.org/" +license=('GPL') +depends=('glib2' 'libpurple' 'libnotify' 'gtk2') +makedepends=('pkgconfig' 'intltool' 'libtool') +source=("http://downloads.sourceforge.net/gfire/pidgin-gfire-$pkgver.tar.bz2" "gfire-libnotify.patch") +md5sums=('7167828fd77200603a318afdd4d9ebd2' + '5d6fc2b98837fbebba6bef2648699d5e') +options=(!libtool) + +build() { + cd "$srcdir/pidgin-gfire-$pkgver" + + patch -p0 -i ../gfire-libnotify.patch + ./autogen.sh + ./configure --prefix=/usr --enable-libnotify + make + make DESTDIR="$pkgdir" install +} diff --git a/community/pidgin-gfire/gfire-libnotify.patch b/community/pidgin-gfire/gfire-libnotify.patch new file mode 100644 index 000000000..51e744cd9 --- /dev/null +++ b/community/pidgin-gfire/gfire-libnotify.patch @@ -0,0 +1,21 @@ +--- src/gf_util.c 2011-03-14 21:19:46.987545000 +0100 ++++ src/gf_util.c 2011-04-18 03:36:24.970676551 +0200 +@@ -612,7 +612,7 @@ + if(!gfire_notify_init() || !p_title) + return; + +- NotifyNotification *notification = notify_notification_new(p_title, p_msg, NULL, NULL); ++ NotifyNotification *notification = notify_notification_new(p_title, p_msg, NULL); + notify_notification_set_urgency(notification, NOTIFY_URGENCY_NORMAL); + notify_notification_set_timeout(notification, NOTIFY_EXPIRES_DEFAULT); + g_signal_connect(notification, "closed", G_CALLBACK(gfire_notify_closed_cb), NULL); +@@ -637,7 +637,7 @@ + return; + } + +- notification = notify_notification_new(p_title, p_msg, NULL, NULL); ++ notification = notify_notification_new(p_title, p_msg, NULL); + + // Get Buddy Icon + PurpleBuddyIcon *icon = purple_buddy_get_icon(p_buddy); + diff --git a/community/python-memcached/PKGBUILD b/community/python-memcached/PKGBUILD index cd1a154f9..f9d01cbfe 100644 --- a/community/python-memcached/PKGBUILD +++ b/community/python-memcached/PKGBUILD @@ -2,16 +2,16 @@ # Contributor: Geoffroy Carrier <geoffroy.carrier@aur.archlinux.org> # Contributor: Nathan Jones <nathanj@insightbb.com> pkgname=python-memcached -pkgver=1.47 +pkgver=1.48 pkgrel=1 pkgdesc="A Python interface to memcached" -depends=('python2') -makedepends=('setuptools') -source=(ftp://ftp.tummy.com/pub/$pkgname/$pkgname-$pkgver.tar.gz LICENSE) url="ftp://ftp.tummy.com/pub/python-memcached/" -license=('Python') arch=('i686' 'x86_64') -md5sums=('e4e9d65e5721a1bb01f8d657ddf3f03e' +license=('Python') +source=(ftp://ftp.tummy.com/pub/$pkgname/$pkgname-$pkgver.tar.gz LICENSE) +makedepends=('setuptools') +depends=('python2') +md5sums=('58f8c328304df6aca1f8b60170e98932' '5286ea4c34766a357085694e0984f116') build() { diff --git a/community/python-mpi4py/PKGBUILD b/community/python-mpi4py/PKGBUILD index 670baf0dc..83574c743 100644 --- a/community/python-mpi4py/PKGBUILD +++ b/community/python-mpi4py/PKGBUILD @@ -1,17 +1,17 @@ -# $Id: PKGBUILD 60172 2011-12-06 14:17:13Z stephane $ +# $Id: PKGBUILD 62551 2012-01-21 03:26:53Z stephane $ # Maintainer : Stéphane Gaudreault <stephane@archlinux.org> # Contributor: Sebastien Binet <binet@cern.ch> pkgbase=python-mpi4py pkgname=('python-mpi4py' 'python2-mpi4py') -pkgver=1.2.2 -pkgrel=5 +pkgver=1.3 +pkgrel=1 arch=('i686' 'x86_64') url="http://mpi4py.scipy.org" license=('BSD') makedepends=('python' 'python2' 'python-distribute' 'python2-distribute' 'openmpi') source=(http://mpi4py.googlecode.com/files/mpi4py-${pkgver}.tar.gz) -sha1sums=('e08d09257794a85d010a22ad9bda9d1c89a6258f') +sha1sums=('282c1b9e35b242c9bd86126ebc5af6c70d8c2833') build() { cd "${srcdir}" diff --git a/community/roxterm/PKGBUILD b/community/roxterm/PKGBUILD index 7123e83fa..1630b5894 100644 --- a/community/roxterm/PKGBUILD +++ b/community/roxterm/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 62226 2012-01-18 16:36:56Z ttopper $ +# $Id: PKGBUILD 62568 2012-01-21 14:00:13Z ttopper $ # Maintainer: Thorsten Töpper <atsutane-tu@freethoughts.de> # Contributor: Alexander Fehr <pizzapunk gmail com> pkgname=roxterm pkgver=2.4.2 -pkgrel=1 +pkgrel=2 pkgdesc="Tabbed, VTE-based terminal emulator" arch=('i686' 'x86_64') url="http://roxterm.sourceforge.net/" @@ -20,13 +20,13 @@ md5sums=('7c3bb1471f814a8bfdfcf169ad18e425') build() { cd "${srcdir}/roxterm-${pkgver}" - python2 mscript.py configure + python2 mscript.py configure --prefix="/usr" python2 mscript.py build } package() { cd "${srcdir}/roxterm-${pkgver}" - python2 mscript.py install --destdir=${pkgdir} --prefix="usr" + python2 mscript.py install --destdir="${pkgdir}" } # vim:set ts=2 sw=2 et: diff --git a/community/snort/PKGBUILD b/community/snort/PKGBUILD index 394ee7835..9a9a03107 100644 --- a/community/snort/PKGBUILD +++ b/community/snort/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 60676 2011-12-16 19:35:40Z lfleischer $ +# $Id: PKGBUILD 62466 2012-01-20 07:55:34Z lfleischer $ # Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de> # Contributor: Hugo Doria <hugo@archlinux.org> # Contributor: Kessia 'even' Pinheiro <kessiapinheiro at gmail.com> @@ -6,7 +6,7 @@ # Contributor: Gregor Ibic <gregor.ibic@intelicom.si> pkgname=snort -pkgver=2.9.2 +pkgver=2.9.2.1 pkgrel=1 pkgdesc='A lightweight network intrusion detection system.' arch=('i686' 'x86_64') @@ -21,10 +21,10 @@ backup=('etc/conf.d/snort' 'etc/snort/classification.config') options=('!makeflags' '!libtool') install='snort.install' -source=('http://www.snort.org/downloads/1347' +source=('http://www.snort.org/downloads/1419' 'snort' 'snort.conf.d') -md5sums=('22fa07ba915535b151329056439ae194' +md5sums=('2f3e2b6ee72adbdfac73cb1c6c14bd61' '361b8b9e40b9af0164f6b3e3da2e8277' 'b4fb8a68490589cd34df93de7609bfac') diff --git a/core/kmod/PKGBUILD b/core/kmod/PKGBUILD new file mode 100644 index 000000000..5147f866f --- /dev/null +++ b/core/kmod/PKGBUILD @@ -0,0 +1,56 @@ +# $Id: PKGBUILD 147035 2012-01-21 00:32:01Z dreisner $ +# Maintainer: Dave Reisner <dreisner@archlinux.org> + +pkgname=kmod +pkgver=4 +pkgrel=1 +pkgdesc="Linux kernel module handling" +arch=('i686' 'x86_64') +url="http://git.profusion.mobi/cgit.cgi/kmod.git" +license=('GPL2') +depends=('glibc' 'zlib') +makedepends=('docbook2x') +options=('!libtool') +provides=('module-init-tools=3.16') +conflicts=('module-init-tools') +replaces=('module-init-tools') +source=("http://packages.profusion.mobi/$pkgname/$pkgname-$pkgver.tar.xz" + "depmod-search.conf") +md5sums=('e14450a066a48accd0af1995b3c0232d' + '4b8cbcbc54b9029c99fd730e257d4436') + +build() { + cd "$pkgname-$pkgver" + + ./configure \ + --sysconfdir=/etc \ + --with-rootprefix= \ + --with-zlib + + make +} + +check() { + make -C "$pkgname-$pkgver" check +} + +package() { + make -C "$pkgname-$pkgver" DESTDIR="$pkgdir" install + + # binary directories + install -dm755 "$pkgdir"/{,s}bin + + # configuration directories + install -dm755 "$pkgdir"/{etc,lib}/{depmod,modprobe}.d + + # add symlinks to kmod + ln -s /usr/bin/kmod "$pkgdir/bin/lsmod" + for tool in {ins,rm,dep}mod mod{info,probe}; do + ln -s ../usr/bin/kmod "$pkgdir/sbin/$tool" + done + + # install depmod.d file for search/ dir + install -Dm644 "$srcdir/depmod-search.conf" "$pkgdir/lib/depmod.d/search.conf" +} + +# vim: ft=sh syn=sh et diff --git a/core/kmod/depmod-search.conf b/core/kmod/depmod-search.conf new file mode 100644 index 000000000..3feb67b05 --- /dev/null +++ b/core/kmod/depmod-search.conf @@ -0,0 +1,5 @@ +# +# /etc/depmod.d/depmod.conf +# + +search updates extramodules built-in diff --git a/core/sqlite3/PKGBUILD b/core/sqlite3/PKGBUILD index c82d70599..f24676f44 100644 --- a/core/sqlite3/PKGBUILD +++ b/core/sqlite3/PKGBUILD @@ -1,13 +1,14 @@ -# $Id: PKGBUILD 142094 2011-11-05 09:05:38Z andyrtr $ +# $Id: PKGBUILD 147078 2012-01-21 15:49:21Z andyrtr $ # Maintainer: Andreas Radke <andyrtr@archlinux.org> # Contributor: Tom Newsom <Jeepster@gmx.co.uk> pkgbase="sqlite3" pkgname=('sqlite3' 'sqlite3-tcl' 'sqlite3-doc') -_amalgamationver=3070900 +_amalgamationver=3071000 _amalgamationver2=${_amalgamationver/00/} _docver=${_amalgamationver} #3070700 -pkgver=${_amalgamationver2//0/.} +#pkgver=${_amalgamationver2//0/.} +pkgver=3.7.10 pkgrel=1 pkgdesc="A C library that implements an SQL database engine" arch=('i686' 'x86_64') @@ -20,8 +21,8 @@ source=( # tarball containing the amalgamation for SQLite 3.7.5 together with a http://www.sqlite.org/sqlite-doc-${_docver}.zip license.txt) options=('!libtool' '!emptydirs') -md5sums=('dce303524736fe89a76b8ed29d566352' - 'c48c231dd43d3b74f1d00c36424d87f4' +md5sums=('9ed2ca93577b58cfa0d01f64b9312ab9' + 'd4c8070ea2cec54b77002c265e680b0f' 'c1cdbc5544034d9012e421e75a5e4890') build() { diff --git a/core/udev/0001-udevd-kill-hanging-event-processes-after-30-seconds.patch b/core/udev/0001-udevd-kill-hanging-event-processes-after-30-seconds.patch new file mode 100644 index 000000000..3ff89ae43 --- /dev/null +++ b/core/udev/0001-udevd-kill-hanging-event-processes-after-30-seconds.patch @@ -0,0 +1,162 @@ +From e64fae5573e566ce4fd9b23c68ac8f3096603314 Mon Sep 17 00:00:00 2001 +From: Kay Sievers <kay.sievers@vrfy.org> +Date: Wed, 18 Jan 2012 05:06:18 +0100 +Subject: [PATCH] udevd: kill hanging event processes after 30 seconds + +Some broken kernel drivers load firmware synchronously in the module init +path and block modprobe until the firmware request is fulfilled. + +The modprobe-generated firmware request is a direct child device of the +device which caused modprobe to run. Child device event are blocked until +the parent device is handled. This dead-locks until the kernel firmware +loading timeout of 60 seconds is reached. + +The hanging modprobe event should now time-out and allow the firmware +event to run before the 60 second kernel timeout. +--- + src/udev-event.c | 2 +- + src/udevd.c | 62 +++++++++++++++++++++++++++++++++++++++++++---------- + 2 files changed, 51 insertions(+), 13 deletions(-) + +diff --git a/src/udev-event.c b/src/udev-event.c +index 9bdc518..f0b9548 100644 +--- a/src/udev-event.c ++++ b/src/udev-event.c +@@ -49,7 +49,7 @@ struct udev_event *udev_event_new(struct udev_device *dev) + udev_list_init(udev, &event->run_list, false); + event->fd_signal = -1; + event->birth_usec = now_usec(); +- event->timeout_usec = 60 * 1000 * 1000; ++ event->timeout_usec = 30 * 1000 * 1000; + dbg(event->udev, "allocated event %p\n", event); + return event; + } +diff --git a/src/udevd.c b/src/udevd.c +index 11ab19a..77a1e79 100644 +--- a/src/udevd.c ++++ b/src/udevd.c +@@ -133,6 +133,7 @@ struct worker { + struct udev_monitor *monitor; + enum worker_state state; + struct event *event; ++ unsigned long long event_start_usec; + }; + + /* passed from worker to main process */ +@@ -372,6 +373,7 @@ out: + close(fd_inotify); + close(worker_watch[WRITE_END]); + udev_rules_unref(rules); ++ udev_builtin_exit(udev); + udev_monitor_unref(worker_monitor); + udev_unref(udev); + udev_log_close(); +@@ -389,6 +391,7 @@ out: + worker->monitor = worker_monitor; + worker->pid = pid; + worker->state = WORKER_RUNNING; ++ worker->event_start_usec = now_usec(); + worker->event = event; + event->state = EVENT_RUNNING; + udev_list_node_append(&worker->node, &worker_list); +@@ -419,6 +422,7 @@ static void event_run(struct event *event) + worker_ref(worker); + worker->event = event; + worker->state = WORKER_RUNNING; ++ worker->event_start_usec = now_usec(); + event->state = EVENT_RUNNING; + return; + } +@@ -610,9 +614,11 @@ static void worker_returned(int fd_worker) + continue; + + /* worker returned */ +- worker->event->exitcode = msg.exitcode; +- event_queue_delete(worker->event, true); +- worker->event = NULL; ++ if (worker->event) { ++ worker->event->exitcode = msg.exitcode; ++ event_queue_delete(worker->event, true); ++ worker->event = NULL; ++ } + if (worker->state != WORKER_KILLED) + worker->state = WORKER_IDLE; + worker_unref(worker); +@@ -796,7 +802,7 @@ static void handle_signal(struct udev *udev, int signo) + } + + if (!WIFEXITED(status) || WEXITSTATUS(status) != 0) { +- if (worker->event != NULL) { ++ if (worker->event) { + err(udev, "worker [%u] failed while handling '%s'\n", + pid, worker->event->devpath); + worker->event->exitcode = -32; +@@ -1574,25 +1580,57 @@ int main(int argc, char *argv[]) + break; + + /* timeout at exit for workers to finish */ +- timeout = 60 * 1000; +- } else if (udev_list_node_is_empty(&event_list) && children > 2) { +- /* set timeout to kill idle workers */ +- timeout = 3 * 1000; +- } else { ++ timeout = 30 * 1000; ++ } else if (udev_list_node_is_empty(&event_list) && children <= 2) { ++ /* we are idle */ + timeout = -1; ++ } else { ++ /* kill idle or hanging workers */ ++ timeout = 3 * 1000; + } + fdcount = epoll_wait(fd_ep, ev, ARRAY_SIZE(ev), timeout); + if (fdcount < 0) + continue; + + if (fdcount == 0) { ++ struct udev_list_node *loop; ++ ++ /* timeout */ + if (udev_exit) { +- info(udev, "timeout, giving up waiting for workers to finish\n"); ++ err(udev, "timeout, giving up waiting for workers to finish\n"); + break; + } + +- /* timeout - kill idle workers */ +- worker_kill(udev, 2); ++ /* kill idle workers */ ++ if (udev_list_node_is_empty(&event_list)) { ++ info(udev, "cleanup idle workers\n"); ++ worker_kill(udev, 2); ++ } ++ ++ /* check for hanging events */ ++ udev_list_node_foreach(loop, &worker_list) { ++ struct worker *worker = node_to_worker(loop); ++ ++ if (worker->state != WORKER_RUNNING) ++ continue; ++ ++ if ((now_usec() - worker->event_start_usec) > 30 * 1000 * 1000) { ++ err(udev, "worker [%u] timeout, kill it\n", worker->pid, ++ worker->event ? worker->event->devpath : "<idle>"); ++ kill(worker->pid, SIGKILL); ++ worker->state = WORKER_KILLED; ++ /* drop reference taken for state 'running' */ ++ worker_unref(worker); ++ if (worker->event) { ++ err(udev, "seq %llu '%s' killed\n", ++ udev_device_get_seqnum(worker->event->dev), worker->event->devpath); ++ worker->event->exitcode = -64; ++ event_queue_delete(worker->event, true); ++ worker->event = NULL; ++ } ++ } ++ } ++ + } + + is_worker = is_signal = is_inotify = is_netlink = is_ctrl = false; +-- +1.7.8.3 + diff --git a/core/udev/PKGBUILD b/core/udev/PKGBUILD index 62deffd09..be706f13f 100644 --- a/core/udev/PKGBUILD +++ b/core/udev/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 142408 2011-11-09 04:55:56Z tomegun $ +# $Id: PKGBUILD 147038 2012-01-21 00:32:06Z dreisner $ # Maintainer: Tom Gundersen <teg@jklm.no> # Contributor: Aaron Griffin <aaron@archlinux.org> # Contributor: Tobias Powalowski <tpowa@archlinux.org> @@ -6,27 +6,31 @@ pkgbase="udev" pkgname=('udev' 'udev-compat') -pkgver=175 -pkgrel=1 +pkgver=177 +pkgrel=3 arch=(i686 x86_64) -url="http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html" +url="http://git.kernel.org/?p=linux/hotplug/udev.git;a=summary" license=('GPL') groups=('base') options=(!makeflags !libtool) -makedepends=('gobject-introspection' 'gperf') -#source=(http://www.kernel.org/pub/linux/utils/kernel/hotplug/$pkgbase-$pkgver.tar.bz2 -source=(http://people.freedesktop.org/~kay/udev/$pkgbase-$pkgver.tar.bz2 - 81-arch.rules) +makedepends=('gobject-introspection' 'gperf' 'libxslt' 'usbutils' 'kmod') +source=(ftp://ftp.kernel.org/pub/linux/utils/kernel/hotplug/$pkgbase-$pkgver.tar.xz + 0001-udevd-kill-hanging-event-processes-after-30-seconds.patch) build() { cd $srcdir/$pkgbase-$pkgver - ./configure --sysconfdir=/etc\ - --with-rootlibdir=/lib\ - --libexecdir=/lib/udev\ - --sbindir=/sbin\ - --with-systemdsystemunitdir=/lib/systemd/system\ - --disable-rule-generator\ + # deal with broken drivers waiting for firmware to be loaded + patch -p1 -i ../0001-udevd-kill-hanging-event-processes-after-30-seconds.patch + + ./configure --prefix=/usr \ + --with-rootprefix= \ + --sysconfdir=/etc \ + --bindir=/sbin \ + --libdir=/usr/lib \ + --with-rootlibdir=/lib \ + --libexecdir=/lib \ + --with-systemdsystemunitdir=/lib/systemd/system \ --enable-udev_acl make @@ -34,28 +38,26 @@ build() { package_udev() { pkgdesc="The userspace dev tools (udev)" - depends=('util-linux' 'libusb-compat' 'glib2' 'module-init-tools' 'pciutils') + depends=('util-linux' 'libusb-compat' 'glib2' 'kmod' 'pciutils' 'usbutils' 'pciutils') install=udev.install backup=(etc/udev/udev.conf) - conflicts=('pcmcia-cs' 'hotplug' 'initscripts<2009.07') - replaces=('devfsd') - + cd $srcdir/$pkgbase-$pkgver make DESTDIR=${pkgdir} install - # Install our rule for permissions and symlinks - install -D -m644 $srcdir/81-arch.rules $pkgdir/lib/udev/rules.d/81-arch.rules # create framebuffer blacklist - mkdir -p $pkgdir/lib/modprobe.d/ + install -d -m755 ${pkgdir}/lib/modprobe.d/ for mod in $(find /lib/modules/*/kernel/drivers/video -name '*fb.ko.gz' -exec basename {} .ko.gz \;); do echo "blacklist $mod" done | sort -u > $pkgdir/lib/modprobe.d/framebuffer_blacklist.conf # /dev/loop0 is created for convenience, to autoload the module if necessary - # may be obsoleted by https://lkml.org/lkml/2011/7/30/111 - mknod -m 0660 ${pkgdir}/lib/udev/devices/loop0 b 7 0 + # this is no longer needed when util-linux-2.21 is released as /dev/loop-control + # will be used instead. In that case move this to udev-compat + install -d -m755 ${pkgdir}/lib/udev/devices/ + mknod ${pkgdir}/lib/udev/devices/loop0 b 7 0 chgrp disk ${pkgdir}/lib/udev/devices/loop0 - + # udevd moved, symlink to make life easy for restarting udevd manually ln -s /lib/udev/udevd ${pkgdir}/sbin/udevd @@ -71,31 +73,35 @@ package_udev-compat() { pkgdesc="The userspace dev tools (udev) - additional rules for older kernels" depends=('udev') groups=('') - cd $srcdir/$pkgbase-$pkgver - install -d -m755 ${pkgdir}/lib/${pkgbase}/rules.d + install -d -m755 ${pkgdir}/lib/udev/rules.d install -D -m644 ${srcdir}/${pkgbase}-${pkgver}/rules/misc/30-kernel-compat.rules ${pkgdir}/lib/udev/rules.d/30-kernel-compat.rules - # create static devices in /lib/udev/devices/ - mkdir -p ${pkgdir}/lib/udev/devices/{pts,shm} - mknod -m 0600 ${pkgdir}/lib/udev/devices/console c 5 1 - mknod -m 0666 ${pkgdir}/lib/udev/devices/null c 1 3 - mknod -m 0660 ${pkgdir}/lib/udev/devices/zero c 1 5 - mknod -m 0666 ${pkgdir}/lib/udev/devices/kmsg c 1 11 + # create static nodes to be compatible with on-demand module + # loading in the most recent kernel + # + # the list of nodes is generated from /lib/modules/`most recent kernel`/modprobe.devname + # excluding any devices not included in the LTS kernel and any entries in the + # modprobe.devname file of the LTS kernel (if it exists). - ln -snf /proc/self/fd ${pkgdir}/lib/udev/devices/fd - ln -snf /proc/self/fd/0 ${pkgdir}/lib/udev/devices/stdin - ln -snf /proc/self/fd/1 ${pkgdir}/lib/udev/devices/stdout - ln -snf /proc/self/fd/2 ${pkgdir}/lib/udev/devices/stderr - ln -snf /proc/kcore ${pkgdir}/lib/udev/devices/core + install -d -m755 ${pkgdir}/lib/udev/devices + cd ${pkgdir}/lib/udev/devices - # these static devices are created for convenience, to autoload the modules if necessary - # /dev/net/tun - mkdir ${pkgdir}/lib/udev/devices/net - mknod -m 0666 ${pkgdir}/lib/udev/devices/net/tun c 10 200 - # /dev/fuse - mknod -m 0666 ${pkgdir}/lib/udev/devices/fuse c 10 229 - # /dev/ppp - mknod -m 0600 ${pkgdir}/lib/udev/devices/ppp c 108 0 + install -d -m755 net + mknod net/tun c 10 200 + mknod ppp c 108 0 +# mknod loop-control c 10 237 -- does not exist in old kernels + mknod uinput c 10 223 + install -d -m755 mapper + mknod mapper/control c 10 236 + install -d -m755 snd + mknod snd/timer c 116 33 + mknod snd/seq c 116 1 + mknod btrfs-control c 10 234 + mknod autofs c 10 235 + mknod fuse c 10 229 + install -d -m755 cpu + mknod cpu/microcode c 10 184 + } -md5sums=('2fc9c1efcbde98e3d73ffee7a77aea47' - '3da2bb9891592f9438a07bd641465531') +md5sums=('b4e00faf8153fd7202a7ef609284b0c3' + '3e40dca1c4f8194b4633e3befb4da4d4') diff --git a/core/udev/udev.install b/core/udev/udev.install index 2cc8caaa0..c49c5006f 100644 --- a/core/udev/udev.install +++ b/core/udev/udev.install @@ -2,7 +2,7 @@ # arg 2: the old package version post_upgrade() { - if [ "$(vercmp $2 174)" -lt 0 ]; then + if [ "$(vercmp $2 175)" -lt 0 ]; then echo "ATTENTION UDEV:" echo "----------" if [ "$(vercmp $2 168)" -lt 0 ]; then @@ -33,8 +33,6 @@ post_upgrade() { echo " --" fi if [ "$(vercmp $2 172)" -lt 0 ]; then - echo "Support for non-devtmpfs self-compiled kernels have been moved to udev-compat." - echo " --" echo "Blacklisting of framebuffer devices has moved from /etc/modprobe.d to" echo "/lib/modprobe.d. Any customizations shoud be done to the file in /etc, as it" echo "takes precedence." @@ -46,17 +44,22 @@ post_upgrade() { echo "by X." echo " --" fi - echo "We now use upstream rules for assigning devices to the 'disk', 'optical'," - echo "'scanner' and 'video' groups. Beware of any changes." - echo " --" - echo "We no longer create symlinks from /dev/<dev> to /dev/<dev>0." - echo " --" - echo "For security reasons, we no longer add devices to the 'storage' group. Use" - echo "udisks and friends, or add custom rules to /etc/udev.d/rules/, if you want" - echo "this functionality back." - echo " --" - echo "We no longer create the static nodes on install needed for an initrd-less and" - echo "devtmpfs-less boot, this only affects fresh installs." + if [ "$(vercmp $2 174)" -lt 0 ]; then + echo "We now use upstream rules for assigning devices to the 'disk', 'optical'," + echo "'scanner' and 'video' groups. Beware of any changes." + echo " --" + echo "We no longer create symlinks from /dev/<dev> to /dev/<dev>0." + echo " --" + echo "For security reasons, we no longer add devices to the 'storage' group. Use" + echo "udisks and friends, or add custom rules to /etc/udev.d/rules/, if you want" + echo "this functionality back." + echo " --" + echo "We no longer create the static nodes on install needed for an initrd-less boot" + echo "where devtmpfs is not mounted by the kernel, this only affects fresh installs." + echo " --" + fi + echo "devtmpfs support is now a hard requirement. Users of the official Arch kernels" + echo "have this enabled." echo "---------------" fi } diff --git a/cross/cross-mips64el-unknown-linux-gnu-binutils/PKGBUILD b/cross/cross-mips64el-unknown-linux-gnu-binutils/PKGBUILD new file mode 100644 index 000000000..d4d3afe38 --- /dev/null +++ b/cross/cross-mips64el-unknown-linux-gnu-binutils/PKGBUILD @@ -0,0 +1,45 @@ +# Contributor: Vojtech Horky <vojta . horky at-symbol seznam . cz> + +_pkgname=binutils +_target="mips64el-unknown-linux-gnu" +_sysroot="/usr/${_target}" + +unset CFLAGS CXXFLAGS LDFLAGS + +pkgname=cross-${_target}-binutils +pkgver=2.22 +pkgrel=11 +pkgdesc="A set of programs to assemble and manipulate binary and object files for the MIPS architecture" +url="http://www.gnu.org/software/binutils/" +arch=('i686' 'x86_64') +license=('GPL') +depends=('zlib') +source=("ftp://ftp.gnu.org/gnu/binutils/${_pkgname}-${pkgver}.tar.bz2") +md5sums=('ee0f10756c84979622b992a4a61ea3f5') + +build() { + cd ${srcdir}/${_pkgname}-${pkgver} + + CFLAGS=" -pipe "\ + CXXFLAGS=" -pipe "\ + ./configure --build=${CHOST} \ + --host=${CHOST} \ + --target=${_target} \ + --prefix=/usr \ + --disable-nls \ + --disable-multilib \ + --disable-werror \ + --enable-ld=yes \ + --enable-gold=no \ + --with-sysroot=${_sysroot} + + make +} + +package() { + cd ${srcdir}/${_pkgname}-${pkgver} + + make DESTDIR=${pkgdir} install + + rm -r ${pkgdir}/usr/{lib,share} +} diff --git a/cross/cross-mips64el-unknown-linux-gnu-gcc-core-shared/PKGBUILD b/cross/cross-mips64el-unknown-linux-gnu-gcc-core-shared/PKGBUILD new file mode 100644 index 000000000..3c61dbfca --- /dev/null +++ b/cross/cross-mips64el-unknown-linux-gnu-gcc-core-shared/PKGBUILD @@ -0,0 +1,92 @@ +# Contributor: Nicolás Reynolds <fauno@parabola.nu> +# Contributor (mipsel): Vojtech Horky <vojta . horky at-symbol seznam . cz> +# This package is used to bootstrap a cross glibc and full featured cross gcc +# Change the following variables to match your target +_pkgname=gcc +_target="mips64el-unknown-linux-gnu" +_sysroot="/usr/${_target}" +_ARCH=mips + +unset LDFLAGS CFLAGS CXXFLAGS + +pkgname=cross-${_target}-gcc-core-shared +pkgver=4.6.2 +pkgrel=8 +pkgdesc="The GNU Compiler Collection for the MIPS/Loongson2f architecture (shared version)" +url="http://www.gnu.org/software/binutils/" +arch=('i686' 'x86_64') +license=('GPL') +depends=('libmpc' 'sh' "cross-${_target}-binutils" 'cloog' 'ppl') +makedepends=("cross-${_target}-glibc-headers" + "cross-${_target}-gcc-core") +options=('!ccache' '!distcc' '!emptydirs' '!libtool' '!strip') +source=("ftp://ftp.gnu.org/gnu/gcc/gcc-${pkgver}/${_pkgname}-${pkgver}.tar.bz2") +md5sums=('028115c4fbfb6cfd75d6369f4a90d87e') + +build() { + cd ${srcdir} + mkdir gcc-build && cd gcc-build + mkdir ${_target} + + Copy headers for libgcc2 + cp -av /usr/${_target}/usr/include ${_target}/include + + CC_FOR_BUILD=${CHOST}-gcc \ + CFLAGS=" -pipe " \ + LDFLAGS= \ + ${srcdir}/${_pkgname}-${pkgver}/configure \ + --build=${CHOST} \ + --host=${CHOST} \ + --target=${_target} \ + --prefix=/usr \ + --with-local-prefix=${_sysroot} \ + --disable-multilib \ + --disable-libmudflap \ + --with-sysroot=${_sysroot} \ + --enable-shared \ + --with-arch=loongson2f \ + --with-abi=n32 \ + --enable-__cxa_atexit \ + --with-gmp \ + --with-mpfr \ + --with-mpc \ + --with-ppl \ + --enable-cloog-backend=isl \ + --with-libelf \ + --enable-lto \ + --with-host-libstdcxx="-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm -lpwl" \ + --enable-target-optspace \ + --disable-libgomp \ + --disable-libmudflap \ + --disable-nls \ + --enable-languages=c + + msg2 "Configuring gcc and libgcc" + make ${MAKEFLAGS} configure-gcc configure-libcpp configure-build-libiberty + + msg2 "Making libcpp and libiberty" + make ${MAKEFLAGS} all-libcpp all-build-libiberty + + msg2 "Configuring libdecnumber" + make ${MAKEFLAGS} configure-libdecnumber + + msg2 "Making libdecnumber" + make ${MAKEFLAGS} -C libdecnumber libdecnumber.a + + msg2 "Making mvars" + make ${MAKEFLAGS} -C gcc libgcc.mvars + +# Remove -lc since we don't have it yet + sed -r -i -e 's@-lc@@g' gcc/libgcc.mvars + + msg2 "Making gcc and libgcc" + make ${MAKEFLAGS} all-gcc all-target-libgcc +} + +package() { + cd ${srcdir}/${_pkgname}-build + + make ${MAKEFLAGS} DESTDIR=${pkgdir} install-gcc install-target-libgcc + + rm -r ${pkgdir}/usr/share +} diff --git a/cross/cross-mips64el-unknown-linux-gnu-gcc-core/PKGBUILD b/cross/cross-mips64el-unknown-linux-gnu-gcc-core/PKGBUILD new file mode 100644 index 000000000..da49a903f --- /dev/null +++ b/cross/cross-mips64el-unknown-linux-gnu-gcc-core/PKGBUILD @@ -0,0 +1,70 @@ +# Contributor: Nicolás Reynolds <fauno@parabola.nu> +# Contributor (mipsel): Vojtech Horky <vojta . horky at-symbol seznam . cz> +# This package is used to bootstrap a cross glibc and full featured cross gcc +# Change the following variables to match your target +_pkgname=gcc +_target="mips64el-unknown-linux-gnu" +_sysroot="/usr/${_target}" +_ARCH=mips + +unset LDFLAGS CFLAGS CXXFLAGS + +pkgname=cross-${_target}-gcc-core +pkgver=4.6.2 +pkgrel=8 +pkgdesc="The GNU Compiler Collection for the MIPS/Loongson2f architecture (static version)" +url="http://www.gnu.org/software/binutils/" +arch=('i686' 'x86_64') +license=('GPL') +depends=('libmpc' 'sh' "cross-${_target}-binutils" 'cloog' 'ppl') +options=('!ccache' '!distcc' '!emptydirs' '!libtool' '!strip') +source=("ftp://ftp.gnu.org/gnu/gcc/gcc-${pkgver}/${_pkgname}-${pkgver}.tar.bz2") +md5sums=('028115c4fbfb6cfd75d6369f4a90d87e') + +build() { + cd ${srcdir} + mkdir gcc-build && cd gcc-build + + CC_FOR_BUILD=${CHOST}-gcc \ + CFLAGS=" -pipe " \ + LDFLAGS= \ + ${srcdir}/${_pkgname}-${pkgver}/configure \ + --build=${CHOST} \ + --host=${CHOST} \ + --target=${_target} \ + --prefix=/usr \ + --with-local-prefix=${_sysroot} \ + --disable-multilib \ + --disable-libmudflap \ + --with-sysroot=${_sysroot} \ + --with-newlib \ + --enable-threads=no \ + --disable-shared \ + --with-arch=loongson2f \ + --with-abi=n32 \ + --enable-__cxa_atexit \ + --with-gmp \ + --with-mpfr \ + --with-mpc \ + --with-ppl \ + --enable-cloog-backend=isl \ + --enable-lto \ + --with-host-libstdcxx="-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm -lpwl" \ + --enable-target-optspace \ + --disable-libgomp \ + --disable-libmudflap \ + --disable-nls \ + --enable-languages=c \ + --with-libs \ + --with-headers + + make ${MAKEFLAGS} all-gcc +} + +package() { + cd ${srcdir}/${_pkgname}-build + + make ${MAKEFLAGS} DESTDIR=${pkgdir} install-gcc + + rm -r ${pkgdir}/usr/share +} diff --git a/cross/cross-mips64el-unknown-linux-gnu-gcc/PKGBUILD b/cross/cross-mips64el-unknown-linux-gnu-gcc/PKGBUILD new file mode 100644 index 000000000..e4b91c652 --- /dev/null +++ b/cross/cross-mips64el-unknown-linux-gnu-gcc/PKGBUILD @@ -0,0 +1,63 @@ +# Contributor: Vojtech Horky <vojta . horky at-symbol seznam . cz> +_pkgname=gcc +_target="mips64el-unknown-linux-gnu" +_sysroot="/usr/lib/cross-${_target}" +export PATH=${_sysroot}/bin:/usr/bin/cross/${_target}:$PATH + +pkgname=cross-${_target}-gcc +pkgver=4.6.2 +pkgrel=1 +pkgdesc="The GNU Compiler Collection for the MIPS/Loongson2f architecture" +url="http://www.gnu.org/software/binutils/" +arch=('i686' 'x86_64') +license=('GPL') +#depends=('libmpc' 'sh' "cross-mips64el-linux-gnu-gcc-base" "cross-${_target}-binutils" "cross-${_target}-glibc" 'cloog' 'ppl') +depends=('libmpc' 'sh' "cross-${_target}-binutils" 'cloog' 'ppl') +options=('!ccache' '!distcc' '!emptydirs' '!libtool' '!strip') +source=("ftp://ftp.gnu.org/gnu/gcc/gcc-${pkgver}/${_pkgname}-core-${pkgver}.tar.bz2") +md5sums=('780f614ab18c7a9066dec6387d7490b2') + +build() { + cd ${srcdir}/${_pkgname}-${pkgver} + + # -march=x86-64 and -mtune=generic don't work on mips64el, we + # also want to use -mfix-loongson2f-nop. + export CFLAGS_FOR_TARGET="-O2 -march=loongson2f -mabi=n32 -pipe -mplt -Wa,-mfix-loongson2f-nop" + export CXXFLAGS_FOR_TARGET="-O2 -march=loongson2f -mabi=n32 -pipe -mplt -Wa,-mfix-loongson2f-nop" + + ./configure \ + "--prefix=${_sysroot}" \ + "--bindir=/usr/bin" "--program-prefix=${_target}-" \ + "--with-sysroot=${_sysroot}" \ + "--target=${_target}" "--build=$CHOST" "--host=$CHOST" \ + --enable-shared \ + --with-gnu-as --with-gnu-ld \ + --disable-nls --disable-threads \ + --enable-languages=c \ + --disable-multilib --disable-libgcj \ + --enable-cloog-backend=isl +# --enable-languages=c,c++,lto,fortran,objc,obj-c++ \ + make all # -gcc "inhibit_libc=true" +} + +package() { + cd ${srcdir}/${_pkgname}-${pkgver} + + make DESTDIR=${pkgdir} install # -gcc + + msg "Removing duplicit files..." + # remove these files as they are already in the system + # (with native gcc) + rm -Rf ${pkgdir}${_sysroot}/{man,info} + # remove conflicting binaries + find ${pkgdir}/usr/bin/ -type f -not -name "${_target}-*" -delete + + msg "Creating out-of-path executables..." + # symlink executables to single directory with no-arch-prefix name + mkdir -p ${pkgdir}/usr/bin/cross/${_target}/; + cd ${pkgdir}/usr/bin/cross/${_target}/; + for bin in ${pkgdir}/usr/bin/${_target}-*; do + bbin=`basename "$bin"`; + ln -s "/usr/bin/${bbin}" `echo "$bbin" | sed "s#^${_target}-##"`; + done +} diff --git a/cross/cross-mips64el-unknown-linux-gnu-glibc-headers/PKGBUILD b/cross/cross-mips64el-unknown-linux-gnu-glibc-headers/PKGBUILD new file mode 100644 index 000000000..a83a1238a --- /dev/null +++ b/cross/cross-mips64el-unknown-linux-gnu-glibc-headers/PKGBUILD @@ -0,0 +1,210 @@ +# $Id: PKGBUILD 145917 2012-01-04 01:25:10Z allan $ +# Maintainer: Allan McRae <allan@archlinux.org> + +# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc +# NOTE: valgrind requires rebuilt with each major glibc version + +_pkgname=glibc +_target="mips64el-unknown-linux-gnu" +_sysroot="/usr/${_target}" +_ARCH=mips + +unset CFLAGS CXXFLAGS LDFLAGS + +pkgname=cross-${_target}-glibc-headers +pkgver=2.15 +pkgrel=4 +_glibcdate=20111227 +pkgdesc="GNU C Library" +arch=('i686' 'x86_64' 'mips64el') +url="http://www.gnu.org/software/libc" +license=('GPL' 'LGPL') +groups=("${_target}-devel") +depends=("${_target}-linux-api-headers>=3.1.6" 'tzdata') +makedepends=("cross-${_target}-binutils" + "cross-${_target}-gcc-core") +options=('!strip') +install=glibc.install +source=(ftp://ftp.archlinux.org/other/glibc/${_pkgname}-${pkgver}_${_glibcdate}.tar.xz + http://repo.parabolagnulinux.org/other/glibc-ports-${pkgver}_${_glibcdate}.tar.xz + configure.patch + glibc-2.10-dont-build-timezone.patch + glibc-2.10-bz4781.patch + glibc-__i686.patch + glibc-2.12.2-ignore-origin-of-privileged-program.patch + glibc-2.14-libdl-crash.patch + glibc-2.14-revert-4768ae77.patch + glibc-2.14-reexport-rpc-interface.patch + glibc-2.14-reinstall-nis-rpc-headers.patch + glibc-2.15-lddebug-scopes.patch + glibc-2.15-revert-c5a0802a.patch + glibc-2.15-math64crash.patch + nscd + locale.gen.txt + locale-gen) +md5sums=('6ffdf5832192b92f98bdd125317c0dfc' + 'a006504b83553d0b554cf8badff005b6' + '4dadb9203b69a3210d53514bb46f41c3' + '0c5540efc51c0b93996c51b57a8540ae' + '40cd342e21f71f5e49e32622b25acc52' + 'b042647ea7d6f22ad319e12e796bd13e' + '6970bcfeb3bf88913436d5112d16f588' + '7da8c554a3b591c7401d7023b1928afc' + 'c5de2a946215d647c8af5432ec4b0da0' + '55febbb72139ac7b65757df085024b83' + '3c219ddfb619b6df903cac4cc42c611d' + '7ae3e426251ae33e73dbad71f9c91378' + 'dc7550e659ddd685bd78a930d15a01f2' + 'b587ee3a70c9b3713099295609afde49' + '07ac979b6ab5eeb778d55f041529d623' + '476e9113489f93b348b21e144b6a8fcf') + +mksource() { + git clone http://sourceware.org/git/glibc.git + pushd glibc + #git checkout -b glibc-2.15-arch origin/release/2.15/master + git checkout -b glibc-${pkgver}-arch origin/master + popd + tar -cvJf glibc-${pkgver}_${_glibcdate}.tar.xz glibc/* + mksource-ports +} + +mksource-ports() { + tsocks git clone git://sourceware.org/git/glibc-ports.git + pushd glibc-ports + git checkout -b glibc-${pkgver}-arch origin/release/${pkgver}/master + popd + tar -cvJf glibc-ports-${pkgver}_${_glibcdate}.tar.xz glibc-ports/* +} + +build() { + cd ${srcdir}/glibc + + # export PATH=${_sysroot}/bin/:$PATH + + # timezone data is in separate package (tzdata) + patch -Np1 -i ${srcdir}/glibc-2.10-dont-build-timezone.patch + + # http://sources.redhat.com/bugzilla/show_bug.cgi?id=4781 + patch -Np1 -i ${srcdir}/glibc-2.10-bz4781.patch + + # http://sources.redhat.com/bugzilla/show_bug.cgi?id=411 + # http://sourceware.org/ml/libc-alpha/2009-07/msg00072.html + patch -Np1 -i ${srcdir}/glibc-__i686.patch + + # http://www.exploit-db.com/exploits/15274/ + # http://sourceware.org/git/?p=glibc.git;a=patch;h=d14e6b09 (only fedora branch...) + patch -Np1 -i ${srcdir}/glibc-2.12.2-ignore-origin-of-privileged-program.patch + + # http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=675155e9 (only fedora branch...) + # http://sourceware.org/ml/libc-alpha/2011-06/msg00006.html + patch -Np1 -i ${srcdir}/glibc-2.14-libdl-crash.patch + + # Revert commit causing issues with crappy DNS servers... + # Will be removed when workaround becomes annoying to maintain - USE A BETTER DNS SERVER! + # Note that both these patches appear not to fix the issue completely: + # http://sourceware.org/bugzilla/show_bug.cgi?id=13013 + # http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=032c0ee3 (only fedora branch...) + patch -Np1 -i ${srcdir}/glibc-2.14-revert-4768ae77.patch + + # re-export RPC interface until libtirpc is ready as a replacement + # http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=acee4873 (only fedora branch...) + patch -Np1 -i ${srcdir}/glibc-2.14-reexport-rpc-interface.patch + # http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=bdd816a3 (only fedora branch...) + patch -Np1 -i ${srcdir}/glibc-2.14-reinstall-nis-rpc-headers.patch + + # propriety nvidia crash - https://bugzilla.redhat.com/show_bug.cgi?id=737223 + # http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=0c95ab64 (only fedora branch...) + patch -Np1 -i ${srcdir}/glibc-2.15-lddebug-scopes.patch + + # revert commit c5a0802a - causes various hangs + # https://bugzilla.redhat.com/show_bug.cgi?id=769421 + patch -Np1 -i ${srcdir}/glibc-2.15-revert-c5a0802a.patch + + # revert optimized math routines that can cause crashes (FS#27736, FS#27743) + # obviously not a real fix... + patch -Np1 -i ${srcdir}/glibc-2.15-math64crash.patch + + patch -Np0 -i ${srcdir}/configure.patch + + ln -s ../glibc-ports ports + + cd ${srcdir} + mkdir glibc-build + cd glibc-build + + echo "libc_cv_ctors_header=no" >> config.cache + echo "libc_cv_forced_unwind=yes" >> config.cache + echo "libc_cv_c_cleanup=yes" >> config.cache + + BUILD_CC=${CHOST}-gcc \ + CFLAGS=" -EL -march=loongson2f -mabi=n32 -O2 -U_FORTIFY_SOURCE " \ + CC=${_target}-gcc \ + AR=${_target}-ar \ + RANLIB=${_target}-ranlib \ + ${srcdir}/glibc/configure \ + --prefix=/usr \ + --build=${CHOST} \ + --host=${_target} \ + --without-cvs \ + --disable-profile \ + --without-gd \ + --with-headers=/usr/${_target}/usr/include \ + --cache-file=${srcdir}/glibc-build/config.cache \ + --disable-debug \ + --disable-sanity-checks \ + --enable-kernel=2.6.27 \ + --with-__thread \ + --with-tls \ + --enable-shared \ + --with-fp \ + --enable-add-ons=nptl,ports + +} + +package() { + cd ${srcdir}/glibc-build + headers_dir=${pkgdir}${_sysroot}/usr/include + + make ${MAKEFLAGS} install_root=${pkgdir}${_sysroot} all-bootstrap-headers=yes install-headers + + msg "Installing some headers manually" + mkdir -p "${headers_dir}/gnu" + touch "${headers_dir}/gnu/stubs.h" + cp -v "${srcdir}/glibc/include/features.h" "${headers_dir}/features.h" + cp -v bits/stdio_lim.h "${headers_dir}/bits/stdio_lim.h" + + mkdir -p ${pkgdir}${_sysroot}/usr/lib + + make csu/subdir_lib + cp csu/crt1.o csu/crti.o csu/crtn.o ${pkgdir}${_sysroot}/usr/lib + + ${_target}-gcc -nostdlib \ + -nostartfiles \ + -shared \ + -x c /dev/null \ + -o ${pkgdir}${_sysroot}/usr/lib/libc.so + +# This will help gcc-shared to find headers for libgcc2 + msg2 "Symlinking headers" + rm -r ${pkgdir}${_sysroot}/include + ln -s ${_sysroot}/usr/include ${pkgdir}${_sysroot}/include + +} +md5sums=('6ffdf5832192b92f98bdd125317c0dfc' + '98d028ee63fca2821414ebcac0af0e5b' + '39f80ba6bcda6b010a66f9c61e9a0017' + '4dadb9203b69a3210d53514bb46f41c3' + '0c5540efc51c0b93996c51b57a8540ae' + '40cd342e21f71f5e49e32622b25acc52' + 'b042647ea7d6f22ad319e12e796bd13e' + '6970bcfeb3bf88913436d5112d16f588' + '7da8c554a3b591c7401d7023b1928afc' + 'c5de2a946215d647c8af5432ec4b0da0' + '55febbb72139ac7b65757df085024b83' + '3c219ddfb619b6df903cac4cc42c611d' + '7ae3e426251ae33e73dbad71f9c91378' + 'dc7550e659ddd685bd78a930d15a01f2' + 'b587ee3a70c9b3713099295609afde49' + '07ac979b6ab5eeb778d55f041529d623' + '476e9113489f93b348b21e144b6a8fcf') diff --git a/cross/cross-mips64el-unknown-linux-gnu-glibc-headers/configure.patch b/cross/cross-mips64el-unknown-linux-gnu-glibc-headers/configure.patch new file mode 100644 index 000000000..5393ae5cd --- /dev/null +++ b/cross/cross-mips64el-unknown-linux-gnu-glibc-headers/configure.patch @@ -0,0 +1,20 @@ +--- configure 2011-12-18 02:53:21.000000000 -0300 ++++ configure 2012-01-14 15:20:13.737901264 -0300 +@@ -7210,13 +6940,14 @@ + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_gcc_builtin_expect" >&5 + $as_echo "$libc_cv_gcc_builtin_expect" >&6; } +-if test "$libc_cv_gcc_builtin_expect" = no; then +- as_fn_error $? "support for __builtin_expect needed" "$LINENO" 5 ++if test "$libc_cv_gcc_builtin_expect" = yes; then ++ $as_echo "#define HAVE_BUILTIN_EXPECT 1" >>confdefs.h ++ + fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __builtin_memset" >&5 + $as_echo_n "checking for __builtin_memset... " >&6; } +-if ${libc_cv_gcc_builtin_memset+:} false; then : ++if ${libc_cv_gcc_builtin_memset+:} false; then : + $as_echo_n "(cached) " >&6 + else + cat > conftest.c <<\EOF diff --git a/cross/cross-mips64el-unknown-linux-gnu-glibc-headers/glibc-2.10-bz4781.patch b/cross/cross-mips64el-unknown-linux-gnu-glibc-headers/glibc-2.10-bz4781.patch new file mode 100644 index 000000000..cf1a97a18 --- /dev/null +++ b/cross/cross-mips64el-unknown-linux-gnu-glibc-headers/glibc-2.10-bz4781.patch @@ -0,0 +1,42 @@ +diff -Naur glibc-old/sysdeps/unix/sysv/linux/i386/clone.S glibc/sysdeps/unix/sysv/linux/i386/clone.S +--- glibc-old/sysdeps/unix/sysv/linux/i386/clone.S 2009-05-09 13:35:30.000000000 +1000 ++++ glibc/sysdeps/unix/sysv/linux/i386/clone.S 2009-05-23 13:27:46.000000000 +1000 +@@ -120,9 +120,6 @@ + ret + + L(thread_start): +- cfi_startproc; +- /* Clearing frame pointer is insufficient, use CFI. */ +- cfi_undefined (eip); + /* Note: %esi is zero. */ + movl %esi,%ebp /* terminate the stack frame */ + #ifdef RESET_PID +@@ -155,7 +152,6 @@ + jmp L(haspid) + .previous + #endif +- cfi_endproc; + + cfi_startproc + PSEUDO_END (BP_SYM (__clone)) +diff -Naur glibc-old/sysdeps/unix/sysv/linux/x86_64/clone.S glibc/sysdeps/unix/sysv/linux/x86_64/clone.S +--- glibc-old/sysdeps/unix/sysv/linux/x86_64/clone.S 2009-05-09 13:35:30.000000000 +1000 ++++ glibc/sysdeps/unix/sysv/linux/x86_64/clone.S 2009-05-23 13:27:46.000000000 +1000 +@@ -89,9 +89,6 @@ + ret + + L(thread_start): +- cfi_startproc; +- /* Clearing frame pointer is insufficient, use CFI. */ +- cfi_undefined (rip); + /* Clear the frame pointer. The ABI suggests this be done, to mark + the outermost frame obviously. */ + xorl %ebp, %ebp +@@ -116,7 +113,6 @@ + /* Call exit with return value from function call. */ + movq %rax, %rdi + call HIDDEN_JUMPTARGET (_exit) +- cfi_endproc; + + cfi_startproc; + PSEUDO_END (BP_SYM (__clone)) diff --git a/cross/cross-mips64el-unknown-linux-gnu-glibc-headers/glibc-2.10-dont-build-timezone.patch b/cross/cross-mips64el-unknown-linux-gnu-glibc-headers/glibc-2.10-dont-build-timezone.patch new file mode 100644 index 000000000..d3abeff17 --- /dev/null +++ b/cross/cross-mips64el-unknown-linux-gnu-glibc-headers/glibc-2.10-dont-build-timezone.patch @@ -0,0 +1,13 @@ +timezone data has been split into the package sys-libs/timezone-data + +--- glibc-2.4/Makeconfig ++++ glibc-2.4/Makeconfig +@@ -931,7 +931,7 @@ + stdlib stdio-common libio malloc string wcsmbs time dirent \ + grp pwd posix io termios resource misc socket sysvipc gmon \ + gnulib iconv iconvdata wctype manual shadow gshadow po argp \ +- crypt nss localedata timezone rt conform debug \ ++ crypt nss localedata rt conform debug \ + $(add-on-subdirs) $(dlfcn) $(binfmt-subdir) + + ifndef avoid-generated diff --git a/cross/cross-mips64el-unknown-linux-gnu-glibc-headers/glibc-2.12.2-ignore-origin-of-privileged-program.patch b/cross/cross-mips64el-unknown-linux-gnu-glibc-headers/glibc-2.12.2-ignore-origin-of-privileged-program.patch new file mode 100644 index 000000000..ce089b49c --- /dev/null +++ b/cross/cross-mips64el-unknown-linux-gnu-glibc-headers/glibc-2.12.2-ignore-origin-of-privileged-program.patch @@ -0,0 +1,26 @@ +From d14e6b09d60d52cc12f0396c3106b14e1bd0fe8f Mon Sep 17 00:00:00 2001 +From: Andreas Schwab <schwab@redhat.com> +Date: Thu, 9 Dec 2010 15:00:59 +0100 +Subject: [PATCH 1/1] Ignore origin of privileged program + +--- + ChangeLog | 5 +++++ + elf/dl-object.c | 3 +++ + 2 files changed, 8 insertions(+), 0 deletions(-) + +diff --git a/elf/dl-object.c b/elf/dl-object.c +index 22a1635..7674d49 100644 +--- a/elf/dl-object.c ++++ b/elf/dl-object.c +@@ -214,6 +214,9 @@ _dl_new_object (char *realname, const char *libname, int type, + out: + new->l_origin = origin; + } ++ else if (INTUSE(__libc_enable_secure) && type == lt_executable) ++ /* The origin of a privileged program cannot be trusted. */ ++ new->l_origin = (char *) -1; + + return new; + } +-- +1.7.2 diff --git a/cross/cross-mips64el-unknown-linux-gnu-glibc-headers/glibc-2.14-libdl-crash.patch b/cross/cross-mips64el-unknown-linux-gnu-glibc-headers/glibc-2.14-libdl-crash.patch new file mode 100644 index 000000000..6c9d2718e --- /dev/null +++ b/cross/cross-mips64el-unknown-linux-gnu-glibc-headers/glibc-2.14-libdl-crash.patch @@ -0,0 +1,132 @@ +diff --git a/elf/dl-close.c b/elf/dl-close.c +index 73b2a2f..9bd91e3 100644 +--- a/elf/dl-close.c ++++ b/elf/dl-close.c +@@ -1,5 +1,5 @@ + /* Close a shared object opened by `_dl_open'. +- Copyright (C) 1996-2007, 2009, 2010, 2011 Free Software Foundation, Inc. ++ Copyright (C) 1996-2007, 2009, 2010 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or +@@ -119,17 +119,8 @@ _dl_close_worker (struct link_map *map) + if (map->l_direct_opencount > 0 || map->l_type != lt_loaded + || dl_close_state != not_pending) + { +- if (map->l_direct_opencount == 0) +- { +- if (map->l_type == lt_loaded) +- dl_close_state = rerun; +- else if (map->l_type == lt_library) +- { +- struct link_map **oldp = map->l_initfini; +- map->l_initfini = map->l_orig_initfini; +- _dl_scope_free (oldp); +- } +- } ++ if (map->l_direct_opencount == 0 && map->l_type == lt_loaded) ++ dl_close_state = rerun; + + /* There are still references to this object. Do nothing more. */ + if (__builtin_expect (GLRO(dl_debug_mask) & DL_DEBUG_FILES, 0)) +diff --git a/elf/dl-deps.c b/elf/dl-deps.c +index 9e30594..3890d00 100644 +--- a/elf/dl-deps.c ++++ b/elf/dl-deps.c +@@ -478,6 +478,7 @@ _dl_map_object_deps (struct link_map *map, + nneeded * sizeof needed[0]); + atomic_write_barrier (); + l->l_initfini = l_initfini; ++ l->l_free_initfini = 1; + } + + /* If we have no auxiliary objects just go on to the next map. */ +@@ -681,6 +682,7 @@ Filters not supported with LD_TRACE_PRELINKING")); + l_initfini[nlist] = NULL; + atomic_write_barrier (); + map->l_initfini = l_initfini; ++ map->l_free_initfini = 1; + if (l_reldeps != NULL) + { + atomic_write_barrier (); +@@ -689,5 +691,5 @@ Filters not supported with LD_TRACE_PRELINKING")); + _dl_scope_free (old_l_reldeps); + } + if (old_l_initfini != NULL) +- map->l_orig_initfini = old_l_initfini; ++ _dl_scope_free (old_l_initfini); + +diff --git a/elf/dl-libc.c b/elf/dl-libc.c +index 7be9483..a13fce3 100644 +--- a/elf/dl-libc.c ++++ b/elf/dl-libc.c +@@ -265,13 +265,13 @@ libc_freeres_fn (free_mem) + + for (Lmid_t ns = 0; ns < GL(dl_nns); ++ns) + { +- /* Remove all additional names added to the objects. */ + for (l = GL(dl_ns)[ns]._ns_loaded; l != NULL; l = l->l_next) + { + struct libname_list *lnp = l->l_libname->next; + + l->l_libname->next = NULL; + ++ /* Remove all additional names added to the objects. */ + while (lnp != NULL) + { + struct libname_list *old = lnp; +@@ -279,6 +279,10 @@ libc_freeres_fn (free_mem) + if (! old->dont_free) + free (old); + } ++ ++ /* Free the initfini dependency list. */ ++ if (l->l_free_initfini) ++ free (l->l_initfini); + } + + if (__builtin_expect (GL(dl_ns)[ns]._ns_global_scope_alloc, 0) != 0 +diff --git a/elf/rtld.c b/elf/rtld.c +index 4a9109e..617e30e 100644 +--- a/elf/rtld.c ++++ b/elf/rtld.c +@@ -2251,6 +2251,7 @@ ERROR: ld.so: object '%s' cannot be loaded as audit interface: %s; ignored.\n", + lnp->dont_free = 1; + lnp = lnp->next; + } ++ l->l_free_initfini = 0; + + if (l != &GL(dl_rtld_map)) + _dl_relocate_object (l, l->l_scope, GLRO(dl_lazy) ? RTLD_LAZY : 0, +diff --git a/include/link.h b/include/link.h +index e877104..051b99a 100644 +--- a/include/link.h ++++ b/include/link.h +@@ -1,6 +1,6 @@ + /* Data structure for communication from the run-time dynamic linker for + loaded ELF shared objects. +- Copyright (C) 1995-2006, 2007, 2009, 2010, 2011 Free Software Foundation, Inc. ++ Copyright (C) 1995-2006, 2007, 2009, 2010 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or +@@ -192,6 +192,9 @@ struct link_map + during LD_TRACE_PRELINKING=1 + contains any DT_SYMBOLIC + libraries. */ ++ unsigned int l_free_initfini:1; /* Nonzero if l_initfini can be ++ freed, ie. not allocated with ++ the dummy malloc in ld.so. */ + + /* Collected information about own RPATH directories. */ + struct r_search_path_struct l_rpath_dirs; +@@ -240,9 +243,6 @@ struct link_map + + /* List of object in order of the init and fini calls. */ + struct link_map **l_initfini; +- /* The init and fini list generated at startup, saved when the +- object is also loaded dynamically. */ +- struct link_map **l_orig_initfini; + + /* List of the dependencies introduced through symbol binding. */ + struct link_map_reldeps diff --git a/cross/cross-mips64el-unknown-linux-gnu-glibc-headers/glibc-2.14-reexport-rpc-interface.patch b/cross/cross-mips64el-unknown-linux-gnu-glibc-headers/glibc-2.14-reexport-rpc-interface.patch new file mode 100644 index 000000000..e2beea881 --- /dev/null +++ b/cross/cross-mips64el-unknown-linux-gnu-glibc-headers/glibc-2.14-reexport-rpc-interface.patch @@ -0,0 +1,26 @@ +diff --git a/include/libc-symbols.h b/include/libc-symbols.h +index 67e1ca2..5e7cca5 100644 +--- a/include/libc-symbols.h ++++ b/include/libc-symbols.h +@@ -635,7 +635,7 @@ for linking") + # define libc_hidden_proto(name, attrs...) hidden_proto (name, ##attrs) + # define libc_hidden_def(name) hidden_def (name) + # define libc_hidden_weak(name) hidden_weak (name) +-# define libc_hidden_nolink(name, version) hidden_nolink (name, libc, version) ++# define libc_hidden_nolink(name, version) hidden_def (name) + # define libc_hidden_ver(local, name) hidden_ver (local, name) + # define libc_hidden_data_def(name) hidden_data_def (name) + # define libc_hidden_data_weak(name) hidden_data_weak (name) +diff --git a/sunrpc/Makefile b/sunrpc/Makefile +index 5134ce9..40c73d1 100644 +--- a/sunrpc/Makefile ++++ b/sunrpc/Makefile +@@ -53,7 +53,7 @@ headers-in-tirpc = $(addprefix rpc/,auth.h auth_unix.h clnt.h pmap_clnt.h \ + des_crypt.h) + headers-not-in-tirpc = $(addprefix rpc/,key_prot.h rpc_des.h) \ + $(rpcsvc:%=rpcsvc/%) rpcsvc/bootparam.h +-headers = rpc/netdb.h ++headers = rpc/netdb.h $(headers-in-tirpc) $(headers-not-in-tirpc) + install-others = $(inst_sysconfdir)/rpc + generated = $(rpcsvc:%.x=rpcsvc/%.h) $(rpcsvc:%.x=x%.c) $(rpcsvc:%.x=x%.stmp) \ + $(rpcsvc:%.x=rpcsvc/%.stmp) rpcgen diff --git a/cross/cross-mips64el-unknown-linux-gnu-glibc-headers/glibc-2.14-reinstall-nis-rpc-headers.patch b/cross/cross-mips64el-unknown-linux-gnu-glibc-headers/glibc-2.14-reinstall-nis-rpc-headers.patch new file mode 100644 index 000000000..eb0fd822d --- /dev/null +++ b/cross/cross-mips64el-unknown-linux-gnu-glibc-headers/glibc-2.14-reinstall-nis-rpc-headers.patch @@ -0,0 +1,28 @@ +From bdd816a366c4e5bba5de7157d948e0c0737fb4fb Mon Sep 17 00:00:00 2001 +From: Andreas Schwab <schwab@redhat.com> +Date: Tue, 17 May 2011 17:42:30 +0200 +Subject: [PATCH] Reinstall NIS RPC headers + +--- + nis/Makefile | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/nis/Makefile b/nis/Makefile +index b5c9609..d2934d9 100644 +--- a/nis/Makefile ++++ b/nis/Makefile +@@ -23,9 +23,9 @@ subdir := nis + + aux := nis_hash + ++headers := $(wildcard rpcsvc/*.[hx]) + distribute := nss-nis.h nss-nisplus.h nis_intern.h Banner \ +- nisplus-parser.h nis_xdr.h nss \ +- $(wildcard rpcsvc/*.[hx]) ++ nisplus-parser.h nis_xdr.h nss + + # These are the databases available for the nis (and perhaps later nisplus) + # service. This must be a superset of the services in nss. +-- +1.7.5.4 + diff --git a/cross/cross-mips64el-unknown-linux-gnu-glibc-headers/glibc-2.14-revert-4768ae77.patch b/cross/cross-mips64el-unknown-linux-gnu-glibc-headers/glibc-2.14-revert-4768ae77.patch new file mode 100644 index 000000000..11f087cb7 --- /dev/null +++ b/cross/cross-mips64el-unknown-linux-gnu-glibc-headers/glibc-2.14-revert-4768ae77.patch @@ -0,0 +1,37 @@ +diff -Naur glibc-orig//resolv/res_send.c glibc/resolv/res_send.c +--- glibc-orig//resolv/res_send.c 2011-06-10 18:59:03.041436996 +1000 ++++ glibc/resolv/res_send.c 2011-06-10 19:08:09.379309323 +1000 +@@ -549,7 +549,7 @@ + ns, ansp, ansp2, nansp2, resplen2); + if (n < 0) + return (-1); +- if (n == 0 && (buf2 == NULL || *resplen2 == 0)) ++ if (n == 0) + goto next_ns; + } else { + /* Use datagrams. */ +@@ -559,7 +559,7 @@ + ansp2, nansp2, resplen2); + if (n < 0) + return (-1); +- if (n == 0 && (buf2 == NULL || *resplen2 == 0)) ++ if (n == 0) + goto next_ns; + if (v_circuit) + // XXX Check whether both requests failed or +@@ -1275,14 +1275,10 @@ + (*thisresplenp > *thisanssizp) + ? *thisanssizp : *thisresplenp); + +- if (recvresp1 || (buf2 != NULL && recvresp2)) { +- *resplen2 = 0; ++ if (recvresp1 || (buf2 != NULL && recvresp2)) + return resplen; +- } + if (buf2 != NULL) + { +- /* No data from the first reply. */ +- resplen = 0; + /* We are waiting for a possible second reply. */ + if (hp->id == anhp->id) + recvresp1 = 1; diff --git a/cross/cross-mips64el-unknown-linux-gnu-glibc-headers/glibc-2.15-lddebug-scopes.patch b/cross/cross-mips64el-unknown-linux-gnu-glibc-headers/glibc-2.15-lddebug-scopes.patch new file mode 100644 index 000000000..808cf8d7c --- /dev/null +++ b/cross/cross-mips64el-unknown-linux-gnu-glibc-headers/glibc-2.15-lddebug-scopes.patch @@ -0,0 +1,27 @@ +From 0c95ab64cb4ec0d22bb222647d9d20c7b4903e38 Mon Sep 17 00:00:00 2001 +From: Andreas Schwab <schwab@redhat.com> +Date: Fri, 7 Oct 2011 09:31:27 +0200 +Subject: [PATCH] Horrible workaround for horribly broken software + +--- + elf/rtld.c | 4 +++- + 1 files changed, 3 insertions(+), 1 deletions(-) + +diff --git a/elf/rtld.c b/elf/rtld.c +index 978c609..8422b9f 100644 +--- a/elf/rtld.c ++++ b/elf/rtld.c +@@ -1393,7 +1393,9 @@ of this helper program; chances are you did not intend to run this program.\n\ + char *copy = malloc (len); + if (copy == NULL) + _dl_fatal_printf ("out of memory\n"); +- l->l_libname->name = l->l_name = memcpy (copy, dsoname, len); ++ l->l_libname->name = memcpy (copy, dsoname, len); ++ if (GLRO(dl_debug_mask)) ++ l->l_name = copy; + } + + /* Add the vDSO to the object list. */ +-- +1.7.3.4 + diff --git a/cross/cross-mips64el-unknown-linux-gnu-glibc-headers/glibc-2.15-math64crash.patch b/cross/cross-mips64el-unknown-linux-gnu-glibc-headers/glibc-2.15-math64crash.patch new file mode 100644 index 000000000..d315bf266 --- /dev/null +++ b/cross/cross-mips64el-unknown-linux-gnu-glibc-headers/glibc-2.15-math64crash.patch @@ -0,0 +1,184 @@ +diff --git a/sysdeps/x86_64/fpu/multiarch/Makefile b/sysdeps/x86_64/fpu/multiarch/Makefile +index be68903..a032da8 100644 +--- a/sysdeps/x86_64/fpu/multiarch/Makefile ++++ b/sysdeps/x86_64/fpu/multiarch/Makefile +@@ -1,5 +1,5 @@ + ifeq ($(subdir),math) +-libm-sysdep_routines += s_floor-c s_ceil-c s_floorf-c s_ceilf-c \ ++libm-sysdep_routines += s_floorf-c s_ceilf-c \ + s_rint-c s_rintf-c s_nearbyint-c s_nearbyintf-c + + ifeq ($(have-mfma4),yes) +diff --git a/sysdeps/x86_64/fpu/multiarch/s_ceil-c.c b/sysdeps/x86_64/fpu/multiarch/s_ceil-c.c +deleted file mode 100644 +index 6a5ea3f..0000000 +--- a/sysdeps/x86_64/fpu/multiarch/s_ceil-c.c ++++ /dev/null +@@ -1,2 +0,0 @@ +-#define __ceil __ceil_c +-#include <sysdeps/ieee754/dbl-64/wordsize-64/s_ceil.c> +diff --git a/sysdeps/x86_64/fpu/multiarch/s_ceil.S b/sysdeps/x86_64/fpu/multiarch/s_ceil.S +deleted file mode 100644 +index d0f8da3..0000000 +--- a/sysdeps/x86_64/fpu/multiarch/s_ceil.S ++++ /dev/null +@@ -1,40 +0,0 @@ +-/* Copyright (C) 2011 Free Software Foundation, Inc. +- This file is part of the GNU C Library. +- Contributed by Ulrich Drepper <drepper@gmail.come>, 2011. +- +- The GNU C Library is free software; you can redistribute it and/or +- modify it under the terms of the GNU Lesser General Public +- License as published by the Free Software Foundation; either +- version 2.1 of the License, or (at your option) any later version. +- +- The GNU C Library 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 +- Lesser General Public License for more details. +- +- You should have received a copy of the GNU Lesser General Public +- License along with the GNU C Library; if not, write to the Free +- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA +- 02111-1307 USA. */ +- +-#include <machine/asm.h> +-#include <init-arch.h> +- +- +-ENTRY(__ceil) +- .type __ceil, @gnu_indirect_function +- call __get_cpu_features@plt +- movq %rax, %rdx +- leaq __ceil_sse41(%rip), %rax +- testl $bit_SSE4_1, CPUID_OFFSET+index_SSE4_1(%rdx) +- jnz 2f +- leaq __ceil_c(%rip), %rax +-2: ret +-END(__ceil) +-weak_alias (__ceil, ceil) +- +- +-ENTRY(__ceil_sse41) +- roundsd $2, %xmm0, %xmm0 +- ret +-END(__ceil_sse41) +diff --git a/sysdeps/x86_64/fpu/multiarch/s_floor-c.c b/sysdeps/x86_64/fpu/multiarch/s_floor-c.c +deleted file mode 100644 +index 68733b6..0000000 +--- a/sysdeps/x86_64/fpu/multiarch/s_floor-c.c ++++ /dev/null +@@ -1,3 +0,0 @@ +-#undef __floor +-#define __floor __floor_c +-#include <sysdeps/ieee754/dbl-64/wordsize-64/s_floor.c> +diff --git a/sysdeps/x86_64/fpu/multiarch/s_floor.S b/sysdeps/x86_64/fpu/multiarch/s_floor.S +deleted file mode 100644 +index 514ea95..0000000 +--- a/sysdeps/x86_64/fpu/multiarch/s_floor.S ++++ /dev/null +@@ -1,40 +0,0 @@ +-/* Copyright (C) 2011 Free Software Foundation, Inc. +- This file is part of the GNU C Library. +- Contributed by Ulrich Drepper <drepper@gmail.come>, 2011. +- +- The GNU C Library is free software; you can redistribute it and/or +- modify it under the terms of the GNU Lesser General Public +- License as published by the Free Software Foundation; either +- version 2.1 of the License, or (at your option) any later version. +- +- The GNU C Library 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 +- Lesser General Public License for more details. +- +- You should have received a copy of the GNU Lesser General Public +- License along with the GNU C Library; if not, write to the Free +- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA +- 02111-1307 USA. */ +- +-#include <machine/asm.h> +-#include <init-arch.h> +- +- +-ENTRY(__floor) +- .type __floor, @gnu_indirect_function +- call __get_cpu_features@plt +- movq %rax, %rdx +- leaq __floor_sse41(%rip), %rax +- testl $bit_SSE4_1, CPUID_OFFSET+index_SSE4_1(%rdx) +- jnz 2f +- leaq __floor_c(%rip), %rax +-2: ret +-END(__floor) +-weak_alias (__floor, floor) +- +- +-ENTRY(__floor_sse41) +- roundsd $1, %xmm0, %xmm0 +- ret +-END(__floor_sse41) +diff --git a/sysdeps/x86_64/fpu/multiarch/s_sin.c b/sysdeps/x86_64/fpu/multiarch/s_sin.c +deleted file mode 100644 +index 1ba9dbc..0000000 +--- a/sysdeps/x86_64/fpu/multiarch/s_sin.c ++++ /dev/null +@@ -1,31 +0,0 @@ +-#if defined HAVE_FMA4_SUPPORT || defined HAVE_AVX_SUPPORT +-# include <init-arch.h> +-# include <math.h> +-# undef NAN +- +-extern double __cos_sse2 (double); +-extern double __sin_sse2 (double); +-extern double __cos_avx (double); +-extern double __sin_avx (double); +-# ifdef HAVE_FMA4_SUPPORT +-extern double __cos_fma4 (double); +-extern double __sin_fma4 (double); +-# else +-# undef HAS_FMA4 +-# define HAS_FMA4 0 +-# define __cos_fma4 ((void *) 0) +-# define __sin_fma4 ((void *) 0) +-# endif +- +-libm_ifunc (__cos, HAS_FMA4 ? __cos_fma4 : HAS_AVX ? __cos_avx : __cos_sse2); +-weak_alias (__cos, cos) +- +-libm_ifunc (__sin, HAS_FMA4 ? __sin_fma4 : HAS_AVX ? __sin_avx : __sin_sse2); +-weak_alias (__sin, sin) +- +-# define __cos __cos_sse2 +-# define __sin __sin_sse2 +-#endif +- +- +-#include <sysdeps/ieee754/dbl-64/s_sin.c> +diff --git a/sysdeps/x86_64/fpu/multiarch/s_tan.c b/sysdeps/x86_64/fpu/multiarch/s_tan.c +deleted file mode 100644 +index 8f6601e..0000000 +--- a/sysdeps/x86_64/fpu/multiarch/s_tan.c ++++ /dev/null +@@ -1,21 +0,0 @@ +-#if defined HAVE_FMA4_SUPPORT || defined HAVE_AVX_SUPPORT +-# include <init-arch.h> +-# include <math.h> +- +-extern double __tan_sse2 (double); +-extern double __tan_avx (double); +-# ifdef HAVE_FMA4_SUPPORT +-extern double __tan_fma4 (double); +-# else +-# undef HAS_FMA4 +-# define HAS_FMA4 0 +-# define __tan_fma4 ((void *) 0) +-# endif +- +-libm_ifunc (tan, HAS_FMA4 ? __tan_fma4 : HAS_AVX ? __tan_avx : __tan_sse2); +- +-# define tan __tan_sse2 +-#endif +- +- +-#include <sysdeps/ieee754/dbl-64/s_tan.c> diff --git a/cross/cross-mips64el-unknown-linux-gnu-glibc-headers/glibc-2.15-revert-c5a0802a.patch b/cross/cross-mips64el-unknown-linux-gnu-glibc-headers/glibc-2.15-revert-c5a0802a.patch new file mode 100644 index 000000000..f532b95e8 --- /dev/null +++ b/cross/cross-mips64el-unknown-linux-gnu-glibc-headers/glibc-2.15-revert-c5a0802a.patch @@ -0,0 +1,229 @@ +diff -rup a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S +--- a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S 2011-12-22 18:04:12.937212834 +0000 ++++ b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S 2011-12-22 18:04:42.104222278 +0000 +@@ -137,7 +137,6 @@ __pthread_cond_wait: + cmpl $PI_BIT, %eax + jne 18f + +-90: + movl $(FUTEX_WAIT_REQUEUE_PI|FUTEX_PRIVATE_FLAG), %ecx + movl %ebp, %edx + xorl %esi, %esi +@@ -151,9 +150,6 @@ __pthread_cond_wait: + sete 16(%esp) + je 19f + +- cmpl $-EAGAIN, %eax +- je 91f +- + /* Normal and PI futexes dont mix. Use normal futex functions only + if the kernel does not support the PI futex functions. */ + cmpl $-ENOSYS, %eax +@@ -398,78 +394,6 @@ __pthread_cond_wait: + #endif + call __lll_unlock_wake + jmp 11b +- +-91: +-.LcleanupSTART2: +- /* FUTEX_WAIT_REQUEUE_PI returned EAGAIN. We need to +- call it again. */ +- +- /* Get internal lock. */ +- movl $1, %edx +- xorl %eax, %eax +- LOCK +-#if cond_lock == 0 +- cmpxchgl %edx, (%ebx) +-#else +- cmpxchgl %edx, cond_lock(%ebx) +-#endif +- jz 92f +- +-#if cond_lock == 0 +- movl %ebx, %edx +-#else +- leal cond_lock(%ebx), %edx +-#endif +-#if (LLL_SHARED-LLL_PRIVATE) > 255 +- xorl %ecx, %ecx +-#endif +- cmpl $-1, dep_mutex(%ebx) +- setne %cl +- subl $1, %ecx +- andl $(LLL_SHARED-LLL_PRIVATE), %ecx +-#if LLL_PRIVATE != 0 +- addl $LLL_PRIVATE, %ecx +-#endif +- call __lll_lock_wait +- +-92: +- /* Increment the cond_futex value again, so it can be used as a new +- expected value. */ +- addl $1, cond_futex(%ebx) +- movl cond_futex(%ebx), %ebp +- +- /* Unlock. */ +- LOCK +-#if cond_lock == 0 +- subl $1, (%ebx) +-#else +- subl $1, cond_lock(%ebx) +-#endif +- je 93f +-#if cond_lock == 0 +- movl %ebx, %eax +-#else +- leal cond_lock(%ebx), %eax +-#endif +-#if (LLL_SHARED-LLL_PRIVATE) > 255 +- xorl %ecx, %ecx +-#endif +- cmpl $-1, dep_mutex(%ebx) +- setne %cl +- subl $1, %ecx +- andl $(LLL_SHARED-LLL_PRIVATE), %ecx +-#if LLL_PRIVATE != 0 +- addl $LLL_PRIVATE, %ecx +-#endif +- call __lll_unlock_wake +- +-93: +- /* Set the rest of SYS_futex args for FUTEX_WAIT_REQUEUE_PI. */ +- xorl %ecx, %ecx +- movl dep_mutex(%ebx), %edi +- jmp 90b +-.LcleanupEND2: +- + .size __pthread_cond_wait, .-__pthread_cond_wait + versioned_symbol (libpthread, __pthread_cond_wait, pthread_cond_wait, + GLIBC_2_3_2) +@@ -642,10 +566,6 @@ __condvar_w_cleanup: + .long .LcleanupEND-.Lsub_cond_futex + .long __condvar_w_cleanup-.LSTARTCODE + .uleb128 0 +- .long .LcleanupSTART2-.LSTARTCODE +- .long .LcleanupEND2-.LcleanupSTART2 +- .long __condvar_w_cleanup-.LSTARTCODE +- .uleb128 0 + .long .LcallUR-.LSTARTCODE + .long .LENDCODE-.LcallUR + .long 0 +Only in b/nptl/sysdeps/unix/sysv/linux/i386/i486: pthread_cond_wait.S.orig +diff -rup a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S +--- a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S 2011-12-22 18:04:12.941212837 +0000 ++++ b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S 2011-12-22 18:05:05.155229737 +0000 +@@ -23,7 +23,6 @@ + #include <lowlevelcond.h> + #include <tcb-offsets.h> + #include <pthread-pi-defines.h> +-#include <pthread-errnos.h> + + #include <kernel-features.h> + +@@ -137,14 +136,11 @@ __pthread_cond_wait: + cmpl $PI_BIT, %eax + jne 61f + +-90: + movl $(FUTEX_WAIT_REQUEUE_PI|FUTEX_PRIVATE_FLAG), %esi + movl $SYS_futex, %eax + syscall + + movl $1, %r8d +- cmpq $-EAGAIN, %rax +- je 91f + #ifdef __ASSUME_REQUEUE_PI + jmp 62f + #else +@@ -331,70 +327,6 @@ __pthread_cond_wait: + + 13: movq %r10, %rax + jmp 14b +- +-91: +-.LcleanupSTART2: +- /* FUTEX_WAIT_REQUEUE_PI returned EAGAIN. We need to +- call it again. */ +- movq 8(%rsp), %rdi +- +- /* Get internal lock. */ +- movl $1, %esi +- xorl %eax, %eax +- LOCK +-#if cond_lock == 0 +- cmpxchgl %esi, (%rdi) +-#else +- cmpxchgl %esi, cond_lock(%rdi) +-#endif +- jz 92f +- +-#if cond_lock != 0 +- addq $cond_lock, %rdi +-#endif +- cmpq $-1, dep_mutex-cond_lock(%rdi) +- movl $LLL_PRIVATE, %eax +- movl $LLL_SHARED, %esi +- cmovne %eax, %esi +- callq __lll_lock_wait +-#if cond_lock != 0 +- subq $cond_lock, %rdi +-#endif +-92: +- /* Increment the cond_futex value again, so it can be used as a new +- expected value. */ +- incl cond_futex(%rdi) +- movl cond_futex(%rdi), %edx +- +- /* Release internal lock. */ +- LOCK +-#if cond_lock == 0 +- decl (%rdi) +-#else +- decl cond_lock(%rdi) +-#endif +- jz 93f +- +-#if cond_lock != 0 +- addq $cond_lock, %rdi +-#endif +- cmpq $-1, dep_mutex-cond_lock(%rdi) +- movl $LLL_PRIVATE, %eax +- movl $LLL_SHARED, %esi +- cmovne %eax, %esi +- /* The call preserves %rdx. */ +- callq __lll_unlock_wake +-#if cond_lock != 0 +- subq $cond_lock, %rdi +-#endif +-93: +- /* Set the rest of SYS_futex args for FUTEX_WAIT_REQUEUE_PI. */ +- xorq %r10, %r10 +- movq dep_mutex(%rdi), %r8 +- leaq cond_futex(%rdi), %rdi +- jmp 90b +-.LcleanupEND2: +- + .size __pthread_cond_wait, .-__pthread_cond_wait + versioned_symbol (libpthread, __pthread_cond_wait, pthread_cond_wait, + GLIBC_2_3_2) +@@ -547,15 +479,11 @@ __condvar_cleanup1: + .uleb128 .LcleanupSTART-.LSTARTCODE + .uleb128 .LcleanupEND-.LcleanupSTART + .uleb128 __condvar_cleanup1-.LSTARTCODE +- .uleb128 0 +- .uleb128 .LcleanupSTART2-.LSTARTCODE +- .uleb128 .LcleanupEND2-.LcleanupSTART2 +- .uleb128 __condvar_cleanup1-.LSTARTCODE +- .uleb128 0 ++ .uleb128 0 + .uleb128 .LcallUR-.LSTARTCODE + .uleb128 .LENDCODE-.LcallUR + .uleb128 0 +- .uleb128 0 ++ .uleb128 0 + .Lcstend: + + +Only in b/nptl/sysdeps/unix/sysv/linux/x86_64: pthread_cond_wait.S.orig +Only in b/nptl/sysdeps/unix/sysv/linux/x86_64: pthread_cond_wait.S.rej diff --git a/cross/cross-mips64el-unknown-linux-gnu-glibc-headers/glibc-__i686.patch b/cross/cross-mips64el-unknown-linux-gnu-glibc-headers/glibc-__i686.patch new file mode 100644 index 000000000..28d5dd424 --- /dev/null +++ b/cross/cross-mips64el-unknown-linux-gnu-glibc-headers/glibc-__i686.patch @@ -0,0 +1,13 @@ +diff -Naur glibc-old//sysdeps/i386/Makefile glibc//sysdeps/i386/Makefile +--- glibc-old//sysdeps/i386/Makefile 2010-03-18 11:52:30.000000000 +1000 ++++ glibc//sysdeps/i386/Makefile 2010-04-16 15:05:50.000000000 +1000 +@@ -1,6 +1,7 @@ + # The mpn functions need a #define for asm syntax flavor. +-# Every i386 port in use uses gas syntax (I think). +-asm-CPPFLAGS += -DGAS_SYNTAX ++# Every i386 port in use uses gas syntax (I think). Don't replace ++# __i686 in __i686.get_pc_thunk.bx. ++asm-CPPFLAGS += -DGAS_SYNTAX -U __i686 + + # The i386 `long double' is a distinct type we support. + long-double-fcts = yes diff --git a/cross/cross-mips64el-unknown-linux-gnu-glibc-headers/glibc.install b/cross/cross-mips64el-unknown-linux-gnu-glibc-headers/glibc.install new file mode 100644 index 000000000..7f85ade96 --- /dev/null +++ b/cross/cross-mips64el-unknown-linux-gnu-glibc-headers/glibc.install @@ -0,0 +1,20 @@ +infodir=usr/share/info +filelist=(libc.info{,-1,-2,-3,-4,-5,-6,-7,-8,-9,-10,-11}) + +post_upgrade() { + sbin/ldconfig -r . + [ -x sbin/init ] && sbin/init u + usr/sbin/locale-gen + + [ -x usr/bin/install-info ] || return 0 + for file in ${filelist[@]}; do + usr/bin/install-info $infodir/$file.gz $infodir/dir 2> /dev/null + done +} + +pre_remove() { + [ -x usr/bin/install-info ] || return 0 + for file in ${filelist[@]}; do + usr/bin/install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null + done +} diff --git a/cross/cross-mips64el-unknown-linux-gnu-glibc-headers/locale-gen b/cross/cross-mips64el-unknown-linux-gnu-glibc-headers/locale-gen new file mode 100755 index 000000000..5aff344c4 --- /dev/null +++ b/cross/cross-mips64el-unknown-linux-gnu-glibc-headers/locale-gen @@ -0,0 +1,42 @@ +#!/bin/sh + +set -e + +LOCALEGEN=/etc/locale.gen +LOCALES=/usr/share/i18n/locales +if [ -n "$POSIXLY_CORRECT" ]; then + unset POSIXLY_CORRECT +fi + + +[ -f $LOCALEGEN -a -s $LOCALEGEN ] || exit 0; + +# Remove all old locale dir and locale-archive before generating new +# locale data. +rm -rf /usr/lib/locale/* || true + +umask 022 + +is_entry_ok() { + if [ -n "$locale" -a -n "$charset" ] ; then + true + else + echo "error: Bad entry '$locale $charset'" + false + fi +} + +echo "Generating locales..." +while read locale charset; do \ + case $locale in \#*) continue;; "") continue;; esac; \ + is_entry_ok || continue + echo -n " `echo $locale | sed 's/\([^.\@]*\).*/\1/'`"; \ + echo -n ".$charset"; \ + echo -n `echo $locale | sed 's/\([^\@]*\)\(\@.*\)*/\2/'`; \ + echo -n '...'; \ + if [ -f $LOCALES/$locale ]; then input=$locale; else \ + input=`echo $locale | sed 's/\([^.]*\)[^@]*\(.*\)/\1\2/'`; fi; \ + localedef -i $input -c -f $charset -A /usr/share/locale/locale.alias $locale; \ + echo ' done'; \ +done < $LOCALEGEN +echo "Generation complete." diff --git a/cross/cross-mips64el-unknown-linux-gnu-glibc-headers/locale.gen.txt b/cross/cross-mips64el-unknown-linux-gnu-glibc-headers/locale.gen.txt new file mode 100644 index 000000000..ccdd81734 --- /dev/null +++ b/cross/cross-mips64el-unknown-linux-gnu-glibc-headers/locale.gen.txt @@ -0,0 +1,23 @@ +# Configuration file for locale-gen +# +# lists of locales that are to be generated by the locale-gen command. +# +# Each line is of the form: +# +# <locale> <charset> +# +# where <locale> is one of the locales given in /usr/share/i18n/locales +# and <charset> is one of the character sets listed in /usr/share/i18n/charmaps +# +# Examples: +# en_US ISO-8859-1 +# en_US.UTF-8 UTF-8 +# de_DE ISO-8859-1 +# de_DE@euro ISO-8859-15 +# +# The locale-gen command will generate all the locales, +# placing them in /usr/lib/locale. +# +# A list of supported locales is included in this file. +# Uncomment the ones you need. +# diff --git a/cross/cross-mips64el-unknown-linux-gnu-glibc-headers/nscd b/cross/cross-mips64el-unknown-linux-gnu-glibc-headers/nscd new file mode 100755 index 000000000..8b14f2a3f --- /dev/null +++ b/cross/cross-mips64el-unknown-linux-gnu-glibc-headers/nscd @@ -0,0 +1,40 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +PID=`pidof -o %PPID /usr/sbin/nscd` +case "$1" in + start) + stat_busy "Starting nscd" + # create necessary directories if they don't already exist + mkdir -p /var/run/nscd /var/db/nscd 2>/dev/null + # remove stale files + rm -f /var/db/nscd/* /var/run/nscd/* 2>/dev/null + [ -z "$PID" ] && /usr/sbin/nscd + if [ $? -gt 0 ]; then + stat_fail + else + add_daemon nscd + stat_done + fi + ;; + stop) + stat_busy "Stopping nscd" + [ ! -z "$PID" ] && kill $PID &> /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + rm_daemon nscd + stat_done + fi + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 diff --git a/cross/cross-mipsel-unknown-linux-gnu-binutils/PKGBUILD b/cross/cross-mipsel-unknown-linux-gnu-binutils/PKGBUILD new file mode 100644 index 000000000..24125950f --- /dev/null +++ b/cross/cross-mipsel-unknown-linux-gnu-binutils/PKGBUILD @@ -0,0 +1,51 @@ +# Contributor: Vojtech Horky <vojta . horky at-symbol seznam . cz> +pkgname=cross-mipsel-linux-gnu-binutils +_pkgname=binutils +_target="mipsel-linux-gnu" +pkgver=2.22 +pkgrel=1 +pkgdesc="A set of programs to assemble and manipulate binary and object files for the MIPS architecture" +url="http://www.gnu.org/software/binutils/" +arch=('i686' 'x86_64') +license=('GPL') +depends=('zlib') +source=("ftp://ftp.gnu.org/gnu/binutils/${_pkgname}-${pkgver}.tar.bz2") +_sysroot="/usr/lib/cross-${_target}" +md5sums=('ee0f10756c84979622b992a4a61ea3f5') + +build() { + cd ${srcdir}/${_pkgname}-${pkgver} + + ./configure \ + "--prefix=${_sysroot}" \ + "--bindir=/usr/bin" "--program-prefix=${_target}-" \ + "--with-sysroot=${_sysroot}" \ + "--target=${_target}" "--build=$CHOST" "--host=$CHOST" \ + "--disable-nls" \ + --with-gcc --with-gnu-as --with-gnu-ld \ + --without-included-gettext + + make all +} + +package() { + cd ${srcdir}/${_pkgname}-${pkgver} + + make DESTDIR=${pkgdir} install + + msg "Removing duplicit files..." + # remove these files as they are already in the system + # (with native binutils) + rm -Rf ${pkgdir}${_sysroot}/share/{man,info} + # remove conflicting binaries + find ${pkgdir}/usr/bin/ -type f -not -name 'mipsel-linux-gnu-*' -delete + + msg "Creating out-of-path executables..." + # symlink executables to single directory with no-arch-prefix name + mkdir -p ${pkgdir}/usr/bin/cross/${_target}/; + cd ${pkgdir}/usr/bin/cross/${_target}/; + for bin in ${pkgdir}/usr/bin/${_target}-*; do + bbin=`basename "$bin"`; + ln -s "/usr/bin/${bbin}" `echo "$bbin" | sed "s#^${_target}-##"`; + done +} diff --git a/cross/cross-mipsel-unknown-linux-gnu-gcc/PKGBUILD b/cross/cross-mipsel-unknown-linux-gnu-gcc/PKGBUILD new file mode 100644 index 000000000..f2d9b2e8b --- /dev/null +++ b/cross/cross-mipsel-unknown-linux-gnu-gcc/PKGBUILD @@ -0,0 +1,54 @@ +# Contributor: Vojtech Horky <vojta . horky at-symbol seznam . cz> +pkgname=cross-mipsel-linux-gnu-gcc +_pkgname=gcc +_target="mipsel-linux-gnu" +pkgver=4.6.2 +pkgrel=1 +pkgdesc="The GNU Compiler Collection for the MIPS architecture" +url="http://www.gnu.org/software/binutils/" +arch=('i686' 'x86_64') +license=('GPL') +depends=('libmpc' 'sh' "cross-${_target}-binutils" 'cloog' 'ppl') +options=('!ccache' '!distcc' '!emptydirs' '!libtool' '!strip') +source=("ftp://ftp.gnu.org/gnu/gcc/gcc-${pkgver}/${_pkgname}-core-${pkgver}.tar.bz2") +md5sums=('b1957f3209080b2f55bc3756d3a62b7c') +_sysroot="/usr/lib/cross-${_target}" + +build() { + cd ${srcdir}/${_pkgname}-${pkgver} + + ./configure \ + "--prefix=${_sysroot}" \ + "--bindir=/usr/bin" "--program-prefix=${_target}-" \ + "--with-sysroot=${_sysroot}" \ + "--target=${_target}" "--build=$CHOST" "--host=$CHOST" \ + --with-gnu-as --with-gnu-ld \ + --disable-nls --disable-threads \ + --enable-languages=c,c++ \ + --disable-multilib --disable-libgcj \ + --without-headers --disable-shared + + make all-gcc "inhibit_libc=true" +} + +package() { + cd ${srcdir}/${_pkgname}-${pkgver} + + make DESTDIR=${pkgdir} install-gcc + + msg "Removing duplicit files..." + # remove these files as they are already in the system + # (with native gcc) + rm -Rf ${pkgdir}${_sysroot}/{man,info} + # remove conflicting binaries + find ${pkgdir}/usr/bin/ -type f -not -name "${_target}-*" -delete + + msg "Creating out-of-path executables..." + # symlink executables to single directory with no-arch-prefix name + mkdir -p ${pkgdir}/usr/bin/cross/${_target}/; + cd ${pkgdir}/usr/bin/cross/${_target}/; + for bin in ${pkgdir}/usr/bin/${_target}-*; do + bbin=`basename "$bin"`; + ln -s "/usr/bin/${bbin}" `echo "$bbin" | sed "s#^${_target}-##"`; + done +} diff --git a/cross/mips64el-unknown-linux-gnu-glibc/PKGBUILD b/cross/mips64el-unknown-linux-gnu-glibc/PKGBUILD new file mode 100644 index 000000000..e5e37beee --- /dev/null +++ b/cross/mips64el-unknown-linux-gnu-glibc/PKGBUILD @@ -0,0 +1,289 @@ +# $Id: PKGBUILD 145917 2012-01-04 01:25:10Z allan $ +# Maintainer: Allan McRae <allan@archlinux.org> + +# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc +# NOTE: valgrind requires rebuilt with each major glibc version + +_pkgname=glibc +_target="mips64el-unknown-linux-gnu" +_sysroot="/usr/${_target}" +_ARCH=mips + +unset CFLAGS CXXFLAGS LDFLAGS + +pkgname=${_target}-glibc +pkgver=2.15 +pkgrel=2 +_glibcdate=20111227 +pkgdesc="GNU C Library" +arch=('i686' 'x86_64' 'mips64el') +url="http://www.gnu.org/software/libc" +license=('GPL' 'LGPL') +groups=("${_target}-devel") +depends=("${_target}-linux-api-headers>=3.1.6" 'tzdata') +makedepends=("cross-${_target}-binutils" + "cross-${_target}-gcc-core-shared" + "cross-${_target}-glibc-headers") +backup=(etc/gai.conf + etc/locale.gen + etc/nscd.conf) +options=('!strip') +install=glibc.install +source=(ftp://ftp.archlinux.org/other/glibc/${_pkgname}-${pkgver}_${_glibcdate}.tar.xz + http://repo.parabolagnulinux.org/other/glibc-ports-${pkgver}_${_glibcdate}.tar.xz + glibc-2.10-dont-build-timezone.patch + glibc-2.10-bz4781.patch + glibc-__i686.patch + glibc-2.12.2-ignore-origin-of-privileged-program.patch + glibc-2.14-libdl-crash.patch + glibc-2.14-revert-4768ae77.patch + glibc-2.14-reexport-rpc-interface.patch + glibc-2.14-reinstall-nis-rpc-headers.patch + glibc-2.15-lddebug-scopes.patch + glibc-2.15-revert-c5a0802a.patch + glibc-2.15-math64crash.patch + configure.patch + nscd + locale.gen.txt + locale-gen) +md5sums=('6ffdf5832192b92f98bdd125317c0dfc' + 'a006504b83553d0b554cf8badff005b6' + '4dadb9203b69a3210d53514bb46f41c3' + '0c5540efc51c0b93996c51b57a8540ae' + '40cd342e21f71f5e49e32622b25acc52' + 'b042647ea7d6f22ad319e12e796bd13e' + '6970bcfeb3bf88913436d5112d16f588' + '7da8c554a3b591c7401d7023b1928afc' + 'c5de2a946215d647c8af5432ec4b0da0' + '55febbb72139ac7b65757df085024b83' + '3c219ddfb619b6df903cac4cc42c611d' + '7ae3e426251ae33e73dbad71f9c91378' + 'dc7550e659ddd685bd78a930d15a01f2' + 'b587ee3a70c9b3713099295609afde49' + '07ac979b6ab5eeb778d55f041529d623' + '476e9113489f93b348b21e144b6a8fcf') + +mksource() { + git clone http://sourceware.org/git/glibc.git + pushd glibc + #git checkout -b glibc-2.15-arch origin/release/2.15/master + git checkout -b glibc-${pkgver}-arch origin/master + popd + tar -cvJf glibc-${pkgver}_${_glibcdate}.tar.xz glibc/* + mksource-ports +} + +mksource-ports() { + git clone http://sourceware.org/git/glibc-ports.git + pushd glibc-ports + git checkout -b glibc-${pkgver}-arch origin/release/${pkgver}/master + popd + tar -cvJf glibc-ports-${pkgver}_${_glibcdate}.tar.xz glibc-ports/* +} + +build() { + cd ${srcdir}/glibc + + # timezone data is in separate package (tzdata) + patch -Np1 -i ${srcdir}/glibc-2.10-dont-build-timezone.patch + + # http://sources.redhat.com/bugzilla/show_bug.cgi?id=4781 + patch -Np1 -i ${srcdir}/glibc-2.10-bz4781.patch + + # http://sources.redhat.com/bugzilla/show_bug.cgi?id=411 + # http://sourceware.org/ml/libc-alpha/2009-07/msg00072.html + patch -Np1 -i ${srcdir}/glibc-__i686.patch + + # http://www.exploit-db.com/exploits/15274/ + # http://sourceware.org/git/?p=glibc.git;a=patch;h=d14e6b09 (only fedora branch...) + patch -Np1 -i ${srcdir}/glibc-2.12.2-ignore-origin-of-privileged-program.patch + + # http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=675155e9 (only fedora branch...) + # http://sourceware.org/ml/libc-alpha/2011-06/msg00006.html + patch -Np1 -i ${srcdir}/glibc-2.14-libdl-crash.patch + + # Revert commit causing issues with crappy DNS servers... + # Will be removed when workaround becomes annoying to maintain - USE A BETTER DNS SERVER! + # Note that both these patches appear not to fix the issue completely: + # http://sourceware.org/bugzilla/show_bug.cgi?id=13013 + # http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=032c0ee3 (only fedora branch...) + patch -Np1 -i ${srcdir}/glibc-2.14-revert-4768ae77.patch + + # re-export RPC interface until libtirpc is ready as a replacement + # http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=acee4873 (only fedora branch...) + patch -Np1 -i ${srcdir}/glibc-2.14-reexport-rpc-interface.patch + # http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=bdd816a3 (only fedora branch...) + patch -Np1 -i ${srcdir}/glibc-2.14-reinstall-nis-rpc-headers.patch + + # propriety nvidia crash - https://bugzilla.redhat.com/show_bug.cgi?id=737223 + # http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=0c95ab64 (only fedora branch...) + patch -Np1 -i ${srcdir}/glibc-2.15-lddebug-scopes.patch + + # revert commit c5a0802a - causes various hangs + # https://bugzilla.redhat.com/show_bug.cgi?id=769421 + patch -Np1 -i ${srcdir}/glibc-2.15-revert-c5a0802a.patch + + # revert optimized math routines that can cause crashes (FS#27736, FS#27743) + # obviously not a real fix... + patch -Np1 -i ${srcdir}/glibc-2.15-math64crash.patch + + patch -Np0 -i ${srcdir}/configure.patch + + install -dm755 ${pkgdir}${_sysroot}/etc + touch ${pkgdir}${_sysroot}/etc/ld.so.conf + + ln -s ../glibc-ports ports + + cd ${srcdir} + mkdir glibc-build + cd glibc-build + + echo "slibdir=/lib" >> configparms + echo "libc_cv_ctors_header=no" >> config.cache + echo "libc_cv_forced_unwind=yes" >> config.cache + echo "libc_cv_c_cleanup=yes" >> config.cache + + # remove hardening options from CFLAGS for building libraries + CFLAGS=${CFLAGS/-fstack-protector/} + CFLAGS=${CFLAGS/-D_FORTIFY_SOURCE=2/} + + BUILD_CC=${CHOST}-gcc \ + CFLAGS=" -EL -march=loongson2f -mabi=n32 -O2 -U_FORTIFY_SOURCE " \ + CC=${_target}-gcc \ + AR=${_target}-ar \ + RANLIB=${_target}-ranlib \ + ${srcdir}/glibc/configure \ + --prefix=/usr \ + --cache-file=${srcdir}/glibc-build/config.cache \ + --build=${CHOST} \ + --host=${_target} \ + --without-cvs \ + --disable-profile \ + --without-gd \ + --with-headers=/usr/${_target}/usr/include \ + --disable-debug \ + --disable-sanity-checks \ + --enable-kernel=2.6.27 \ + --with-__thread \ + --with-tls \ + --enable-shared \ + --with-fp \ + --enable-add-ons=nptl,ports,libidn \ + --enable-bind-now \ + --enable-multi-arch + + # --libdir=${_sysroot}/usr/lib \ + # --libexecdir=${_sysroot}/usr/lib \ + + # build libraries with hardening disabled + echo "build-programs=no" >> configparms + make + + # re-enable hardening for programs + sed -i "s#=no#=yes#" configparms + echo "CC += -fstack-protector -D_FORTIFY_SOURCE=2" >> configparms + echo "CXX += -fstack-protector -D_FORTIFY_SOURCE=2" >> configparms + make + + # remove harding in preparation to run test-suite + sed -i '2,4d' configparms +} + +check() { + cd ${srcdir}/glibc-build + + # some errors are expected - manually check log files + make -k check || true +} + +package() { + cd ${srcdir}/glibc-build + make install_root=${pkgdir}${_sysroot} install + + rm -f ${pkgdir}${_sysroot}/etc/ld.so.{cache,conf} + + install -dm755 ${pkgdir}${_sysroot}/etc/rc.d + install -dm755 ${pkgdir}${_sysroot}/usr/sbin + install -dm755 ${pkgdir}${_sysroot}/usr/lib/locale + install -m644 ${srcdir}/glibc/nscd/nscd.conf ${pkgdir}${_sysroot}/etc/nscd.conf + install -m755 ${srcdir}/nscd ${pkgdir}${_sysroot}/etc/rc.d/nscd + install -m755 ${srcdir}/locale-gen ${pkgdir}${_sysroot}/usr/sbin + install -m644 ${srcdir}/glibc/posix/gai.conf ${pkgdir}${_sysroot}/etc/gai.conf + + sed -i -e 's/^\tserver-user/#\tserver-user/' ${pkgdir}${_sysroot}/etc/nscd.conf + + # create /etc/locale.gen + install -m644 ${srcdir}/locale.gen.txt ${pkgdir}${_sysroot}/etc/locale.gen + sed -e "s|/| |g" \ + -e 's|\\| |g' \ + -e "s|SUPPORTED-LOCALES=||" \ + ${srcdir}/glibc/localedata/SUPPORTED >> ${pkgdir}${_sysroot}/etc/locale.gen + sed -i "s|^|#|g" ${pkgdir}${_sysroot}/etc/locale.gen + + if [[ ${CARCH} = "x86_64" ]]; then + # fix for the linker + sed -i '/RTLDLIST/s%lib64%lib%' ${pkgdir}${_sysroot}/bin/ldd + # Comply with multilib binaries, they look for the linker in /lib64 + mkdir ${pkgdir}${_sysroot}/lib64 + cd ${pkgdir}${_sysroot}/lib64 + ln -v -s ../lib/ld* . + fi + + # Do not strip the following files for improved debugging support + # ("improved" as in not breaking gdb and valgrind...): + # ld-${pkgver}.so + # libc-${pkgver}.so + # libpthread-${pkgver}.so + # libthread_db-1.0.so + +# cd $pkgdir${_sysroot} +# ${_target}-strip $STRIP_BINARIES \ +# sbin/{ldconfig,sln} \ +# usr/bin/{gencat,getconf,getent,iconv,locale,localedef} \ +# usr/bin/{makedb,pcprofiledump,pldd,rpcgen,sprof} \ +# usr/lib/getconf/* \ +# usr/sbin/{iconvconfig,nscd} +# [[ $CARCH = "i686" ]] && strip $STRIP_BINARIES usr/bin/lddlibc4 + +# ${_target}-strip $STRIP_STATIC usr/lib/*.a + +# ${_target}-strip $STRIP_SHARED \ +# lib/{libanl,libBrokenLocale,libcidn,libcrypt}-${pkgver}.so \ +# lib/libnss_{compat,db,dns,files,hesiod,nis,nisplus}-${pkgver}.so \ +# lib/{libdl,libm,libnsl,libresolv,librt,libutil}-${pkgver}.so \ +# lib/{libmemusage,libpcprofile,libSegFault}.so \ +# usr/lib/{pt_chown,{audit,gconv}/*.so} +} +md5sums=('6ffdf5832192b92f98bdd125317c0dfc' + '98d028ee63fca2821414ebcac0af0e5b' + '4dadb9203b69a3210d53514bb46f41c3' + '0c5540efc51c0b93996c51b57a8540ae' + '40cd342e21f71f5e49e32622b25acc52' + 'b042647ea7d6f22ad319e12e796bd13e' + '6970bcfeb3bf88913436d5112d16f588' + '7da8c554a3b591c7401d7023b1928afc' + 'c5de2a946215d647c8af5432ec4b0da0' + '55febbb72139ac7b65757df085024b83' + '3c219ddfb619b6df903cac4cc42c611d' + '7ae3e426251ae33e73dbad71f9c91378' + 'dc7550e659ddd685bd78a930d15a01f2' + 'b587ee3a70c9b3713099295609afde49' + '07ac979b6ab5eeb778d55f041529d623' + '476e9113489f93b348b21e144b6a8fcf') +md5sums=('6ffdf5832192b92f98bdd125317c0dfc' + '98d028ee63fca2821414ebcac0af0e5b' + '4dadb9203b69a3210d53514bb46f41c3' + '0c5540efc51c0b93996c51b57a8540ae' + '40cd342e21f71f5e49e32622b25acc52' + 'b042647ea7d6f22ad319e12e796bd13e' + '6970bcfeb3bf88913436d5112d16f588' + '7da8c554a3b591c7401d7023b1928afc' + 'c5de2a946215d647c8af5432ec4b0da0' + '55febbb72139ac7b65757df085024b83' + '3c219ddfb619b6df903cac4cc42c611d' + '7ae3e426251ae33e73dbad71f9c91378' + 'dc7550e659ddd685bd78a930d15a01f2' + '39f80ba6bcda6b010a66f9c61e9a0017' + 'b587ee3a70c9b3713099295609afde49' + '07ac979b6ab5eeb778d55f041529d623' + '476e9113489f93b348b21e144b6a8fcf') diff --git a/cross/mips64el-unknown-linux-gnu-glibc/glibc-2.10-bz4781.patch b/cross/mips64el-unknown-linux-gnu-glibc/glibc-2.10-bz4781.patch new file mode 100644 index 000000000..cf1a97a18 --- /dev/null +++ b/cross/mips64el-unknown-linux-gnu-glibc/glibc-2.10-bz4781.patch @@ -0,0 +1,42 @@ +diff -Naur glibc-old/sysdeps/unix/sysv/linux/i386/clone.S glibc/sysdeps/unix/sysv/linux/i386/clone.S +--- glibc-old/sysdeps/unix/sysv/linux/i386/clone.S 2009-05-09 13:35:30.000000000 +1000 ++++ glibc/sysdeps/unix/sysv/linux/i386/clone.S 2009-05-23 13:27:46.000000000 +1000 +@@ -120,9 +120,6 @@ + ret + + L(thread_start): +- cfi_startproc; +- /* Clearing frame pointer is insufficient, use CFI. */ +- cfi_undefined (eip); + /* Note: %esi is zero. */ + movl %esi,%ebp /* terminate the stack frame */ + #ifdef RESET_PID +@@ -155,7 +152,6 @@ + jmp L(haspid) + .previous + #endif +- cfi_endproc; + + cfi_startproc + PSEUDO_END (BP_SYM (__clone)) +diff -Naur glibc-old/sysdeps/unix/sysv/linux/x86_64/clone.S glibc/sysdeps/unix/sysv/linux/x86_64/clone.S +--- glibc-old/sysdeps/unix/sysv/linux/x86_64/clone.S 2009-05-09 13:35:30.000000000 +1000 ++++ glibc/sysdeps/unix/sysv/linux/x86_64/clone.S 2009-05-23 13:27:46.000000000 +1000 +@@ -89,9 +89,6 @@ + ret + + L(thread_start): +- cfi_startproc; +- /* Clearing frame pointer is insufficient, use CFI. */ +- cfi_undefined (rip); + /* Clear the frame pointer. The ABI suggests this be done, to mark + the outermost frame obviously. */ + xorl %ebp, %ebp +@@ -116,7 +113,6 @@ + /* Call exit with return value from function call. */ + movq %rax, %rdi + call HIDDEN_JUMPTARGET (_exit) +- cfi_endproc; + + cfi_startproc; + PSEUDO_END (BP_SYM (__clone)) diff --git a/cross/mips64el-unknown-linux-gnu-glibc/glibc-2.10-dont-build-timezone.patch b/cross/mips64el-unknown-linux-gnu-glibc/glibc-2.10-dont-build-timezone.patch new file mode 100644 index 000000000..d3abeff17 --- /dev/null +++ b/cross/mips64el-unknown-linux-gnu-glibc/glibc-2.10-dont-build-timezone.patch @@ -0,0 +1,13 @@ +timezone data has been split into the package sys-libs/timezone-data + +--- glibc-2.4/Makeconfig ++++ glibc-2.4/Makeconfig +@@ -931,7 +931,7 @@ + stdlib stdio-common libio malloc string wcsmbs time dirent \ + grp pwd posix io termios resource misc socket sysvipc gmon \ + gnulib iconv iconvdata wctype manual shadow gshadow po argp \ +- crypt nss localedata timezone rt conform debug \ ++ crypt nss localedata rt conform debug \ + $(add-on-subdirs) $(dlfcn) $(binfmt-subdir) + + ifndef avoid-generated diff --git a/cross/mips64el-unknown-linux-gnu-glibc/glibc-2.12.2-ignore-origin-of-privileged-program.patch b/cross/mips64el-unknown-linux-gnu-glibc/glibc-2.12.2-ignore-origin-of-privileged-program.patch new file mode 100644 index 000000000..ce089b49c --- /dev/null +++ b/cross/mips64el-unknown-linux-gnu-glibc/glibc-2.12.2-ignore-origin-of-privileged-program.patch @@ -0,0 +1,26 @@ +From d14e6b09d60d52cc12f0396c3106b14e1bd0fe8f Mon Sep 17 00:00:00 2001 +From: Andreas Schwab <schwab@redhat.com> +Date: Thu, 9 Dec 2010 15:00:59 +0100 +Subject: [PATCH 1/1] Ignore origin of privileged program + +--- + ChangeLog | 5 +++++ + elf/dl-object.c | 3 +++ + 2 files changed, 8 insertions(+), 0 deletions(-) + +diff --git a/elf/dl-object.c b/elf/dl-object.c +index 22a1635..7674d49 100644 +--- a/elf/dl-object.c ++++ b/elf/dl-object.c +@@ -214,6 +214,9 @@ _dl_new_object (char *realname, const char *libname, int type, + out: + new->l_origin = origin; + } ++ else if (INTUSE(__libc_enable_secure) && type == lt_executable) ++ /* The origin of a privileged program cannot be trusted. */ ++ new->l_origin = (char *) -1; + + return new; + } +-- +1.7.2 diff --git a/cross/mips64el-unknown-linux-gnu-glibc/glibc-2.14-libdl-crash.patch b/cross/mips64el-unknown-linux-gnu-glibc/glibc-2.14-libdl-crash.patch new file mode 100644 index 000000000..6c9d2718e --- /dev/null +++ b/cross/mips64el-unknown-linux-gnu-glibc/glibc-2.14-libdl-crash.patch @@ -0,0 +1,132 @@ +diff --git a/elf/dl-close.c b/elf/dl-close.c +index 73b2a2f..9bd91e3 100644 +--- a/elf/dl-close.c ++++ b/elf/dl-close.c +@@ -1,5 +1,5 @@ + /* Close a shared object opened by `_dl_open'. +- Copyright (C) 1996-2007, 2009, 2010, 2011 Free Software Foundation, Inc. ++ Copyright (C) 1996-2007, 2009, 2010 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or +@@ -119,17 +119,8 @@ _dl_close_worker (struct link_map *map) + if (map->l_direct_opencount > 0 || map->l_type != lt_loaded + || dl_close_state != not_pending) + { +- if (map->l_direct_opencount == 0) +- { +- if (map->l_type == lt_loaded) +- dl_close_state = rerun; +- else if (map->l_type == lt_library) +- { +- struct link_map **oldp = map->l_initfini; +- map->l_initfini = map->l_orig_initfini; +- _dl_scope_free (oldp); +- } +- } ++ if (map->l_direct_opencount == 0 && map->l_type == lt_loaded) ++ dl_close_state = rerun; + + /* There are still references to this object. Do nothing more. */ + if (__builtin_expect (GLRO(dl_debug_mask) & DL_DEBUG_FILES, 0)) +diff --git a/elf/dl-deps.c b/elf/dl-deps.c +index 9e30594..3890d00 100644 +--- a/elf/dl-deps.c ++++ b/elf/dl-deps.c +@@ -478,6 +478,7 @@ _dl_map_object_deps (struct link_map *map, + nneeded * sizeof needed[0]); + atomic_write_barrier (); + l->l_initfini = l_initfini; ++ l->l_free_initfini = 1; + } + + /* If we have no auxiliary objects just go on to the next map. */ +@@ -681,6 +682,7 @@ Filters not supported with LD_TRACE_PRELINKING")); + l_initfini[nlist] = NULL; + atomic_write_barrier (); + map->l_initfini = l_initfini; ++ map->l_free_initfini = 1; + if (l_reldeps != NULL) + { + atomic_write_barrier (); +@@ -689,5 +691,5 @@ Filters not supported with LD_TRACE_PRELINKING")); + _dl_scope_free (old_l_reldeps); + } + if (old_l_initfini != NULL) +- map->l_orig_initfini = old_l_initfini; ++ _dl_scope_free (old_l_initfini); + +diff --git a/elf/dl-libc.c b/elf/dl-libc.c +index 7be9483..a13fce3 100644 +--- a/elf/dl-libc.c ++++ b/elf/dl-libc.c +@@ -265,13 +265,13 @@ libc_freeres_fn (free_mem) + + for (Lmid_t ns = 0; ns < GL(dl_nns); ++ns) + { +- /* Remove all additional names added to the objects. */ + for (l = GL(dl_ns)[ns]._ns_loaded; l != NULL; l = l->l_next) + { + struct libname_list *lnp = l->l_libname->next; + + l->l_libname->next = NULL; + ++ /* Remove all additional names added to the objects. */ + while (lnp != NULL) + { + struct libname_list *old = lnp; +@@ -279,6 +279,10 @@ libc_freeres_fn (free_mem) + if (! old->dont_free) + free (old); + } ++ ++ /* Free the initfini dependency list. */ ++ if (l->l_free_initfini) ++ free (l->l_initfini); + } + + if (__builtin_expect (GL(dl_ns)[ns]._ns_global_scope_alloc, 0) != 0 +diff --git a/elf/rtld.c b/elf/rtld.c +index 4a9109e..617e30e 100644 +--- a/elf/rtld.c ++++ b/elf/rtld.c +@@ -2251,6 +2251,7 @@ ERROR: ld.so: object '%s' cannot be loaded as audit interface: %s; ignored.\n", + lnp->dont_free = 1; + lnp = lnp->next; + } ++ l->l_free_initfini = 0; + + if (l != &GL(dl_rtld_map)) + _dl_relocate_object (l, l->l_scope, GLRO(dl_lazy) ? RTLD_LAZY : 0, +diff --git a/include/link.h b/include/link.h +index e877104..051b99a 100644 +--- a/include/link.h ++++ b/include/link.h +@@ -1,6 +1,6 @@ + /* Data structure for communication from the run-time dynamic linker for + loaded ELF shared objects. +- Copyright (C) 1995-2006, 2007, 2009, 2010, 2011 Free Software Foundation, Inc. ++ Copyright (C) 1995-2006, 2007, 2009, 2010 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or +@@ -192,6 +192,9 @@ struct link_map + during LD_TRACE_PRELINKING=1 + contains any DT_SYMBOLIC + libraries. */ ++ unsigned int l_free_initfini:1; /* Nonzero if l_initfini can be ++ freed, ie. not allocated with ++ the dummy malloc in ld.so. */ + + /* Collected information about own RPATH directories. */ + struct r_search_path_struct l_rpath_dirs; +@@ -240,9 +243,6 @@ struct link_map + + /* List of object in order of the init and fini calls. */ + struct link_map **l_initfini; +- /* The init and fini list generated at startup, saved when the +- object is also loaded dynamically. */ +- struct link_map **l_orig_initfini; + + /* List of the dependencies introduced through symbol binding. */ + struct link_map_reldeps diff --git a/cross/mips64el-unknown-linux-gnu-glibc/glibc-2.14-reexport-rpc-interface.patch b/cross/mips64el-unknown-linux-gnu-glibc/glibc-2.14-reexport-rpc-interface.patch new file mode 100644 index 000000000..e2beea881 --- /dev/null +++ b/cross/mips64el-unknown-linux-gnu-glibc/glibc-2.14-reexport-rpc-interface.patch @@ -0,0 +1,26 @@ +diff --git a/include/libc-symbols.h b/include/libc-symbols.h +index 67e1ca2..5e7cca5 100644 +--- a/include/libc-symbols.h ++++ b/include/libc-symbols.h +@@ -635,7 +635,7 @@ for linking") + # define libc_hidden_proto(name, attrs...) hidden_proto (name, ##attrs) + # define libc_hidden_def(name) hidden_def (name) + # define libc_hidden_weak(name) hidden_weak (name) +-# define libc_hidden_nolink(name, version) hidden_nolink (name, libc, version) ++# define libc_hidden_nolink(name, version) hidden_def (name) + # define libc_hidden_ver(local, name) hidden_ver (local, name) + # define libc_hidden_data_def(name) hidden_data_def (name) + # define libc_hidden_data_weak(name) hidden_data_weak (name) +diff --git a/sunrpc/Makefile b/sunrpc/Makefile +index 5134ce9..40c73d1 100644 +--- a/sunrpc/Makefile ++++ b/sunrpc/Makefile +@@ -53,7 +53,7 @@ headers-in-tirpc = $(addprefix rpc/,auth.h auth_unix.h clnt.h pmap_clnt.h \ + des_crypt.h) + headers-not-in-tirpc = $(addprefix rpc/,key_prot.h rpc_des.h) \ + $(rpcsvc:%=rpcsvc/%) rpcsvc/bootparam.h +-headers = rpc/netdb.h ++headers = rpc/netdb.h $(headers-in-tirpc) $(headers-not-in-tirpc) + install-others = $(inst_sysconfdir)/rpc + generated = $(rpcsvc:%.x=rpcsvc/%.h) $(rpcsvc:%.x=x%.c) $(rpcsvc:%.x=x%.stmp) \ + $(rpcsvc:%.x=rpcsvc/%.stmp) rpcgen diff --git a/cross/mips64el-unknown-linux-gnu-glibc/glibc-2.14-reinstall-nis-rpc-headers.patch b/cross/mips64el-unknown-linux-gnu-glibc/glibc-2.14-reinstall-nis-rpc-headers.patch new file mode 100644 index 000000000..eb0fd822d --- /dev/null +++ b/cross/mips64el-unknown-linux-gnu-glibc/glibc-2.14-reinstall-nis-rpc-headers.patch @@ -0,0 +1,28 @@ +From bdd816a366c4e5bba5de7157d948e0c0737fb4fb Mon Sep 17 00:00:00 2001 +From: Andreas Schwab <schwab@redhat.com> +Date: Tue, 17 May 2011 17:42:30 +0200 +Subject: [PATCH] Reinstall NIS RPC headers + +--- + nis/Makefile | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/nis/Makefile b/nis/Makefile +index b5c9609..d2934d9 100644 +--- a/nis/Makefile ++++ b/nis/Makefile +@@ -23,9 +23,9 @@ subdir := nis + + aux := nis_hash + ++headers := $(wildcard rpcsvc/*.[hx]) + distribute := nss-nis.h nss-nisplus.h nis_intern.h Banner \ +- nisplus-parser.h nis_xdr.h nss \ +- $(wildcard rpcsvc/*.[hx]) ++ nisplus-parser.h nis_xdr.h nss + + # These are the databases available for the nis (and perhaps later nisplus) + # service. This must be a superset of the services in nss. +-- +1.7.5.4 + diff --git a/cross/mips64el-unknown-linux-gnu-glibc/glibc-2.14-revert-4768ae77.patch b/cross/mips64el-unknown-linux-gnu-glibc/glibc-2.14-revert-4768ae77.patch new file mode 100644 index 000000000..11f087cb7 --- /dev/null +++ b/cross/mips64el-unknown-linux-gnu-glibc/glibc-2.14-revert-4768ae77.patch @@ -0,0 +1,37 @@ +diff -Naur glibc-orig//resolv/res_send.c glibc/resolv/res_send.c +--- glibc-orig//resolv/res_send.c 2011-06-10 18:59:03.041436996 +1000 ++++ glibc/resolv/res_send.c 2011-06-10 19:08:09.379309323 +1000 +@@ -549,7 +549,7 @@ + ns, ansp, ansp2, nansp2, resplen2); + if (n < 0) + return (-1); +- if (n == 0 && (buf2 == NULL || *resplen2 == 0)) ++ if (n == 0) + goto next_ns; + } else { + /* Use datagrams. */ +@@ -559,7 +559,7 @@ + ansp2, nansp2, resplen2); + if (n < 0) + return (-1); +- if (n == 0 && (buf2 == NULL || *resplen2 == 0)) ++ if (n == 0) + goto next_ns; + if (v_circuit) + // XXX Check whether both requests failed or +@@ -1275,14 +1275,10 @@ + (*thisresplenp > *thisanssizp) + ? *thisanssizp : *thisresplenp); + +- if (recvresp1 || (buf2 != NULL && recvresp2)) { +- *resplen2 = 0; ++ if (recvresp1 || (buf2 != NULL && recvresp2)) + return resplen; +- } + if (buf2 != NULL) + { +- /* No data from the first reply. */ +- resplen = 0; + /* We are waiting for a possible second reply. */ + if (hp->id == anhp->id) + recvresp1 = 1; diff --git a/cross/mips64el-unknown-linux-gnu-glibc/glibc-2.15-lddebug-scopes.patch b/cross/mips64el-unknown-linux-gnu-glibc/glibc-2.15-lddebug-scopes.patch new file mode 100644 index 000000000..808cf8d7c --- /dev/null +++ b/cross/mips64el-unknown-linux-gnu-glibc/glibc-2.15-lddebug-scopes.patch @@ -0,0 +1,27 @@ +From 0c95ab64cb4ec0d22bb222647d9d20c7b4903e38 Mon Sep 17 00:00:00 2001 +From: Andreas Schwab <schwab@redhat.com> +Date: Fri, 7 Oct 2011 09:31:27 +0200 +Subject: [PATCH] Horrible workaround for horribly broken software + +--- + elf/rtld.c | 4 +++- + 1 files changed, 3 insertions(+), 1 deletions(-) + +diff --git a/elf/rtld.c b/elf/rtld.c +index 978c609..8422b9f 100644 +--- a/elf/rtld.c ++++ b/elf/rtld.c +@@ -1393,7 +1393,9 @@ of this helper program; chances are you did not intend to run this program.\n\ + char *copy = malloc (len); + if (copy == NULL) + _dl_fatal_printf ("out of memory\n"); +- l->l_libname->name = l->l_name = memcpy (copy, dsoname, len); ++ l->l_libname->name = memcpy (copy, dsoname, len); ++ if (GLRO(dl_debug_mask)) ++ l->l_name = copy; + } + + /* Add the vDSO to the object list. */ +-- +1.7.3.4 + diff --git a/cross/mips64el-unknown-linux-gnu-glibc/glibc-2.15-math64crash.patch b/cross/mips64el-unknown-linux-gnu-glibc/glibc-2.15-math64crash.patch new file mode 100644 index 000000000..d315bf266 --- /dev/null +++ b/cross/mips64el-unknown-linux-gnu-glibc/glibc-2.15-math64crash.patch @@ -0,0 +1,184 @@ +diff --git a/sysdeps/x86_64/fpu/multiarch/Makefile b/sysdeps/x86_64/fpu/multiarch/Makefile +index be68903..a032da8 100644 +--- a/sysdeps/x86_64/fpu/multiarch/Makefile ++++ b/sysdeps/x86_64/fpu/multiarch/Makefile +@@ -1,5 +1,5 @@ + ifeq ($(subdir),math) +-libm-sysdep_routines += s_floor-c s_ceil-c s_floorf-c s_ceilf-c \ ++libm-sysdep_routines += s_floorf-c s_ceilf-c \ + s_rint-c s_rintf-c s_nearbyint-c s_nearbyintf-c + + ifeq ($(have-mfma4),yes) +diff --git a/sysdeps/x86_64/fpu/multiarch/s_ceil-c.c b/sysdeps/x86_64/fpu/multiarch/s_ceil-c.c +deleted file mode 100644 +index 6a5ea3f..0000000 +--- a/sysdeps/x86_64/fpu/multiarch/s_ceil-c.c ++++ /dev/null +@@ -1,2 +0,0 @@ +-#define __ceil __ceil_c +-#include <sysdeps/ieee754/dbl-64/wordsize-64/s_ceil.c> +diff --git a/sysdeps/x86_64/fpu/multiarch/s_ceil.S b/sysdeps/x86_64/fpu/multiarch/s_ceil.S +deleted file mode 100644 +index d0f8da3..0000000 +--- a/sysdeps/x86_64/fpu/multiarch/s_ceil.S ++++ /dev/null +@@ -1,40 +0,0 @@ +-/* Copyright (C) 2011 Free Software Foundation, Inc. +- This file is part of the GNU C Library. +- Contributed by Ulrich Drepper <drepper@gmail.come>, 2011. +- +- The GNU C Library is free software; you can redistribute it and/or +- modify it under the terms of the GNU Lesser General Public +- License as published by the Free Software Foundation; either +- version 2.1 of the License, or (at your option) any later version. +- +- The GNU C Library 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 +- Lesser General Public License for more details. +- +- You should have received a copy of the GNU Lesser General Public +- License along with the GNU C Library; if not, write to the Free +- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA +- 02111-1307 USA. */ +- +-#include <machine/asm.h> +-#include <init-arch.h> +- +- +-ENTRY(__ceil) +- .type __ceil, @gnu_indirect_function +- call __get_cpu_features@plt +- movq %rax, %rdx +- leaq __ceil_sse41(%rip), %rax +- testl $bit_SSE4_1, CPUID_OFFSET+index_SSE4_1(%rdx) +- jnz 2f +- leaq __ceil_c(%rip), %rax +-2: ret +-END(__ceil) +-weak_alias (__ceil, ceil) +- +- +-ENTRY(__ceil_sse41) +- roundsd $2, %xmm0, %xmm0 +- ret +-END(__ceil_sse41) +diff --git a/sysdeps/x86_64/fpu/multiarch/s_floor-c.c b/sysdeps/x86_64/fpu/multiarch/s_floor-c.c +deleted file mode 100644 +index 68733b6..0000000 +--- a/sysdeps/x86_64/fpu/multiarch/s_floor-c.c ++++ /dev/null +@@ -1,3 +0,0 @@ +-#undef __floor +-#define __floor __floor_c +-#include <sysdeps/ieee754/dbl-64/wordsize-64/s_floor.c> +diff --git a/sysdeps/x86_64/fpu/multiarch/s_floor.S b/sysdeps/x86_64/fpu/multiarch/s_floor.S +deleted file mode 100644 +index 514ea95..0000000 +--- a/sysdeps/x86_64/fpu/multiarch/s_floor.S ++++ /dev/null +@@ -1,40 +0,0 @@ +-/* Copyright (C) 2011 Free Software Foundation, Inc. +- This file is part of the GNU C Library. +- Contributed by Ulrich Drepper <drepper@gmail.come>, 2011. +- +- The GNU C Library is free software; you can redistribute it and/or +- modify it under the terms of the GNU Lesser General Public +- License as published by the Free Software Foundation; either +- version 2.1 of the License, or (at your option) any later version. +- +- The GNU C Library 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 +- Lesser General Public License for more details. +- +- You should have received a copy of the GNU Lesser General Public +- License along with the GNU C Library; if not, write to the Free +- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA +- 02111-1307 USA. */ +- +-#include <machine/asm.h> +-#include <init-arch.h> +- +- +-ENTRY(__floor) +- .type __floor, @gnu_indirect_function +- call __get_cpu_features@plt +- movq %rax, %rdx +- leaq __floor_sse41(%rip), %rax +- testl $bit_SSE4_1, CPUID_OFFSET+index_SSE4_1(%rdx) +- jnz 2f +- leaq __floor_c(%rip), %rax +-2: ret +-END(__floor) +-weak_alias (__floor, floor) +- +- +-ENTRY(__floor_sse41) +- roundsd $1, %xmm0, %xmm0 +- ret +-END(__floor_sse41) +diff --git a/sysdeps/x86_64/fpu/multiarch/s_sin.c b/sysdeps/x86_64/fpu/multiarch/s_sin.c +deleted file mode 100644 +index 1ba9dbc..0000000 +--- a/sysdeps/x86_64/fpu/multiarch/s_sin.c ++++ /dev/null +@@ -1,31 +0,0 @@ +-#if defined HAVE_FMA4_SUPPORT || defined HAVE_AVX_SUPPORT +-# include <init-arch.h> +-# include <math.h> +-# undef NAN +- +-extern double __cos_sse2 (double); +-extern double __sin_sse2 (double); +-extern double __cos_avx (double); +-extern double __sin_avx (double); +-# ifdef HAVE_FMA4_SUPPORT +-extern double __cos_fma4 (double); +-extern double __sin_fma4 (double); +-# else +-# undef HAS_FMA4 +-# define HAS_FMA4 0 +-# define __cos_fma4 ((void *) 0) +-# define __sin_fma4 ((void *) 0) +-# endif +- +-libm_ifunc (__cos, HAS_FMA4 ? __cos_fma4 : HAS_AVX ? __cos_avx : __cos_sse2); +-weak_alias (__cos, cos) +- +-libm_ifunc (__sin, HAS_FMA4 ? __sin_fma4 : HAS_AVX ? __sin_avx : __sin_sse2); +-weak_alias (__sin, sin) +- +-# define __cos __cos_sse2 +-# define __sin __sin_sse2 +-#endif +- +- +-#include <sysdeps/ieee754/dbl-64/s_sin.c> +diff --git a/sysdeps/x86_64/fpu/multiarch/s_tan.c b/sysdeps/x86_64/fpu/multiarch/s_tan.c +deleted file mode 100644 +index 8f6601e..0000000 +--- a/sysdeps/x86_64/fpu/multiarch/s_tan.c ++++ /dev/null +@@ -1,21 +0,0 @@ +-#if defined HAVE_FMA4_SUPPORT || defined HAVE_AVX_SUPPORT +-# include <init-arch.h> +-# include <math.h> +- +-extern double __tan_sse2 (double); +-extern double __tan_avx (double); +-# ifdef HAVE_FMA4_SUPPORT +-extern double __tan_fma4 (double); +-# else +-# undef HAS_FMA4 +-# define HAS_FMA4 0 +-# define __tan_fma4 ((void *) 0) +-# endif +- +-libm_ifunc (tan, HAS_FMA4 ? __tan_fma4 : HAS_AVX ? __tan_avx : __tan_sse2); +- +-# define tan __tan_sse2 +-#endif +- +- +-#include <sysdeps/ieee754/dbl-64/s_tan.c> diff --git a/cross/mips64el-unknown-linux-gnu-glibc/glibc-2.15-revert-c5a0802a.patch b/cross/mips64el-unknown-linux-gnu-glibc/glibc-2.15-revert-c5a0802a.patch new file mode 100644 index 000000000..f532b95e8 --- /dev/null +++ b/cross/mips64el-unknown-linux-gnu-glibc/glibc-2.15-revert-c5a0802a.patch @@ -0,0 +1,229 @@ +diff -rup a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S +--- a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S 2011-12-22 18:04:12.937212834 +0000 ++++ b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S 2011-12-22 18:04:42.104222278 +0000 +@@ -137,7 +137,6 @@ __pthread_cond_wait: + cmpl $PI_BIT, %eax + jne 18f + +-90: + movl $(FUTEX_WAIT_REQUEUE_PI|FUTEX_PRIVATE_FLAG), %ecx + movl %ebp, %edx + xorl %esi, %esi +@@ -151,9 +150,6 @@ __pthread_cond_wait: + sete 16(%esp) + je 19f + +- cmpl $-EAGAIN, %eax +- je 91f +- + /* Normal and PI futexes dont mix. Use normal futex functions only + if the kernel does not support the PI futex functions. */ + cmpl $-ENOSYS, %eax +@@ -398,78 +394,6 @@ __pthread_cond_wait: + #endif + call __lll_unlock_wake + jmp 11b +- +-91: +-.LcleanupSTART2: +- /* FUTEX_WAIT_REQUEUE_PI returned EAGAIN. We need to +- call it again. */ +- +- /* Get internal lock. */ +- movl $1, %edx +- xorl %eax, %eax +- LOCK +-#if cond_lock == 0 +- cmpxchgl %edx, (%ebx) +-#else +- cmpxchgl %edx, cond_lock(%ebx) +-#endif +- jz 92f +- +-#if cond_lock == 0 +- movl %ebx, %edx +-#else +- leal cond_lock(%ebx), %edx +-#endif +-#if (LLL_SHARED-LLL_PRIVATE) > 255 +- xorl %ecx, %ecx +-#endif +- cmpl $-1, dep_mutex(%ebx) +- setne %cl +- subl $1, %ecx +- andl $(LLL_SHARED-LLL_PRIVATE), %ecx +-#if LLL_PRIVATE != 0 +- addl $LLL_PRIVATE, %ecx +-#endif +- call __lll_lock_wait +- +-92: +- /* Increment the cond_futex value again, so it can be used as a new +- expected value. */ +- addl $1, cond_futex(%ebx) +- movl cond_futex(%ebx), %ebp +- +- /* Unlock. */ +- LOCK +-#if cond_lock == 0 +- subl $1, (%ebx) +-#else +- subl $1, cond_lock(%ebx) +-#endif +- je 93f +-#if cond_lock == 0 +- movl %ebx, %eax +-#else +- leal cond_lock(%ebx), %eax +-#endif +-#if (LLL_SHARED-LLL_PRIVATE) > 255 +- xorl %ecx, %ecx +-#endif +- cmpl $-1, dep_mutex(%ebx) +- setne %cl +- subl $1, %ecx +- andl $(LLL_SHARED-LLL_PRIVATE), %ecx +-#if LLL_PRIVATE != 0 +- addl $LLL_PRIVATE, %ecx +-#endif +- call __lll_unlock_wake +- +-93: +- /* Set the rest of SYS_futex args for FUTEX_WAIT_REQUEUE_PI. */ +- xorl %ecx, %ecx +- movl dep_mutex(%ebx), %edi +- jmp 90b +-.LcleanupEND2: +- + .size __pthread_cond_wait, .-__pthread_cond_wait + versioned_symbol (libpthread, __pthread_cond_wait, pthread_cond_wait, + GLIBC_2_3_2) +@@ -642,10 +566,6 @@ __condvar_w_cleanup: + .long .LcleanupEND-.Lsub_cond_futex + .long __condvar_w_cleanup-.LSTARTCODE + .uleb128 0 +- .long .LcleanupSTART2-.LSTARTCODE +- .long .LcleanupEND2-.LcleanupSTART2 +- .long __condvar_w_cleanup-.LSTARTCODE +- .uleb128 0 + .long .LcallUR-.LSTARTCODE + .long .LENDCODE-.LcallUR + .long 0 +Only in b/nptl/sysdeps/unix/sysv/linux/i386/i486: pthread_cond_wait.S.orig +diff -rup a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S +--- a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S 2011-12-22 18:04:12.941212837 +0000 ++++ b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S 2011-12-22 18:05:05.155229737 +0000 +@@ -23,7 +23,6 @@ + #include <lowlevelcond.h> + #include <tcb-offsets.h> + #include <pthread-pi-defines.h> +-#include <pthread-errnos.h> + + #include <kernel-features.h> + +@@ -137,14 +136,11 @@ __pthread_cond_wait: + cmpl $PI_BIT, %eax + jne 61f + +-90: + movl $(FUTEX_WAIT_REQUEUE_PI|FUTEX_PRIVATE_FLAG), %esi + movl $SYS_futex, %eax + syscall + + movl $1, %r8d +- cmpq $-EAGAIN, %rax +- je 91f + #ifdef __ASSUME_REQUEUE_PI + jmp 62f + #else +@@ -331,70 +327,6 @@ __pthread_cond_wait: + + 13: movq %r10, %rax + jmp 14b +- +-91: +-.LcleanupSTART2: +- /* FUTEX_WAIT_REQUEUE_PI returned EAGAIN. We need to +- call it again. */ +- movq 8(%rsp), %rdi +- +- /* Get internal lock. */ +- movl $1, %esi +- xorl %eax, %eax +- LOCK +-#if cond_lock == 0 +- cmpxchgl %esi, (%rdi) +-#else +- cmpxchgl %esi, cond_lock(%rdi) +-#endif +- jz 92f +- +-#if cond_lock != 0 +- addq $cond_lock, %rdi +-#endif +- cmpq $-1, dep_mutex-cond_lock(%rdi) +- movl $LLL_PRIVATE, %eax +- movl $LLL_SHARED, %esi +- cmovne %eax, %esi +- callq __lll_lock_wait +-#if cond_lock != 0 +- subq $cond_lock, %rdi +-#endif +-92: +- /* Increment the cond_futex value again, so it can be used as a new +- expected value. */ +- incl cond_futex(%rdi) +- movl cond_futex(%rdi), %edx +- +- /* Release internal lock. */ +- LOCK +-#if cond_lock == 0 +- decl (%rdi) +-#else +- decl cond_lock(%rdi) +-#endif +- jz 93f +- +-#if cond_lock != 0 +- addq $cond_lock, %rdi +-#endif +- cmpq $-1, dep_mutex-cond_lock(%rdi) +- movl $LLL_PRIVATE, %eax +- movl $LLL_SHARED, %esi +- cmovne %eax, %esi +- /* The call preserves %rdx. */ +- callq __lll_unlock_wake +-#if cond_lock != 0 +- subq $cond_lock, %rdi +-#endif +-93: +- /* Set the rest of SYS_futex args for FUTEX_WAIT_REQUEUE_PI. */ +- xorq %r10, %r10 +- movq dep_mutex(%rdi), %r8 +- leaq cond_futex(%rdi), %rdi +- jmp 90b +-.LcleanupEND2: +- + .size __pthread_cond_wait, .-__pthread_cond_wait + versioned_symbol (libpthread, __pthread_cond_wait, pthread_cond_wait, + GLIBC_2_3_2) +@@ -547,15 +479,11 @@ __condvar_cleanup1: + .uleb128 .LcleanupSTART-.LSTARTCODE + .uleb128 .LcleanupEND-.LcleanupSTART + .uleb128 __condvar_cleanup1-.LSTARTCODE +- .uleb128 0 +- .uleb128 .LcleanupSTART2-.LSTARTCODE +- .uleb128 .LcleanupEND2-.LcleanupSTART2 +- .uleb128 __condvar_cleanup1-.LSTARTCODE +- .uleb128 0 ++ .uleb128 0 + .uleb128 .LcallUR-.LSTARTCODE + .uleb128 .LENDCODE-.LcallUR + .uleb128 0 +- .uleb128 0 ++ .uleb128 0 + .Lcstend: + + +Only in b/nptl/sysdeps/unix/sysv/linux/x86_64: pthread_cond_wait.S.orig +Only in b/nptl/sysdeps/unix/sysv/linux/x86_64: pthread_cond_wait.S.rej diff --git a/cross/mips64el-unknown-linux-gnu-glibc/glibc-__i686.patch b/cross/mips64el-unknown-linux-gnu-glibc/glibc-__i686.patch new file mode 100644 index 000000000..28d5dd424 --- /dev/null +++ b/cross/mips64el-unknown-linux-gnu-glibc/glibc-__i686.patch @@ -0,0 +1,13 @@ +diff -Naur glibc-old//sysdeps/i386/Makefile glibc//sysdeps/i386/Makefile +--- glibc-old//sysdeps/i386/Makefile 2010-03-18 11:52:30.000000000 +1000 ++++ glibc//sysdeps/i386/Makefile 2010-04-16 15:05:50.000000000 +1000 +@@ -1,6 +1,7 @@ + # The mpn functions need a #define for asm syntax flavor. +-# Every i386 port in use uses gas syntax (I think). +-asm-CPPFLAGS += -DGAS_SYNTAX ++# Every i386 port in use uses gas syntax (I think). Don't replace ++# __i686 in __i686.get_pc_thunk.bx. ++asm-CPPFLAGS += -DGAS_SYNTAX -U __i686 + + # The i386 `long double' is a distinct type we support. + long-double-fcts = yes diff --git a/cross/mips64el-unknown-linux-gnu-glibc/glibc.install b/cross/mips64el-unknown-linux-gnu-glibc/glibc.install new file mode 100644 index 000000000..7f85ade96 --- /dev/null +++ b/cross/mips64el-unknown-linux-gnu-glibc/glibc.install @@ -0,0 +1,20 @@ +infodir=usr/share/info +filelist=(libc.info{,-1,-2,-3,-4,-5,-6,-7,-8,-9,-10,-11}) + +post_upgrade() { + sbin/ldconfig -r . + [ -x sbin/init ] && sbin/init u + usr/sbin/locale-gen + + [ -x usr/bin/install-info ] || return 0 + for file in ${filelist[@]}; do + usr/bin/install-info $infodir/$file.gz $infodir/dir 2> /dev/null + done +} + +pre_remove() { + [ -x usr/bin/install-info ] || return 0 + for file in ${filelist[@]}; do + usr/bin/install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null + done +} diff --git a/cross/mips64el-unknown-linux-gnu-glibc/locale-gen b/cross/mips64el-unknown-linux-gnu-glibc/locale-gen new file mode 100755 index 000000000..5aff344c4 --- /dev/null +++ b/cross/mips64el-unknown-linux-gnu-glibc/locale-gen @@ -0,0 +1,42 @@ +#!/bin/sh + +set -e + +LOCALEGEN=/etc/locale.gen +LOCALES=/usr/share/i18n/locales +if [ -n "$POSIXLY_CORRECT" ]; then + unset POSIXLY_CORRECT +fi + + +[ -f $LOCALEGEN -a -s $LOCALEGEN ] || exit 0; + +# Remove all old locale dir and locale-archive before generating new +# locale data. +rm -rf /usr/lib/locale/* || true + +umask 022 + +is_entry_ok() { + if [ -n "$locale" -a -n "$charset" ] ; then + true + else + echo "error: Bad entry '$locale $charset'" + false + fi +} + +echo "Generating locales..." +while read locale charset; do \ + case $locale in \#*) continue;; "") continue;; esac; \ + is_entry_ok || continue + echo -n " `echo $locale | sed 's/\([^.\@]*\).*/\1/'`"; \ + echo -n ".$charset"; \ + echo -n `echo $locale | sed 's/\([^\@]*\)\(\@.*\)*/\2/'`; \ + echo -n '...'; \ + if [ -f $LOCALES/$locale ]; then input=$locale; else \ + input=`echo $locale | sed 's/\([^.]*\)[^@]*\(.*\)/\1\2/'`; fi; \ + localedef -i $input -c -f $charset -A /usr/share/locale/locale.alias $locale; \ + echo ' done'; \ +done < $LOCALEGEN +echo "Generation complete." diff --git a/cross/mips64el-unknown-linux-gnu-glibc/locale.gen.txt b/cross/mips64el-unknown-linux-gnu-glibc/locale.gen.txt new file mode 100644 index 000000000..ccdd81734 --- /dev/null +++ b/cross/mips64el-unknown-linux-gnu-glibc/locale.gen.txt @@ -0,0 +1,23 @@ +# Configuration file for locale-gen +# +# lists of locales that are to be generated by the locale-gen command. +# +# Each line is of the form: +# +# <locale> <charset> +# +# where <locale> is one of the locales given in /usr/share/i18n/locales +# and <charset> is one of the character sets listed in /usr/share/i18n/charmaps +# +# Examples: +# en_US ISO-8859-1 +# en_US.UTF-8 UTF-8 +# de_DE ISO-8859-1 +# de_DE@euro ISO-8859-15 +# +# The locale-gen command will generate all the locales, +# placing them in /usr/lib/locale. +# +# A list of supported locales is included in this file. +# Uncomment the ones you need. +# diff --git a/cross/mips64el-unknown-linux-gnu-glibc/nscd b/cross/mips64el-unknown-linux-gnu-glibc/nscd new file mode 100755 index 000000000..8b14f2a3f --- /dev/null +++ b/cross/mips64el-unknown-linux-gnu-glibc/nscd @@ -0,0 +1,40 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +PID=`pidof -o %PPID /usr/sbin/nscd` +case "$1" in + start) + stat_busy "Starting nscd" + # create necessary directories if they don't already exist + mkdir -p /var/run/nscd /var/db/nscd 2>/dev/null + # remove stale files + rm -f /var/db/nscd/* /var/run/nscd/* 2>/dev/null + [ -z "$PID" ] && /usr/sbin/nscd + if [ $? -gt 0 ]; then + stat_fail + else + add_daemon nscd + stat_done + fi + ;; + stop) + stat_busy "Stopping nscd" + [ ! -z "$PID" ] && kill $PID &> /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + rm_daemon nscd + stat_done + fi + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 diff --git a/cross/mips64el-unknown-linux-gnu-linux-api-headers/PKGBUILD b/cross/mips64el-unknown-linux-gnu-linux-api-headers/PKGBUILD new file mode 100644 index 000000000..277890098 --- /dev/null +++ b/cross/mips64el-unknown-linux-gnu-linux-api-headers/PKGBUILD @@ -0,0 +1,36 @@ +# $Id: PKGBUILD 145918 2012-01-04 01:25:12Z allan $ +# Maintainer: Allan McRae <allan@archlinux.org> + +# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc +export ARCH=mips +_target=mips64el-unknown-linux-gnu +_sysroot="/usr/${_target}" + +pkgname=${_target}-linux-api-headers +pkgver=3.1.6 +_basekernel=3.1 +pkgrel=2 +pkgdesc="Kernel headers sanitized for use in userspace" +arch=('i686' 'x86_64') +url="http://www.gnu.org/software/libc" +license=('GPL2') +source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-libre/linux-${_basekernel}-libre.tar.xz" + "http://linux-libre.fsfla.org/pub/linux-libre/releases/${pkgver}-libre/patch-${_basekernel}-libre-${pkgver}-libre.xz") +md5sums=('d73df15ab1d36fe3c102755d8f42117f' + 'cb42276bca126c676c51d02d74bf7fe7') + +build() { + cd "${srcdir}/linux-${_basekernel}" + + if [ "${_basekernel}" != "${pkgver}" ]; then + patch -Np1 -i "${srcdir}/patch-${_basekernel}-libre-${pkgver}-libre" + fi + + make mrproper + make headers_check +} + +package() { + cd "${srcdir}/linux-${_basekernel}" + make ARCH=${ARCH} INSTALL_HDR_PATH=${pkgdir}${_sysroot}/usr headers_install +} diff --git a/extra/audacious/PKGBUILD b/extra/audacious/PKGBUILD index 28686cfd4..4cd60ea5e 100644 --- a/extra/audacious/PKGBUILD +++ b/extra/audacious/PKGBUILD @@ -1,12 +1,12 @@ -# $Id: PKGBUILD 146058 2012-01-04 19:41:50Z bisson $ +# $Id: PKGBUILD 147042 2012-01-21 01:22:07Z bisson $ # Contributor: Alexander Fehr <pizzapunk gmail com> # Contributor: Giovanni Scafora <giovanni@archlinux.org> # Maintainer: Gaetan Bisson <bisson@archlinux.org> pkgname=audacious -pkgver=3.1.2 +pkgver=3.2 pkgrel=1 -pkgdesc='Lightweight, GTK-based advanced audio player focused on audio quality' +pkgdesc='Lightweight, advanced audio player focused on audio quality' url='http://audacious-media-player.org/' license=('GPL3') arch=('i686' 'x86_64') @@ -14,7 +14,7 @@ depends=('gtk3' 'dbus-glib' 'libguess' 'libsm' 'audacious-plugins' 'hicolor-icon-theme' 'gtk-update-icon-cache' 'desktop-file-utils') optdepends=('unzip: zipped skins support') source=("http://distfiles.audacious-media-player.org/${pkgname}-${pkgver}.tar.bz2") -sha1sums=('ebaaefcfa291a1f97d2dae1b2d7f0cacb545dc7f') +sha1sums=('3ebc4dcdcf5da960ba400078023e167e02105e84') provides=('audacious-player') replaces=('audacious-player') diff --git a/extra/clutter-gtk2/PKGBUILD b/extra/clutter-gtk2/PKGBUILD index 3b6d7c4f8..5a3fb66b0 100644 --- a/extra/clutter-gtk2/PKGBUILD +++ b/extra/clutter-gtk2/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 113313 2011-03-08 12:29:48Z heftig $ +# $Id: PKGBUILD 147074 2012-01-21 15:12:46Z ibiru $ # Maintainer: Jan "heftig" Steffens <jan.steffens@gmail.com> pkgname=clutter-gtk2 _pkgbasename=clutter-gtk pkgver=0.10.8 -pkgrel=1 +pkgrel=2 pkgdesc="GTK clutter widget" arch=('i686' 'x86_64') url="http://clutter-project.org/" @@ -13,13 +13,16 @@ license=('LGPL') depends=('clutter' 'gtk2') makedepends=('gobject-introspection' 'gtk-doc') source=(http://www.clutter-project.org/sources/${_pkgbasename}/${pkgver%.*}/${_pkgbasename}-${pkgver}.tar.bz2 - gir.patch) + gir.patch + libm.patch) sha256sums=('7867f951568871d9f68cbe8a3644fd53d2138f725b7ba61ffc0053eb64e80814' - 'a7bb2e41b155a293fef3a58f9d0486788564a5da9373b00cc5209bdbdcb1ec66') + 'a7bb2e41b155a293fef3a58f9d0486788564a5da9373b00cc5209bdbdcb1ec66' + '7d5532702eb3c18fff2144f8d501f77d3d9c9c23e6904374f05634fea2d7a8ef') build() { cd "${srcdir}/${_pkgbasename}-${pkgver}" patch -Np1 -i "$srcdir/gir.patch" + patch -Np1 -i "$srcdir/libm.patch" autoreconf -i ./configure --prefix=/usr make diff --git a/extra/clutter-gtk2/libm.patch b/extra/clutter-gtk2/libm.patch new file mode 100644 index 000000000..17e47ef40 --- /dev/null +++ b/extra/clutter-gtk2/libm.patch @@ -0,0 +1,39 @@ +diff -Nur clutter-gtk-0.10.8.orig/configure.ac clutter-gtk-0.10.8/configure.ac +--- clutter-gtk-0.10.8.orig/configure.ac 2012-01-21 14:52:17.627228994 +0000 ++++ clutter-gtk-0.10.8/configure.ac 2012-01-21 15:04:37.317308303 +0000 +@@ -57,6 +57,9 @@ + LT_PREREQ([2.2.6]) + LT_INIT([disable-static]) + ++AC_CHECK_LIBM ++AC_SUBST(LIBM) ++ + m4_define([clutter_req_version], [1.2.0]) + m4_define([gtk_req_version], [2.19.5]) + m4_define([flavour_default], [x11]) +diff -Nur clutter-gtk-0.10.8.orig/examples/Makefile.am clutter-gtk-0.10.8/examples/Makefile.am +--- clutter-gtk-0.10.8.orig/examples/Makefile.am 2012-01-21 14:52:17.600561077 +0000 ++++ clutter-gtk-0.10.8/examples/Makefile.am 2012-01-21 15:00:04.549770032 +0000 +@@ -22,18 +22,18 @@ + + gtk_clutter_test_SOURCES = gtk-clutter-test.c + gtk_clutter_test_DEPENDENCIES = $(common_deps) +-gtk_clutter_test_LDADD = $(common_ldadd) ++gtk_clutter_test_LDADD = $(common_ldadd) $(LIBM) + + gtk_clutter_events_SOURCES = gtk-clutter-events.c + gtk_clutter_events_DEPENDENCIES = $(common_deps) +-gtk_clutter_events_LDADD = $(common_ldadd) ++gtk_clutter_events_LDADD = $(common_ldadd) $(LIBM) + + gtk_clutter_multistage_SOURCES = gtk-clutter-multistage.c + gtk_clutter_multistage_DEPENDENCIES = $(common_deps) +-gtk_clutter_multistage_LDADD = $(common_ldadd) ++gtk_clutter_multistage_LDADD = $(common_ldadd) $(LIBM) + + gtk_clutter_viewport_SOURCES = gtk-clutter-viewport.c + gtk_clutter_viewport_DEPENDENCIES = $(common_deps) +-gtk_clutter_viewport_LDADD = $(common_ldadd) ++gtk_clutter_viewport_LDADD = $(common_ldadd) $(LIBM) + + EXTRA_DIST = redhand.png diff --git a/extra/gnome-shell/PKGBUILD b/extra/gnome-shell/PKGBUILD index 219ad0edb..dd0ecc6be 100644 --- a/extra/gnome-shell/PKGBUILD +++ b/extra/gnome-shell/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 146931 2012-01-19 10:12:16Z ibiru $ +# $Id: PKGBUILD 146998 2012-01-20 11:30:17Z ibiru $ # Maintainer: Ionut Biru <ibiru@archlinux.org> # Contributor: Flamelab <panosfilip@gmail.com pkgname=gnome-shell -pkgver=3.2.2 -pkgrel=2 +pkgver=3.2.2.1 +pkgrel=1 pkgdesc="The next generation GNOME Shell" arch=('i686' 'x86_64') url="http://live.gnome.org/GnomeShell" @@ -15,16 +15,12 @@ optdepends=('network-manager-applet: shell integration for networkmanager') options=('!libtool' '!emptydirs') install=gnome-shell.install groups=(gnome) -source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz - revert-notificationdaemon-group-based-on-pid-and-titles.patch) -sha256sums=('68967b9d58ad0551d7d3d28a276526a15faf1fc1d27f4624eb405663910e2eb8' - '9e0337cd25d29d7215561d6fa30612d69c89fe7c27aa563a0c0b8a5b6f6cf12a') +source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/${pkgver%.*.*}/$pkgname-$pkgver.tar.xz) +sha256sums=('209363084ef2d58777d70d8430e4659b058cf854c4b9766f3019d69ffea34d6f') build() { cd "$srcdir/$pkgname-$pkgver" - patch -Np1 -R -i "$srcdir/revert-notificationdaemon-group-based-on-pid-and-titles.patch" - PYTHON=/usr/bin/python2 ./configure --prefix=/usr --sysconfdir=/etc \ --libexecdir=/usr/lib/gnome-shell \ --localstatedir=/var --disable-static \ diff --git a/extra/gnutls/PKGBUILD b/extra/gnutls/PKGBUILD index 550c9a728..b06ef1e30 100644 --- a/extra/gnutls/PKGBUILD +++ b/extra/gnutls/PKGBUILD @@ -1,19 +1,19 @@ -# $Id: PKGBUILD 146275 2012-01-07 21:32:08Z andyrtr $ +# $Id: PKGBUILD 147016 2012-01-20 19:27:51Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=gnutls -pkgver=3.0.11 +pkgver=3.0.12 pkgrel=1 pkgdesc="A library which provides a secure layer over a reliable transport layer" arch=('i686' 'x86_64') license=('GPL3' 'LGPL') url="http://www.gnu.org/software/gnutls/" install=gnutls.install -options=('!libtool' '!zipman') +options=('!libtool' '!zipman' '!makeflags') depends=('gcc-libs' 'libtasn1' 'readline' 'zlib' 'nettle>=2.4' 'p11-kit') makedepends=('valgrind') source=(ftp://ftp.gnu.org/gnu/gnutls/${pkgname}-${pkgver}.tar.xz) -md5sums=('ca3370b39f7910538a0d6c02bec7a142') +md5sums=('685fe5c00786c04b39e9aac362fa0cac') build() { cd "${srcdir}/${pkgname}-${pkgver}" diff --git a/extra/iptraf-ng/PKGBUILD b/extra/iptraf-ng/PKGBUILD index 0af3de2e1..b6f9dfcb9 100644 --- a/extra/iptraf-ng/PKGBUILD +++ b/extra/iptraf-ng/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 121278 2011-04-30 08:10:51Z ibiru $ +# $Id: PKGBUILD 147066 2012-01-21 14:18:43Z ibiru $ # Maintainer: Ionut Biru <ibiru@archlinux.org> # Maintainer: sh0 <mee@sh0.org> pkgname=iptraf-ng -pkgver=1.0.2 -pkgrel=2 +pkgver=1.1.0 +pkgrel=1 pkgdesc="A console-based network monitoring utility (a fork of original iptraf)" url="https://fedorahosted.org/iptraf-ng/" arch=('i686' 'x86_64') @@ -12,20 +12,20 @@ depends=('ncurses') license=('GPL2') replaces=('iptraf') options=('!libtool') -source=(https://fedorahosted.org/releases/i/p/iptraf-ng/${pkgname}-${pkgver}.tar.gz) -md5sums=('b2adbbbee4c269fb97a1951981c9047c') +source=(https://fedorahosted.org/releases/i/p/$pkgname/$pkgname-$pkgver.tar.gz) +md5sums=('79a3787027515f688a35173ffbee6432') build() { cd "$srcdir/$pkgname-$pkgver" + sed s/ncurses5-config/ncursesw5-config/ -i configure.ac + autoreconf -fi ./configure --prefix=/usr --sysconfdir=/etc \ - --localstatedir=/var --disable-static + --localstatedir=/var make CFLAGS="$CFLAGS" } package() { - cd "$srcdir/${pkgname}-${pkgver}" + cd "$srcdir/$pkgname-$pkgver" make DESTDIR=$pkgdir install - install -dm755 "${pkgdir}/var/lib/iptraf" + install -dm755 "$pkgdir/var/lib/iptraf" } - -# vim: ts=2: ft=sh diff --git a/extra/pixman/PKGBUILD b/extra/pixman/PKGBUILD index 28754057a..d956f7741 100644 --- a/extra/pixman/PKGBUILD +++ b/extra/pixman/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 142423 2011-11-09 10:25:24Z jgc $ +# $Id: PKGBUILD 147073 2012-01-21 15:12:23Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> # Contributor: Alexander Baldeck <alexander@archlinux.org> pkgname=pixman -pkgver=0.24.0 +pkgver=0.24.2 pkgrel=1 pkgdesc="Pixman library" arch=(i686 x86_64) @@ -12,7 +12,7 @@ license=('custom') depends=('glibc') options=('!libtool') source=(http://xorg.freedesktop.org/releases/individual/lib/${pkgname}-${pkgver}.tar.bz2) -sha1sums=('a3b73c3ea6cada20d705203a394f574aa69e2177') +sha1sums=('233eed3cd16ee1b2a842140477503d2c68b74418') build() { cd "${srcdir}/${pkgname}-${pkgver}" diff --git a/extra/rxvt-unicode/ChangeLog b/extra/rxvt-unicode/ChangeLog index f343b86cb..ba267d49e 100644 --- a/extra/rxvt-unicode/ChangeLog +++ b/extra/rxvt-unicode/ChangeLog @@ -1,3 +1,6 @@ +2012-01-22 Angel Velasquez <angvp@archlinux.org> + * Version bump to 9.15 + 2011-12-02 Angel Velasquez <angvp@archlinux.org> * Version bump to 9.14 diff --git a/extra/rxvt-unicode/PKGBUILD b/extra/rxvt-unicode/PKGBUILD index 2d2a89d30..3d976c041 100644 --- a/extra/rxvt-unicode/PKGBUILD +++ b/extra/rxvt-unicode/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 145618 2011-12-24 05:53:53Z angvp $ +# $Id: PKGBUILD 147102 2012-01-22 04:46:15Z angvp $ # Maintainer: Angel Velasquez <angvp@archlinux.org> # Contributor: tobias <tobias@archlinux.org> # Contributor: dibblethewrecker dibblethewrecker.at.jiwe.dot.org pkgname=rxvt-unicode -pkgver=9.14 +pkgver=9.15 pkgrel=1 pkgdesc="An unicode enabled rxvt-clone terminal emulator (urxvt)" arch=('i686' 'x86_64') @@ -15,9 +15,9 @@ optdepends=('gtk2-perl: to use the urxvt-tabbed') changelog=ChangeLog source=(http://dist.schmorp.de/rxvt-unicode/${pkgname}-${pkgver}.tar.bz2 \ ${pkgname}.desktop) -md5sums=('022235a9a8b012c29e72c49177be6ce4' +md5sums=('15595aa326167ac5eb68c28d95432faf' '3de6c13126a45bc3bc9f6bba077a1311') -sha1sums=('e303b7591225b06bc04e18a875461438c635014e' +sha1sums=('e6fdf091860ecb458730dc68b0176f67f207a2f7' '962aebc88982dbeb62a7c4a051ff567e015f61a0') build() { diff --git a/extra/scribus/PKGBUILD b/extra/scribus/PKGBUILD index 4e81935e3..5af43d7ed 100644 --- a/extra/scribus/PKGBUILD +++ b/extra/scribus/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 102618 2010-12-08 18:20:12Z dgriffiths $ +# $Id: PKGBUILD 146995 2012-01-20 06:04:00Z remy $ # Contributor: Ronald van Haren <ronald.archlinux.org> # Contributor: tobias <tobias@archlinux.org> # Contributor: Ben <ben@benmazer.net> # Maintainer: Daniel J Griffiths <ghost1227@archlinux.us> pkgname=scribus -pkgver=1.3.9 +pkgver=1.4.0 pkgrel=1 pkgdesc="A desktop publishing program" arch=('i686' 'x86_64') @@ -16,10 +16,10 @@ depends=('libcups>=1.3.11' 'lcms>=1.18' 'qt' 'ghostscript>=8.70' \ 'libart-lgpl>=2.3.20' 'python2' 'libxml2>=2.7.3' 'cairo' \ 'desktop-file-utils' 'shared-mime-info') makedepends=('cmake') -options=(!libtool !makeflags) -source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.bz2) -md5sums=('a54dbf2e10cd88d683d0d34565d29378') -sha1sums=('86bc4db2d8fbb91fe94f8535327991e9128c5862') +options=(!libtool) +source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.xz) +md5sums=('ae19e62399941fb8e868d8e762caf494') +sha1sums=('0e3afb98a56084c2938a8402df2d89214c42b809') build() { cd "${srcdir}" diff --git a/extra/sdl_image/PKGBUILD b/extra/sdl_image/PKGBUILD index 74a1b777c..7643e2ba8 100644 --- a/extra/sdl_image/PKGBUILD +++ b/extra/sdl_image/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 146687 2012-01-16 11:34:55Z heftig $ +# $Id: PKGBUILD 147083 2012-01-21 17:53:25Z heftig $ # Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> # Contributor: Allan McRae <allan@archlinux.org> # Contributor: Tom Newsom <Jeepster@gmx.co.uk> pkgname=sdl_image -pkgver=1.2.11 +pkgver=1.2.12 pkgrel=1 pkgdesc="A simple library to load images of various formats as SDL surfaces" arch=('i686' 'x86_64') @@ -13,7 +13,7 @@ depends=('sdl>=1.2.13' 'libpng' 'libjpeg>=7' 'libtiff' 'zlib') options=('!libtool') url="http://www.libsdl.org/projects/SDL_image/" source=(http://www.libsdl.org/projects/SDL_image/release/SDL_image-$pkgver.tar.gz) -md5sums=('1210d7a7e87ab95abebb4f3e79a0fd31') +md5sums=('a0f9098ebe5400f0bdc9b62e60797ecb') build() { cd "$srcdir/SDL_image-$pkgver" diff --git a/libre/kdenetwork-libre/PKGBUILD b/libre/kdenetwork-libre/PKGBUILD new file mode 100644 index 000000000..14c6448e5 --- /dev/null +++ b/libre/kdenetwork-libre/PKGBUILD @@ -0,0 +1,126 @@ +# $Id: PKGBUILD 144733 2011-12-08 09:21:25Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> +# Contributor: Pierre Schmitz <pierre@archlinux.de> + +pkgbase=kdenetwork +pkgname=('kdenetwork-filesharing' + 'kdenetwork-kdnssd' + 'kdenetwork-kget' + 'kdenetwork-kopete-libre' + 'kdenetwork-kppp' + 'kdenetwork-krdc' + 'kdenetwork-krfb') +pkgver=4.7.4 +pkgrel=1 +arch=('i686' 'x86_64') +url='http://www.kde.org' +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdenetwork') +makedepends=('pkgconfig' 'cmake' 'automoc4' 'boost' 'speex' 'ortp' 'libotr' + 'qca-ossl' 'kdebase-workspace' 'kdebase-lib' 'libvncserver' 'libmsn' 'ppp' + 'v4l-utils' 'libidn' 'rdesktop' 'qimageblitz' 'libxdamage' 'libgadu' + 'telepathy-qt4' 'libktorrent' 'libmms' 'mediastreamer') +source=("http://repo.parabolagnulinux.org/other/${pkgbase}-libre-${pkgver}.tar.xz") +sha1sums=('2537c5286a1464008e05974a3fd55ae00740c843') + +# Based on http://bzr.trisquel.info/package-helpers/trunk/annotate/head%3A/helpers/natty/make-kdenetwork, revision 34. +mksource() { + [ -f "${pkgbase}-${pkgver}.tar.bz2" ] || wget "http://download.kde.org/stable/${pkgver}/src/${pkgbase}-${pkgver}.tar.bz2" + tar xf "${pkgbase}-${pkgver}.tar.bz2" + cd "${pkgbase}-${pkgver}" + sed -i 's/Skype protocol" ON/Skype protocol" OFF/g' kopete/protocols/CMakeLists.txt + rm -rf kopete/protocols/skype + sed 's/, Skype//' -i ./doc/kopete/index.docbook + cd .. + tar cJf "${pkgbase}-libre-${pkgver}.tar.xz" "${pkgbase}-${pkgver}" +} + +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') + optdepends=('python2: YouTube plugin') + url="http://kde.org/applications/internet/kget/" + install='kdenetwork.install' + cd $srcdir/build/kget + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/kget + make DESTDIR=$pkgdir install +} + +package_kdenetwork-kopete-libre() { + pkgdesc='Instant Messenger' + depends=('kdebase-runtime' 'kdepimlibs' 'qca-ossl' 'libotr' 'libmsn' + 'libidn' 'qimageblitz' 'v4l-utils' 'libgadu' 'mediastreamer') + conflicts=('kdenetwork-kopete') + provides=("kdenetwork-kopete=${pkgver}") + replaces=('kdenetwork-kopete') + url="http://kde.org/applications/internet/kopete/" + install='kdenetwork.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.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/libre/kdenetwork-libre/kdenetwork.install b/libre/kdenetwork-libre/kdenetwork.install new file mode 100644 index 000000000..e70c054ec --- /dev/null +++ b/libre/kdenetwork-libre/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/libre/kdeutils-libre/PKGBUILD b/libre/kdeutils-libre/PKGBUILD index 4337580e3..16fff37d3 100644 --- a/libre/kdeutils-libre/PKGBUILD +++ b/libre/kdeutils-libre/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 139746 2011-10-04 21:03:39Z andrea $ +# $Id: PKGBUILD 146715 2012-01-16 19:50:44Z dreisner $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> # Contributor: Pierre Schmitz <pierre@archlinux.de> @@ -16,8 +16,8 @@ pkgname=('kdeutils-ark-libre' 'kdeutils-printer-applet' 'kdeutils-superkaramba' 'kdeutils-sweeper') -pkgver=4.7.2 -pkgrel=1 +pkgver=4.7.4 +pkgrel=2 arch=('i686' 'x86_64') url='http://www.kde.org' license=('GPL' 'LGPL' 'FDL') @@ -26,27 +26,37 @@ makedepends=('pkgconfig' 'cmake' 'automoc4' 'kdebase-lib' 'kdebase-workspace' 'kdebindings-python' 'system-config-printer-common' 'libarchive' 'qimageblitz' 'qjson') source=("http://download.kde.org/stable/${pkgver}/src/${pkgbase}-${pkgver}.tar.bz2") -sha1sums=('52ce9b6b5f2c20475f46b6f7378ca4c530df37b4') +sha1sums=('4630f01f36558eb5494fc562086fbd4e488e411e') build() { - cd ${srcdir} + cd "${srcdir}"/${pkgbase}-${pkgver} + + # Use Python2 + sed -i 's|/usr/bin/python|/usr/bin/python2|' \ + kcharselect/kcharselect-generate-datafile.py \ + superkaramba/examples/richtext/rtext.py + sed -i 's|/usr/bin/env python|/usr/bin/env python2|' \ + printer-applet/{authconn,debug,monitor,printer-applet,statereason}.py + + cd "${srcdir}" mkdir build cd build cmake ../${pkgbase}-${pkgver} \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_SKIP_RPATH=ON \ - -DCMAKE_INSTALL_PREFIX=/usr + -DCMAKE_INSTALL_PREFIX=/usr \ + -DPYTHON_EXECUTABLE=/usr/bin/python2 make } package_kdeutils-ark-libre() { pkgdesc='Archiving Tool' depends=('kdebase-runtime' 'kdebase-lib' 'libarchive') - optdepends=('p7zip' 'zip') + optdepends=('p7zip' 'zip' 'unzip' 'ununrar') + provides=("kdeutils-ark=$pkgver") + replaces=('kdeutils-ark') + conflicts=('kdeutils-ark') url="http://kde.org/applications/utilities/ark/" - provides=("kdeutils-ark=$pkgver") - replaces=('kdeutils-ark') - conflicts=('kdeutils-ark') cd $srcdir/build/ark make DESTDIR=$pkgdir install cd $srcdir/build/ark/doc @@ -162,9 +172,6 @@ package_kdeutils-printer-applet() { make DESTDIR=$pkgdir install cd $srcdir/build/printer-applet/doc 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_kdeutils-superkaramba() { diff --git a/libre/kdeutils-libre/rePKGBUILD b/libre/kdeutils-libre/rePKGBUILD index a8d78bede..9dad18cf0 100644 --- a/libre/kdeutils-libre/rePKGBUILD +++ b/libre/kdeutils-libre/rePKGBUILD @@ -2,8 +2,9 @@ source PKGBUILD #CARCH=x86_64 unset build package md5sums source +pkgname=("kdeutils-ark-libre") _repo=extra # Put the repo here -_mirror=ftp://ftp.archlinux.org # Put mirror here +_mirror=ftp://mirrors.kernel.org/archlinux # Put mirror here source=(PKGBUILD "${_mirror}/${_repo}/os/${CARCH}/${pkgname%-libre}-$pkgver-$pkgrel-$CARCH$PKGEXT" # files for pkg modifications below this line @@ -18,15 +19,15 @@ build() { } package_kdeutils-ark-libre() { - pkgdesc='Archiving Tool' - depends=('kdebase-runtime' 'kdebase-lib' 'libarchive') - optdepends=('p7zip' 'zip') - url="http://kde.org/applications/utilities/ark/" - provides=("kdeutils-ark=$pkgver") - replaces=('kdeutils-ark') - conflicts=('kdeutils-ark') - find ${srcdir} -maxdepth 1 -type l -delete - cp -a ${srcdir}/* ${pkgdir} + pkgdesc='Archiving Tool' + depends=('kdebase-runtime' 'kdebase-lib' 'libarchive') + optdepends=('p7zip' 'zip' 'unzip' 'ununrar') + provides=("kdeutils-ark=$pkgver") + replaces=('kdeutils-ark') + conflicts=('kdeutils-ark') + url="http://kde.org/applications/utilities/ark/" + find ${srcdir} -maxdepth 1 -type l -delete + cp -a ${srcdir}/* ${pkgdir} } diff --git a/libre/linux-libre/Kbuild b/libre/linux-libre/Kbuild new file mode 100644 index 000000000..8a9d7dceb --- /dev/null +++ b/libre/linux-libre/Kbuild @@ -0,0 +1,19 @@ +# Fail on warnings - also for files referenced in subdirs +# -Werror can be disabled for specific files using: +# CFLAGS_<file.o> := -Wno-error +subdir-ccflags-y := -Wno-error + +# platform specific definitions +include arch/mips/Kbuild.platforms +obj-y := $(platform-y) + +# make clean traverses $(obj-) without having included .config, so +# everything ends up here +obj- := $(platform-) + +# mips object files +# The object files are linked as core-y files would be linked + +obj-y += kernel/ +obj-y += mm/ +obj-y += math-emu/ diff --git a/libre/linux-libre/Kbuild.platforms b/libre/linux-libre/Kbuild.platforms new file mode 100644 index 000000000..90a226888 --- /dev/null +++ b/libre/linux-libre/Kbuild.platforms @@ -0,0 +1,6 @@ +# All platforms listed in alphabetic order + +platforms += loongson + +# include the platform specific files +include $(patsubst %, $(srctree)/arch/mips/%/Platform, $(platforms)) diff --git a/libre/linux-libre/PKGBUILD b/libre/linux-libre/PKGBUILD index e7668ca29..3bd2c7fe6 100644 --- a/libre/linux-libre/PKGBUILD +++ b/libre/linux-libre/PKGBUILD @@ -8,48 +8,42 @@ pkgbase=linux-libre pkgname=('linux-libre' 'linux-libre-headers' 'linux-libre-docs') # Build stock -LIBRE kernel # pkgname=linux-custom # Build kernel with a different name _kernelname=${pkgname#linux-libre} -<<<<<<< HEAD -_basekernel=3.1 -pkgver=${_basekernel}.7 -======= _basekernel=3.2 -pkgver=${_basekernel} ->>>>>>> ddf6b4309b9f9816e75828359a2d60a23a0ca68c +pkgver=${_basekernel}.1 pkgrel=1 -arch=('i686' 'x86_64') +arch=('i686' 'x86_64' 'mips64el') url="http://linux-libre.fsfla.org/" license=('GPL2') makedepends=('xmlto' 'docbook-xsl') options=('!strip') source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-libre/linux-${_basekernel}-libre.tar.xz" -# "http://linux-libre.fsfla.org/pub/linux-libre/releases/${pkgver}-libre/patch-${_basekernel}-libre-${pkgver}-libre.xz" + "http://linux-libre.fsfla.org/pub/linux-libre/releases/${pkgver}-libre/patch-${_basekernel}-libre-${pkgver}-libre.xz" + "http://www.linux-libre.fsfla.org/pub/linux-libre/lemote/gnewsense/pool/linux-patches-${pkgver}-libre-lemote_0lxo_mipsel.tar.bz2" # the main kernel config files 'config.i686' 'config.x86_64' # standard config files for mkinitcpio ramdisk "${pkgname}.preset" + 'Kbuild' + 'Kbuild.platforms' 'boot-logo.patch' 'change-default-console-loglevel.patch' 'i915-fix-ghost-tv-output.patch' - 'usb-add-reset-resume-quirk-for-several-webcams.patch') -md5sums=('d73df15ab1d36fe3c102755d8f42117f' - '47e4a10500ad90694b7f42fb447ab810' - '267ea59695619730032f89ac70bf9391' - '5a415fc0c864dc3f5c4afa63f1506c52' - 'a8a3843046926eb7ab81312cd438c5c5' - '04b21c79df0a952c22d681dd4f4562df' - '9d3c56a4b999c8bfbd4018089a62f662' - '263725f20c0b9eb9c353040792d644e5' - 'a50c9076012cb2dda49952dc6ec3e9c1' - '52d41fa61e80277ace2b994412a0c856') + 'i915-gpu-finish.patch') build() { cd "${srcdir}/linux-${_basekernel}" -# patch -Np1 -i "${srcdir}/patch-${_basekernel}-libre-${pkgver}-libre" + if [ "${_basekernel}" != "${pkgver}" ]; then + patch -Np1 -i "${srcdir}/patch-${_basekernel}-libre-${pkgver}-libre" + fi # Add freedo as boot logo patch -Np1 -i "${srcdir}/boot-logo.patch" + # fix FS#27883 + # drm/i915: Only clear the GPU domains upon a successful finish + patch -Np1 -i "${srcdir}/i915-gpu-finish.patch" + # Some chips detect a ghost TV output # mailing list discussion: http://lists.freedesktop.org/archives/intel-gfx/2011-April/010371.html # Arch Linux bug report: FS#19234 @@ -59,16 +53,26 @@ build() { # needed. patch -Np1 -i "${srcdir}/i915-fix-ghost-tv-output.patch" - # Add the USB_QUIRK_RESET_RESUME for several webcams - # FS#26528 - patch -Np1 -i "${srcdir}/usb-add-reset-resume-quirk-for-several-webcams.patch" - # set DEFAULT_CONSOLE_LOGLEVEL to 4 (same value as the 'quiet' kernel param) # remove this when a Kconfig knob is made available by upstream # (relevant patch sent upstream: https://lkml.org/lkml/2011/7/26/227) patch -Np1 -i "${srcdir}/change-default-console-loglevel.patch" - cat "${srcdir}/config.${CARCH}" > ./.config # simpler + if [ "$CARCH" == "mips64el" ]; then + sed -i "s|^EXTRAVERSION.*|EXTRAVERSION =-libre|" Makefile + msg2 "Adding loongson-community patches" + patch -Np1 -i ${srcdir}/${_basekernel}.*-*-loongson-community.patch + patch -Np0 -i "${srcdir}/lxo-config.patch" + +# ensure N32, add localversion and remove uevent helper as per +# https://git.kernel.org/?p=linux/hotplug/udev.git;a=blob_plain;f=README + sed -i -e "s|CONFIG_MIPS32_N32=.*|CONFIG_MIPS32_N32=y|g" \ + -e "s|CONFIG_MIPS32_N32=.*|CONFIG_MIPS32_N32=y|g" \ + -e "s|CONFIG_UEVENT_HELPER_PATH=.*|CONFIG_UEVENT_HELPER_PATH=\"\"|g" \ + -e "s|CONFIG_LOCALVERSION=.*|CONFIG_LOCALVERSION=\"-LIBRE\"|g" ./.config + else + cat "${srcdir}/config.${CARCH}" > ./.config # simpler + fi if [ "${_kernelname}" != "" ]; then sed -i "s|CONFIG_LOCALVERSION=.*|CONFIG_LOCALVERSION=\"${_kernelname}\"|g" ./.config @@ -98,7 +102,11 @@ build() { yes "" | make config # build! - make ${MAKEFLAGS} bzImage modules + if [ "$CARCH" == "mips64el" ]; then + make ${MAKEFLAGS} vmlinuz modules + else + make ${MAKEFLAGS} bzImage modules + fi } package_linux-libre() { @@ -115,13 +123,19 @@ package_linux-libre() { cd "${srcdir}/linux-${_basekernel}" KARCH=x86 + [ $CARCH = "mips64el" ] && KARCH=mips # get kernel version _kernver="$(make kernelrelease)" mkdir -p "${pkgdir}"/{lib/modules,lib/firmware,boot} make INSTALL_MOD_PATH="${pkgdir}" modules_install - cp arch/$KARCH/boot/bzImage "${pkgdir}/boot/vmlinuz-${pkgname}" + + if [ "$CARCH" == "mips64el" ]; then + cp vmlinuz "${pkgdir}/boot/vmlinuz-${pkgname}" + else + cp "arch/${KARCH}/boot/bzImage" "${pkgdir}/boot/vmlinuz-${pkgname}" + fi # add vmlinux install -D -m644 vmlinux "${pkgdir}/usr/src/linux-${_kernver}/vmlinux" @@ -140,6 +154,12 @@ package_linux-libre() { -e "s|fallback_image=.*|fallback_image=\"/boot/initramfs-${pkgname}-fallback.img\"|g" \ -i "${pkgdir}/etc/mkinitcpio.d/${pkgname}.preset" +# mkinitcpio 0.7 relies on bzImage to find the kernel version + if [ "$CARCH" == "mips64el" ]; then + sed -e "s|ALL_kver=.*|ALL_kver=\"${_kernver}\"|g" \ + -i "${pkgdir}/etc/mkinitcpio.d/${pkgname}.preset" + fi + # remove build and source links rm -f "${pkgdir}"/lib/modules/${_kernver}/{source,build} # remove the firmware @@ -159,6 +179,15 @@ package_linux-libre-headers() { conflicts=('kernel26-headers' 'kernel26-libre-headers' 'linux-headers') replaces=('kernel26-headers' 'kernel26-libre-headers' 'linux-headers') + KARCH=x86 + [ $CARCH = "mips64el" ] && KARCH=mips + +# In case of repackaging this is empty + if [ -z "${_kernver}" ]; then + cd ${srcdir}/linux-$pkgver + _kernver="$(make kernelrelease)" + fi + mkdir -p "${pkgdir}/lib/modules/${_kernver}" cd "${pkgdir}/lib/modules/${_kernver}" @@ -180,13 +209,19 @@ package_linux-libre-headers() { done # copy arch includes for external modules - mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/arch/x86" - cp -a arch/x86/include "${pkgdir}/usr/src/linux-${_kernver}/arch/x86/" + mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/arch/${KARCH}" + cp -a "arch/${KARCH}/include" "${pkgdir}/usr/src/linux-${_kernver}/arch/${KARCH}/" # copy files necessary for later builds cp Module.symvers "${pkgdir}/usr/src/linux-${_kernver}" cp -a scripts "${pkgdir}/usr/src/linux-${_kernver}" + if [ "$CARCH" = "mips64el" ]; then + cp "arch/${KARCH}/Kbuild" "${pkgdir}/usr/src/linux-${_kernver}/arch/${KARCH}/" + cp "arch/${KARCH}/loongson" "${pkgdir}/usr/src/linux-${_kernver}/arch/${KARCH}/" + cp "${srcdir}/Kbuild.platforms" "${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH/" + fi + # fix permissions on scripts dir chmod og-w -R "${pkgdir}/usr/src/linux-${_kernver}/scripts" mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/.tmp_versions" @@ -281,7 +316,12 @@ package_linux-libre-headers() { done # remove unneeded architectures - rm -rf "${pkgdir}"/usr/src/linux-${_kernver}/arch/{alpha,arm,arm26,avr32,blackfin,cris,frv,h8300,ia64,m32r,m68k,m68knommu,mips,microblaze,mn10300,parisc,powerpc,ppc,s390,sh,sh64,sparc,sparc64,um,v850,xtensa} + rm -rf "${pkgdir}"/usr/src/linux-${_kernver}/arch/{alpha,arm,arm26,avr32,blackfin,cris,frv,h8300,ia64,m32r,m68k,m68knommu,microblaze,mn10300,parisc,powerpc,ppc,s390,sh,sh64,sparc,sparc64,um,v850,xtensa} + if [ "$CARCH" = "mips64el" ]; then + rm -rf ${pkgdir}/usr/src/linux-${_kernver}/arch/x86 + else + rm -rf ${pkgdir}/usr/src/linux-${_kernver}/arch/mips + fi } package_linux-libre-docs() { @@ -300,14 +340,15 @@ package_linux-libre-docs() { # remove a file already in linux package rm -f "${pkgdir}/usr/src/linux-${_kernver}/Documentation/DocBook/Makefile" } -<<<<<<< HEAD -======= md5sums=('27c641c4f6785fc647cdd3e44963a55c' - 'eb37c323f6993d6cc963c61a1f482956' - '4e9be096386838d247672963f9af9ea8' + '6e0c99536652e7deb71acbadc980b586' + 'fb12372c5c7bc4e5328b38953616c7a5' + '92f62a90c1df8d74704a510d28146c52' + '576ba68b171efd4a3333736c30f334ef' 'a8a3843046926eb7ab81312cd438c5c5' + '2967cecc3af9f954ccc822fd63dca6ff' + '8267264d9a8966e57fdacd1fa1fc65c4' '04b21c79df0a952c22d681dd4f4562df' '9d3c56a4b999c8bfbd4018089a62f662' '263725f20c0b9eb9c353040792d644e5' - '52d41fa61e80277ace2b994412a0c856') ->>>>>>> ddf6b4309b9f9816e75828359a2d60a23a0ca68c + '4cd79aa147825837dc8bc9f6b736c0a0') diff --git a/libre/linux-libre/config.i686 b/libre/linux-libre/config.i686 index 71783fa50..9aace04bc 100644 --- a/libre/linux-libre/config.i686 +++ b/libre/linux-libre/config.i686 @@ -1,10 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -<<<<<<< HEAD -# Linux/i386 3.1.6-1 Kernel Configuration -======= # Linux/i386 3.2.0 Kernel Configuration ->>>>>>> ddf6b4309b9f9816e75828359a2d60a23a0ca68c # # CONFIG_64BIT is not set CONFIG_X86_32=y @@ -1297,7 +1293,8 @@ CONFIG_EXTRA_FIRMWARE="" CONFIG_REGMAP=y CONFIG_REGMAP_I2C=m CONFIG_REGMAP_SPI=y -CONFIG_CONNECTOR=m +CONFIG_CONNECTOR=y +CONFIG_PROC_EVENTS=y CONFIG_MTD=m CONFIG_MTD_TESTS=m CONFIG_MTD_REDBOOT_PARTS=m @@ -2269,13 +2266,11 @@ CONFIG_CARL9170_WPC=y CONFIG_ATH6KL=m # CONFIG_ATH6KL_DEBUG is not set CONFIG_B43=m -CONFIG_B43_BCMA=y CONFIG_B43_SSB=y CONFIG_B43_PCI_AUTOSELECT=y CONFIG_B43_PCICORE_AUTOSELECT=y CONFIG_B43_PCMCIA=y CONFIG_B43_SDIO=y -CONFIG_B43_BCMA_PIO=y CONFIG_B43_PIO=y CONFIG_B43_PHY_N=y CONFIG_B43_PHY_LP=y @@ -2294,7 +2289,10 @@ CONFIG_B43LEGACY_PIO=y CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y # CONFIG_B43LEGACY_DMA_MODE is not set # CONFIG_B43LEGACY_PIO_MODE is not set -# CONFIG_BRCMFMAC is not set +CONFIG_BRCMUTIL=m +CONFIG_BRCMSMAC=m +CONFIG_BRCMFMAC=m +# CONFIG_BRCMDBG is not set CONFIG_HOSTAP=m CONFIG_HOSTAP_FIRMWARE=y # CONFIG_HOSTAP_FIRMWARE_NVRAM is not set @@ -3318,11 +3316,7 @@ CONFIG_BCMA_POSSIBLE=y # # Broadcom specific AMBA # -CONFIG_BCMA=m -CONFIG_BCMA_BLOCKIO=y -CONFIG_BCMA_HOST_PCI_POSSIBLE=y -CONFIG_BCMA_HOST_PCI=y -# CONFIG_BCMA_DEBUG is not set +# CONFIG_BCMA is not set # # Multifunction device drivers diff --git a/libre/linux-libre/config.x86_64 b/libre/linux-libre/config.x86_64 index df37a6f20..42aafc2bb 100644 --- a/libre/linux-libre/config.x86_64 +++ b/libre/linux-libre/config.x86_64 @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86_64 3.1.6-1 Kernel Configuration +# Linux/x86_64 3.2.0 Kernel Configuration # CONFIG_64BIT=y # CONFIG_X86_32 is not set @@ -1252,7 +1252,8 @@ CONFIG_SYS_HYPERVISOR=y CONFIG_REGMAP=y CONFIG_REGMAP_I2C=m CONFIG_REGMAP_SPI=y -CONFIG_CONNECTOR=m +CONFIG_CONNECTOR=y +CONFIG_PROC_EVENTS=y CONFIG_MTD=m CONFIG_MTD_TESTS=m CONFIG_MTD_REDBOOT_PARTS=m @@ -2151,13 +2152,11 @@ CONFIG_CARL9170_WPC=y CONFIG_ATH6KL=m # CONFIG_ATH6KL_DEBUG is not set CONFIG_B43=m -CONFIG_B43_BCMA=y CONFIG_B43_SSB=y CONFIG_B43_PCI_AUTOSELECT=y CONFIG_B43_PCICORE_AUTOSELECT=y CONFIG_B43_PCMCIA=y CONFIG_B43_SDIO=y -CONFIG_B43_BCMA_PIO=y CONFIG_B43_PIO=y CONFIG_B43_PHY_N=y CONFIG_B43_PHY_LP=y @@ -2176,7 +2175,10 @@ CONFIG_B43LEGACY_PIO=y CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y # CONFIG_B43LEGACY_DMA_MODE is not set # CONFIG_B43LEGACY_PIO_MODE is not set -# CONFIG_BRCMFMAC is not set +CONFIG_BRCMUTIL=m +CONFIG_BRCMSMAC=m +CONFIG_BRCMFMAC=m +# CONFIG_BRCMDBG is not set CONFIG_HOSTAP=m CONFIG_HOSTAP_FIRMWARE=y # CONFIG_HOSTAP_FIRMWARE_NVRAM is not set @@ -3163,11 +3165,7 @@ CONFIG_BCMA_POSSIBLE=y # # Broadcom specific AMBA # -CONFIG_BCMA=m -CONFIG_BCMA_BLOCKIO=y -CONFIG_BCMA_HOST_PCI_POSSIBLE=y -CONFIG_BCMA_HOST_PCI=y -# CONFIG_BCMA_DEBUG is not set +# CONFIG_BCMA is not set # # Multifunction device drivers diff --git a/libre/linux-libre/i915-gpu-finish.patch b/libre/linux-libre/i915-gpu-finish.patch new file mode 100644 index 000000000..5840c9181 --- /dev/null +++ b/libre/linux-libre/i915-gpu-finish.patch @@ -0,0 +1,55 @@ +commit 389a55581e30607af0fcde6cdb4e54f189cf46cf +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Nov 29 15:12:16 2011 +0000 + + drm/i915: Only clear the GPU domains upon a successful finish + + By clearing the GPU read domains before waiting upon the buffer, we run + the risk of the wait being interrupted and the domains prematurely + cleared. The next time we attempt to wait upon the buffer (after + userspace handles the signal), we believe that the buffer is idle and so + skip the wait. + + There are a number of bugs across all generations which show signs of an + overly haste reuse of active buffers. + + Such as: + + https://bugs.freedesktop.org/show_bug.cgi?id=29046 + https://bugs.freedesktop.org/show_bug.cgi?id=35863 + https://bugs.freedesktop.org/show_bug.cgi?id=38952 + https://bugs.freedesktop.org/show_bug.cgi?id=40282 + https://bugs.freedesktop.org/show_bug.cgi?id=41098 + https://bugs.freedesktop.org/show_bug.cgi?id=41102 + https://bugs.freedesktop.org/show_bug.cgi?id=41284 + https://bugs.freedesktop.org/show_bug.cgi?id=42141 + + A couple of those pre-date i915_gem_object_finish_gpu(), so may be + unrelated (such as a wild write from a userspace command buffer), but + this does look like a convincing cause for most of those bugs. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + Cc: stable@kernel.org + Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> + Reviewed-by: Eugeni Dodonov <eugeni.dodonov@intel.com> + +diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c +index d560175..036bc58 100644 +--- a/drivers/gpu/drm/i915/i915_gem.c ++++ b/drivers/gpu/drm/i915/i915_gem.c +@@ -3087,10 +3087,13 @@ i915_gem_object_finish_gpu(struct drm_i915_gem_object *obj) + return ret; + } + ++ ret = i915_gem_object_wait_rendering(obj); ++ if (ret) ++ return ret; ++ + /* Ensure that we invalidate the GPU's caches and TLBs. */ + obj->base.read_domains &= ~I915_GEM_GPU_DOMAINS; +- +- return i915_gem_object_wait_rendering(obj); ++ return 0; + } + + /** diff --git a/libre/linux-libre/linux-libre.install b/libre/linux-libre/linux-libre.install index bab05ffce..f08840c94 100644 --- a/libre/linux-libre/linux-libre.install +++ b/libre/linux-libre/linux-libre.install @@ -2,11 +2,7 @@ # arg 2: the old package version KERNEL_NAME= -<<<<<<< HEAD -KERNEL_VERSION=3.1.6-1-LIBRE -======= -KERNEL_VERSION=3.2.0-1-LIBRE ->>>>>>> ddf6b4309b9f9816e75828359a2d60a23a0ca68c +KERNEL_VERSION=3.2.1-1-LIBRE post_install () { # updating module dependencies @@ -49,7 +45,6 @@ post_upgrade() { if findmnt --fstab -uno SOURCE /boot &>/dev/null && ! mountpoint -q /boot; then echo "WARNING: /boot appears to be a separate partition but is not mounted." - echo " You probably just broke your system. Congratulations." fi # updating module dependencies diff --git a/libre/mozilla-devscripts/PKGBUILD b/libre/mozilla-devscripts/PKGBUILD new file mode 100644 index 000000000..faa4b3a2a --- /dev/null +++ b/libre/mozilla-devscripts/PKGBUILD @@ -0,0 +1,31 @@ +# Maintainer: Michał Masłowski <mtjm@mtjm.eu> + +pkgname=mozilla-devscripts +pkgver=0.30 +pkgrel=1.1 +pkgdesc="Development scripts used by Debian Mozilla's addons packages" +arch=("any") +url="http://packages.debian.org/source/unstable/mozilla-devscripts" +license=('GPL' 'custom') +depends=("python2" "zip" "unzip") +_debrepo=http://ftp.debian.org/debian/pool/main/ +source=("${_debrepo}/m/${pkgname}/${pkgname}_${pkgver}.dsc" + "${_debrepo}/m/${pkgname}/${pkgname}_${pkgver}.tar.gz") +md5sums=("6e517cef69c115356eb808866fd29268" + "4e95fb93d0d93b56543d2a789d457309") + +build() { + cd "$srcdir/$pkgname-$pkgver" + # Adapt it to Arch's Python naming. + find . -type f | xargs -L1 sed -i "s:#!/usr/bin/python:#!/usr/bin/python2:" +} + +package() { + cd "$srcdir/$pkgname-$pkgver" + # The Makefile expects the system to have standard Python name, so + # do this directly here. + python2 setup.py install --root="$pkgdir/" + install -Dm644 debian/copyright "${pkgdir}/usr/share/licenses/${pkgname}/copyright" +} + +# vim:set ts=2 sw=2 et: diff --git a/libre/texlive-bin-libre/PKGBUILD b/libre/texlive-bin-libre/PKGBUILD index b5fb37c85..0074fb878 100644 --- a/libre/texlive-bin-libre/PKGBUILD +++ b/libre/texlive-bin-libre/PKGBUILD @@ -3,12 +3,12 @@ # Contributor: francois <francois.archlinux.org> pkgname=texlive-bin-libre -pkgver=2011.1 +pkgver=2011.3 _luatex_ver=0.70.1 -pkgrel=5.2 +pkgrel=1 pkgdesc="TeX Live binaries" license=('GPL') -arch=('i686' 'x86_64') +arch=('i686' 'x86_64' 'mips64el') depends=('t1lib' 'gd' 'poppler>=0.18.2' 'libsigsegv' 'zziplib') makedepends=('perl' 'clisp' 'ffcall' 'pkg-config') optdepends=('ed: for texconfig') @@ -21,9 +21,8 @@ install="texlive.install" source=('texmf.cnf' 'fix-fontforge-encoding.patch' '09-texlive-fonts.conf' - 'archlinux-build.patch' - 'http://mirrors.kernel.org/archlinux/other/texlive/texlive-bin-source-20110724.tar.xz' - 'http://mirrors.kernel.org/archlinux/other/texlive/texlive-bin-texmf-20110724.tar.xz' + 'http://mirrors.kernel.org/archlinux/other/texlive/texlive-bin-source-20111210.tar.xz' + 'http://mirrors.kernel.org/archlinux/other/texlive/texlive-bin-texmf-20111210.tar.xz' # "http://foundry.supelec.fr/gf/download/frsrelease/392/1730/luatex-beta-${_luatex_ver}.tar.bz2" 'http://ftp.archlinux.org/other/texlive/luatex-svn4356.tar.xz' ) @@ -41,19 +40,18 @@ backup=(etc/texmf/web2c/texmf.cnf \ etc/texmf/dvipdfm/config/config \ etc/texmf/xdvi/XDvi) -md5sums=('ff30d6813babd2e41c414365eea9c147' +md5sums=('220a4f4cc0d915bf8fcbcb553dcee1ae' 'bfb9716aa00c86c08cd31e5b32edeb98' '393a4bf67adc7ca5df2b386759d1a637' - '94ef5571a54262790ab64d6d044dd10c' - '58e8ab64188eaf15897b7acf472dca9f' - '9f7ae1aa24afd9e34289ac10a8f9e87b' + 'c7bb38c0ab30c2b64cf4cf83a736b35c' + '5d8f06a3683ce88a3c33e15f5ba6a858' 'e7f0197559ef865d8c01683dab3b8526') build() { cd $srcdir # Remove bundled packages available in Parabola or not needed. rm -rf source/{extra/{djgpp,xz},libs/{freetype2,gd,xpdf,libpng,zziplib,zlib,t1lib,poppler},utils/dialog} - rm -rf luatex-beta-0.70.1/source/libs/{libpng,zziplib,zlib,poppler} + rm -rf luatex/source/libs/{libpng,zziplib,zlib,poppler} # Building LuaTeX # cd luatex-beta-${_luatex_ver} cd luatex @@ -84,8 +82,7 @@ build() { --with-system-zlib \ --with-system-zziplib \ --with-system-t1lib \ - --disable-static \ - --enable-shared \ + --disable-shared \ --disable-largefile \ --disable-ipc \ --without-mf-x-toolkit \ @@ -103,11 +100,6 @@ build() { ############################################################# ### configure cd source - patch -Np1 -i ${srcdir}/archlinux-build.patch - for _dir in texk/tetex texk/texlive texk/tex4htk \ - utils/ps2eps utils/chktex utils/psutils utils/xindy; do - (cd ${_dir} && automake) || true - done ## prevent compiling Xdvi with libXp sed -i~ 's|-lXp ||' texk/xdvik/configure test ! -d Work && mkdir Work @@ -115,6 +107,7 @@ build() { echo "--> Initial configuration..." # we use temporary prefix to avoid messing the existing $pkgdir/usr/share/texmf tree ../configure --prefix=/usr -C \ + --sysconfdir=/etc \ --datarootdir=/usr/share \ --datadir=/usr/share \ --mandir=/usr/share/man \ @@ -174,16 +167,6 @@ package() { install -d -m755 $pkgdir/etc/texmf/xdvi install -d -m755 $pkgdir/etc/fonts/conf.avail install -m644 $srcdir/09-texlive-fonts.conf $pkgdir/etc/fonts/conf.avail/ - # replace upstream texmf.cnf with ours - rm -f $pkgdir/usr/share/texmf/web2c/texmf.cnf - install -m644 $srcdir/texmf.cnf $pkgdir/etc/texmf/web2c/texmf.cnf - # since the location of texmf.cnf is hard-wired to be under /usr/share/texmf/web2c - # we make a symlink from /etc/texmf/web2c/texmf.cnf to the latter - ln -s /etc/texmf/web2c/texmf.cnf $pkgdir/usr/share/texmf/web2c/texmf.cnf - # fix location of TEXMFCACHE for luatools - sed -i 's#texlive2010#texlive#' $pkgdir/usr/share/texmf/web2c/texmfcnf.lua - ## remove aleph from fmtutil.cnf - sed -i -e '/aleph/d' $pkgdir/usr/share/texmf/web2c/fmtutil.cnf # move man files to /usr/share/man for i in 1 5; do install -d -m755 $pkgdir/usr/share/man/man$i @@ -237,7 +220,18 @@ package() { echo "-------------------------------------------------------" cd Work make DESTDIR=${pkgdir} texmf=$pkgdir/usr/share/texmf install - rm -rf ${pkgdir}/usr/{texmf,texmf-dist} + rm -rf ${pkgdir}/usr/{texmf,share/texmf-dist} + + # replace upstream texmf.cnf with ours + rm -f $pkgdir/usr/share/texmf/web2c/texmf.cnf + install -m644 $srcdir/texmf.cnf $pkgdir/etc/texmf/web2c/texmf.cnf + # since the location of texmf.cnf is hard-wired to be under /usr/share/texmf/web2c + # we make a symlink from /etc/texmf/web2c/texmf.cnf to the latter + ln -sf /etc/texmf/web2c/texmf.cnf $pkgdir/usr/share/texmf/web2c/texmf.cnf + # fix location of TEXMFCACHE for luatools + sed -i 's#texlive2010#texlive#' $pkgdir/usr/share/texmf/web2c/texmfcnf.lua + ## remove aleph from fmtutil.cnf + sed -i -e '/aleph/d' $pkgdir/usr/share/texmf/web2c/fmtutil.cnf ## install luatex binary cd $srcdir/luatex/build/texk/web2c @@ -255,14 +249,20 @@ package() { LD_PRELOAD="${pkgdir}/usr/lib/libkpathsea.so.6" PATH="$PATH:${pkgdir}/usr/bin" texlinks -f $pkgdir/usr/share/texmf/web2c/fmtutil.cnf $pkgdir/usr/bin/ ############################################################# # remove dangling symlinks - _bibtexextra_scripts="bibexport" + _bibtexextra_scripts=" +bibexport +urlbst +" _core_scripts=" afm2afm arlatex autoinst bundledoc cmap2enc +ctanify +ctanupload de-macro +dosepsbin dviasm epstopdf findhyph @@ -275,6 +275,8 @@ latexdiff-vc latexmk latexrevise listings-ext.sh +match_parens +mf2pt1 mkjobtexmf mkluatexfontdb mkt1font @@ -306,6 +308,7 @@ texcount texdef texdiff texdirflatten +texliveonfly texloganalyser thumbpdf vpl2ovp @@ -344,4 +347,3 @@ vpe" done ################################################################### } - diff --git a/libre/texlive-bin-libre/texmf.cnf b/libre/texlive-bin-libre/texmf.cnf index 423d93e09..76975ee5c 100644 --- a/libre/texlive-bin-libre/texmf.cnf +++ b/libre/texlive-bin-libre/texmf.cnf @@ -200,6 +200,24 @@ TEXINPUTS.xelatex = .;$TEXMF/tex/{xelatex,latex,xetex,generic,}// TEXINPUTS.xeplain = .;$TEXMF/tex/{xeplain,eplain,plain,xetex,generic,}// TEXINPUTS.xetex = .;$TEXMF/tex/{xetex,plain,generic,}// +% Omega / Aleph. +TEXINPUTS.aleph = .;$TEXMF/tex/{plain,generic,}// +TEXINPUTS.elambda = .;$TEXMF/tex/{lambda,latex,generic,}// +TEXINPUTS.eomega = .;$TEXMF/tex/{plain,generic,}// +TEXINPUTS.lambda = .;$TEXMF/tex/{lambda,latex,generic,}// +TEXINPUTS.lamed = .;$TEXMF/tex/{lamed,lambda,latex,generic,}// +TEXINPUTS.omega = .;$TEXMF/tex/{plain,generic,}// + +% p(La)TeX. +TEXINPUTS.ptex = .;$TEXMF/tex/{ptex,ptexgeneric,plain,generic,}// +TEXINPUTS.platex = .;$TEXMF/tex/{platex,ptexgeneric,latex,generic,}// + +% epTeX. +TEXINPUTS.eptex = .;$TEXMF/tex/{ptex,ptexgeneric,plain,generic,}// + +% pBibTeX bibliographies and style files. +BIBINPUTS.pbibtex = .;$TEXMF/{pbibtex,bibtex}/bib// +BSTINPUTS.pbibtex = .;$TEXMF/{pbibtex,bibtex}/bst// % ConTeXt. TEXINPUTS.context = .;$TEXMF/tex/{context,plain,generic,}// @@ -285,6 +303,10 @@ BSTINPUTS = .;$TEXMF/bibtex/{bst,csf}// MLBIBINPUTS = .;$TEXMF/bibtex/bib/{mlbib,}// MLBSTINPUTS = .;$TEXMF/bibtex/{mlbst,bst}// +% .ris and .bltxml bibliography formats. +RISINPUTS = .;$TEXMF/bibtex/ris// +BLTXMLINPUTS = .;$TEXMF/bibtex/bltxml// + % MFT style files. MFTINPUTS = .;$TEXMF/mft// @@ -307,7 +329,7 @@ AFMFONTS = .;$TEXMF/fonts/afm//;$OSFONTDIR// % TrueType outline fonts. TTFONTS = .;$TEXMF/fonts/{truetype,opentype}//;$OSFONTDIR// -% Opentype outline fonts. +% OpenType outline fonts. OPENTYPEFONTS = .;$TEXMF/fonts/{opentype,truetype}//;$OSFONTDIR// % Type 42 outline fonts. @@ -331,9 +353,6 @@ CMAPFONTS = .;$TEXMF/fonts/cmap// % Subfont definition files. SFDFONTS = .;$TEXMF/fonts/sfd// -% OpenType outline fonts. -OPENTYPEFONTS = .;$TEXMF/fonts/opentype// - % OpenType feature files (.fea). FONTFEATURES=.;$TEXMF/fonts/fea// @@ -353,11 +372,13 @@ MPSUPPORT = .;$TEXMF/metapost/support MIMELIBDIR = /etc MAILCAPLIBDIR = /etc -% Default settings for fontconfig library, used by Windows versions of -% xetex/xdvipdfmx. On Unixish systems, fontconfig ignores this. -FONTCONFIG_FILE=fonts.conf -FONTCONFIG_PATH=$TEXMFSYSVAR/fonts/conf -FC_CACHEDIR=$TEXMFSYSVAR/fonts/cache +% Default settings for the fontconfig library as used by the Windows +% versions of xetex/xdvipdfmx. On Unixish systems, fontconfig ignores +% this. ConTeXT MkIV (all platforms) also use these values. +% +FONTCONFIG_FILE = fonts.conf +FONTCONFIG_PATH = $TEXMFSYSVAR/fonts/conf +FC_CACHEDIR = $TEXMFSYSVAR/fonts/cache % TeX documentation and source files, for use with texdoc and kpsewhich. TEXDOCS = $TEXMF/doc// @@ -392,10 +413,19 @@ TW_INIPATH = $TW_LIBPATH % would allow command execution. DVIPDFMXINPUTS = $TEXMF/dvipdfmx -% Find scripts that are distributed/installed in the texmf tree. - % Lua needs to look in TEXINPUTS for lua scripts distributed with packages. -LUAINPUTS = .;$TEXMF/scripts/{$progname,$engine,}/{lua,}//;$TEXINPUTS +% +% But we can't simply use $TEXINPUTS, since then if TEXINPUTS is set in +% the environment with a colon, say, TEXINPUTS=/some/dir:, the intended +% default expansion of TEXINPUTS will not happen and .lua files under +% the /tex/ will not be found. +% +% So, duplicate the TEXINPUTS.*lualatex values as LUAINPUTS.*lualatex. +% The default LUAINPUTS sufficess for luatex and dviluatex. +% +LUAINPUTS.lualatex = .;$TEXMF/scripts/{$progname,$engine,}/{lua,}//;$TEXMF/tex/{lualatex,latex,luatex,generic,}// +LUAINPUTS.dvilualatex = .;$TEXMF/scripts/{$progname,$engine,}/{lua,}//;$TEXMF/tex/{lualatex,latex,luatex,generic,}// +LUAINPUTS = .;$TEXMF/scripts/{$progname,$engine,}/{lua,}//;$TEXMF/tex/{luatex,plain,generic,}// % Lua needs to look for binary lua libraries distributed with packages. CLUAINPUTS = .;$SELFAUTOLOC/lib/{$progname,$engine,}/lua// @@ -563,7 +593,8 @@ TEX = etex % interactive `e' option. %d is replaced by the line number and %s by % the current filename. The default is specified at compile-time, and % we let that stay in place since different platforms like different values. -%TEXEDIT = vi +%d "%s" +%TEXEDIT = vi +%d '%s' % default for Unix +%TEXEDIT = texworks --position=+%d "%s" % default for Windows %MFEDIT = ${TEXEDIT} %MPEDIT = ${TEXEDIT} @@ -571,6 +602,18 @@ TEX = etex % given as command line option or environment variable. BIBTEX_CSFILE = 88591lat.csf +% This variable is specific to Windows. It must be set to 0 or 1. The +% default is 0. Setting it to 1 tells the Windows script wrappers to +% use an already installed Perl interpreter if one is found on the +% search path, in preference to the Perl shipped with TeX Live. Thus, +% it may be useful if you both (a) installed a full Perl distribution +% for general use, and (b) need to run Perl programs from TL that use +% additional modules we don't provide. The TL Perl does provide all the +% standard Perl modules. +% +%TEXLIVE_WINDOWS_TRY_EXTERNAL_PERL = 0 + + % Part 3: Array and other sizes for TeX (and Metafont). % % If you want to change some of these sizes only for a certain TeX @@ -644,6 +687,11 @@ param_size = 10000 % simultaneous macro parameters, also applies to MP save_size = 50000 % for saving values outside current group stack_size = 5000 % simultaneous input sources +% These are Omega-specific. +ocp_buf_size = 500000 % character buffers for ocp filters. +ocp_stack_size = 10000 % stacks for ocp computations. +ocp_list_size = 1000 % control for multiple ocps. + % These work best if they are the same as the I/O buffer size, but it % doesn't matter much. Must be a multiple of 8. dvi_buf_size = 16384 % TeX diff --git a/libre/texlive-core-libre/PKGBUILD b/libre/texlive-core-libre/PKGBUILD index ccf5c480f..be42680ad 100644 --- a/libre/texlive-core-libre/PKGBUILD +++ b/libre/texlive-core-libre/PKGBUILD @@ -3,7 +3,7 @@ pkgname=texlive-core-libre _pkgname=texlive-core -pkgver=2011.23170 +pkgver=2011.24722 _revnr=${pkgver#2011.} pkgrel=1 pkgdesc="TeX Live core distribution" @@ -29,7 +29,7 @@ source=("http://repo.parabolagnulinux.org/other/${pkgname}-${pkgver}.tar.xz" options=(!strip) install=texlive.install #backup=(etc/texmf/tex/context/config/cont-usr.tex) -md5sums=('304e164e22f8dee41bfd6c2f4758e394' +md5sums=('3cf22c52c9b2719d23ad1479e0ae3b3a' '490872c9981c40d20721de1e2fccccb8') mksource() { @@ -100,6 +100,8 @@ accfonts/vpl2vpl bundledoc/arlatex bundledoc/bundledoc context/perl/mptopdf.pl +ctanify/ctanify +ctanupload/ctanupload.pl de-macro/de-macro dviasm/dviasm.py epstopdf/epstopdf.pl @@ -114,11 +116,13 @@ fontools/showglyphs fragmaster/fragmaster.pl installfont/installfont-tl latex2man/latex2man -latexdiff/latexdiff.pl latexdiff/latexdiff-vc.pl +latexdiff/latexdiff.pl latexdiff/latexrevise.pl latexmk/latexmk.pl luaotfload/mkluatexfontdb.lua +match_parens/match_parens +mf2pt1/mf2pt1.pl mkjobtexmf/mkjobtexmf.pl oberdiek/pdfatfi.pl pdfcrop/pdfcrop.pl @@ -144,6 +148,7 @@ texdiff/texdiff texdirflatten/texdirflatten texloganalyser/texloganalyser thumbpdf/thumbpdf.pl +texliveonfly/texliveonfly.py " install -m755 -d $pkgdir/usr/bin for _script in ${_linked_scripts}; do diff --git a/libre/texlive-fontsextra-libre/PKGBUILD b/libre/texlive-fontsextra-libre/PKGBUILD index 9d296dd35..5565b19b5 100644 --- a/libre/texlive-fontsextra-libre/PKGBUILD +++ b/libre/texlive-fontsextra-libre/PKGBUILD @@ -3,7 +3,7 @@ pkgname=texlive-fontsextra-libre _pkgname=texlive-fontsextra -pkgver=2011.22691 +pkgver=2011.24706 _revnr=${pkgver#2011.} pkgrel=1 pkgdesc="TeX Live - all sorts of extra fonts" @@ -20,8 +20,8 @@ source=("http://repo.parabolagnulinux.org/other/${pkgname}-${pkgver}.tar.xz" options=('!emptydirs') options=(!strip) install=texlive.install -md5sums=('33f8fc7b7ff98c616a0a7a0b5844e603' - '5150fc36c158776c6317ac14bbd677ab') +md5sums=('d4bd3dbc8c422d049b082d0e8c70d088' + '6e84e4a8ee6a25adec39cd6310d9bef2') mksource() { [ -f ${_pkgname}-$pkgver-src.zip ] || wget ftp://ftp.archlinux.org/other/texlive/${_pkgname}-$pkgver-src.zip diff --git a/libre/texlive-fontsextra-libre/texlive-fontsextra.maps b/libre/texlive-fontsextra-libre/texlive-fontsextra.maps index 6bc0b19c2..4ef977ffa 100644 --- a/libre/texlive-fontsextra-libre/texlive-fontsextra.maps +++ b/libre/texlive-fontsextra-libre/texlive-fontsextra.maps @@ -19,8 +19,6 @@ Map MnSymbol.map Map MorrisIn.map Map Nouveaud.map Map OrnementsADF.map -Map PTSans-type1.map -Map PTSerif-type1.map Map Romantik.map Map Rothdn.map Map RoyalIn.map @@ -39,6 +37,7 @@ Map aurical.map Map belleek.map Map bera.map Map boondox.map +Map calligra.map Map cantarell.map Map ccicons.map Map clm.map @@ -46,9 +45,11 @@ Map cm-lgc.map Map cmin.map Map comfortaa.map Map cyklop.map +Map dejavu-type1.map Map dictsym.map Map droid.map Map dstroke.map +Map dutchcal.map Map epigrafica.map Map esvect.map Map fdsymbol.map @@ -58,6 +59,7 @@ Map foekfont.map Map fonetika.map Map fourier-utopia-expert.map Map fourier.map +Map frcursive.map Map gfsartemisia.map Map gfsbodoni.map Map gfscomplutum.map @@ -77,10 +79,14 @@ Map mdbch.map Map mdput.map Map mdugm.map Map ocrb.map +Map opensans.map +Map paratype-type1.map Map pbsi.map Map phaistos.map Map prodint.map +Map pxtx.map Map recycle.map +Map rsfso.map Map sqrcaps.map Map starfont.map Map tfrupee.map diff --git a/libre/texlive-latexextra-libre/PKGBUILD b/libre/texlive-latexextra-libre/PKGBUILD index b4c34a637..2093836c9 100644 --- a/libre/texlive-latexextra-libre/PKGBUILD +++ b/libre/texlive-latexextra-libre/PKGBUILD @@ -4,7 +4,7 @@ pkgname=texlive-latexextra-libre _pkgname=texlive-latexextra -pkgver=2011.22931 +pkgver=2011.24718 _revnr=${pkgver#2011.} pkgrel=1 pkgdesc="TeX Live - Large collection of add-on packages for LaTeX" @@ -25,7 +25,7 @@ source=("http://repo.parabolagnulinux.org/other/${pkgname}-${pkgver}.tar.xz" options=('!emptydirs') options=(!strip) install=texlive.install -md5sums=('243f308790ad95e40a80526fecfdb7c1' +md5sums=('adab55bb38506c25f3176af64cf30f27' '9e4825f47dac663dd62c4bfa67899e84') mksource() { diff --git a/libre/xmlstarlet/PKGBUILD b/libre/xmlstarlet/PKGBUILD new file mode 100644 index 000000000..a06daf063 --- /dev/null +++ b/libre/xmlstarlet/PKGBUILD @@ -0,0 +1,29 @@ +# From https://aur.archlinux.org/packages.php?ID=20101. +# Maintainer: PyroPeter <abi1789@googlemail.com> +# Contributor: BlackEagle <ike.devolder@scarlet.be> +# Contributor: chochem <chochem@gmail.com> + +pkgname=xmlstarlet +pkgver=1.3.1 +pkgrel=1 +pkgdesc="A set of tools to transform, query, validate, and edit XML documents" +arch=('i686' 'x86_64') +url="http://xmlstar.sourceforge.net/" +license=('custom:MIT') +depends=('libxslt>=1.1.9') +source=("xmlstarlet-$pkgver.tar.gz::http://sourceforge.net/projects/xmlstar/files/xmlstarlet/$pkgver/xmlstarlet-$pkgver.tar.gz/download") +md5sums=('5173ad3f01ec0ba0d54bd1fbfc057abf') + +build() { + cd "$srcdir/$pkgname-$pkgver" + local xsltlibs=$(pkg-config --libs libxslt libexslt) + local xmllibs=$(pkg-config --libs libxml-2.0) + + LIBXSLT_PREFIX=/usr LIBXML_PREFIX=/usr LIBXSLT_LIBS="${xsltlibs}" LIBXML_LIBS="${xmllibs}" ./configure --prefix=/usr + + make + make DESTDIR="${pkgdir}" install + mkdir -p $pkgdir/usr/share/licenses/$pkgname + cp Copyright $pkgdir/usr/share/licenses/$pkgname/COPYING + ln -s /usr/bin/xml ${pkgdir}/usr/bin/xmlstarlet +} diff --git a/libre/your-freedom/PKGBUILD b/libre/your-freedom/PKGBUILD index a7f25c7bb..68fe8b673 100644 --- a/libre/your-freedom/PKGBUILD +++ b/libre/your-freedom/PKGBUILD @@ -2,22 +2,18 @@ pkgname=your-freedom pkgver=$(LC_ALL=C date -u +%Y%m%d) pkgrel=1 -pkgdesc="This package conflicts with every unfree package known to date." +pkgdesc="This package conflicts with every unfree package known to date to ensure your system is free." arch=('any') url="https://parabolagnulinux.org" -license=('GPL') +license=('GPL3') groups=('base') install=${pkgname}.install -source=() -md5sums=() -noextract=() +source=(https://projects.parabolagnulinux.org/blacklist.git/plain/blacklist.txt) build() { cd ${srcdir} - wget http://repo.parabolagnulinux.org/docs/blacklist.txt - wget http://repo.parabolagnulinux.org/docs/whitelist.txt install -d ${pkgdir}/usr/share/doc/${pkgname} - install -m644 {black,white}list.txt ${pkgdir}/usr/share/doc/${pkgname}/ + install -m644 blacklist.txt ${pkgdir}/usr/share/doc/${pkgname}/ } package() { @@ -27,3 +23,4 @@ package() { sort -u )) } +md5sums=('980d8ab2f9886d648a700a7a909488d9') diff --git a/mozilla-testing/icecat-i18n/PKGBUILD b/mozilla-testing/icecat-i18n/PKGBUILD index 62f06df8e..d5b95e811 100644 --- a/mozilla-testing/icecat-i18n/PKGBUILD +++ b/mozilla-testing/icecat-i18n/PKGBUILD @@ -1,4 +1,5 @@ -# Maintainer: fauno <fauno@kiwwwi.com.ar> +# Maintainer: Luke Shumaker <lukeshu@sbcglobal.net> +# Contributor: fauno <fauno@kiwwwi.com.ar> # Contributor: Figue <ffigue@gmail.com> # Based on firefox-i18n package diff --git a/mozilla-testing/icecat/PKGBUILD b/mozilla-testing/icecat/PKGBUILD index b2b5eadef..4379ee60c 100644 --- a/mozilla-testing/icecat/PKGBUILD +++ b/mozilla-testing/icecat/PKGBUILD @@ -1,3 +1,4 @@ +# Contributor (ConnochaetOS): Henry Jensen <hjensen@connochaetos.org> # Contributor (Parabola): Luke Shumaker <lukeshu@sbcglobal.net> # Contributor: Figue <ffigue at gmail> # Contributor (Parabola): fauno <fauno@kiwwwi.com.ar> @@ -10,12 +11,20 @@ # If you are updating this package, don't forget to update the version number in # the value for 'browser.dictionaries.download.url' in 'libre.patch' -pkgname=icecat +_pgo=false + +_pkgname=icecat pkgver=9.0.1 pkgrel=2 + +if [ -z "$pkgname" ]; then pkgname=$_pkgname; fi +if $_pgo; then + pkgname+='-pgo' +fi + pkgdesc="The GNUzilla web browser, based on Mozilla Firefox. SafeBrowsing and other Google services disabled!" arch=('i686' 'x86_64' 'mips64el') -license=('MPL' 'GPL' 'LGPL') +license=('GPL2' 'MPL' 'LGPL') depends=( 'alsa-lib' 'dbus-glib' @@ -39,85 +48,97 @@ makedepends=( 'diffutils' 'libidl2' 'mesa' - 'p7zip-libre' 'pkg-config' 'python2' + 'unzip' 'wireless_tools' - 'xorg-server-xvfb' 'yasm' 'zip' ) +if $_pgo; then + makedepends+=('xorg-server-xvfb') + options=(!ccache) +fi + url="http://www.gnu.org/software/gnuzilla/" install=icecat.install source=(ftp://ftp.gnu.org/gnu/gnuzilla/${pkgver}/${pkgname}-${pkgver}.tar.xz mozconfig + mozconfig.pgo icecat.desktop icecat-safe.desktop libre.patch firefox-install-dir.patch vendor.js) +if [ "$_pkgname" != "$pkgname" ]; then + provides+=("$_pkgname") + conflicts+=("$_pkgname") +fi + build() { - cd "$srcdir/$pkgname-$pkgver" + mv "$_pkgname-$pkgver" "$srcdir/mozilla-build" + cd "$srcdir/mozilla-build" cp "$srcdir/mozconfig" .mozconfig # Load our build config, disable SafeSearch patch -Np1 -i "$srcdir/firefox-install-dir.patch" # install to /usr/lib/$pkgname patch -Np1 -i "$srcdir/libre.patch" # Remove Google+Mozilla stuff + if $_pgo; then + cat "$srcdir/mozconfig.pgo" >> .mozconfig + fi + # Fix PRE_RELEASE_SUFFIX sed -i '/^PRE_RELEASE_SUFFIX := ""/s/ ""//' \ browser/base/Makefile.in - export LDFLAGS="$LDFLAGS -Wl,-rpath,/usr/lib/$pkgname" + export LDFLAGS="$LDFLAGS -Wl,-rpath,/usr/lib/$_pkgname" export PYTHON="/usr/bin/python2" - LD_PRELOAD="" /usr/bin/Xvfb -nolisten tcp -extension GLX -screen 0 1280x1024x24 :99 & - LD_PRELOAD="" DISPLAY=:99 make -j1 -f client.mk profiledbuild MOZ_MAKE_FLAGS="$MAKEFLAGS" - kill $! || true + if $_pgo; then + LD_PRELOAD="" /usr/bin/Xvfb -nolisten tcp -extension GLX -screen 0 1280x1024x24 :99 & + LD_PRELOAD="" DISPLAY=:99 make -j1 -f client.mk profiledbuild MOZ_MAKE_FLAGS="$MAKEFLAGS" + kill $! || true + else + LD_PRELOAD="" make -j1 -f client.mk build MOZ_MAKE_FLAGS="$MAKEFLAGS" + fi } package() { - cd "$srcdir/$pkgname-$pkgver" + cd "$srcdir/mozilla-build" make -j1 -f client.mk DESTDIR="$pkgdir" install - install -m644 "$srcdir"/vendor.js "$pkgdir/usr/lib/$pkgname/defaults/pref" + install -m644 "$srcdir"/vendor.js "$pkgdir/usr/lib/$_pkgname/defaults/pref" brandingdir="browser/branding/unofficial" + icondir="$pkgdir/usr/share/icons/hicolor" for i in 16x16 32x32 48x48; do - install -Dm644 "$brandingdir/default${i/x*/}.png" "$pkgdir/usr/share/icons/hicolor/$i/apps/$pkgname.png" + install -Dm644 "$brandingdir/default${i/x*/}.png" "$icondir/$i/apps/$_pkgname.png" done install -d "$pkgdir/usr/share/applications" install -m644 "$srcdir/icecat.desktop" "$pkgdir/usr/share/applications" install -m644 "$srcdir/icecat-safe.desktop" "$pkgdir/usr/share/applications" - rm -rf "$pkgdir/usr/lib/$pkgname/"{dictionaries,hyphenation,searchplugins,plugins} - ln -sf /usr/share/hunspell "$pkgdir/usr/lib/$pkgname/dictionaries" - ln -sf /usr/share/hyphen "$pkgdir/usr/lib/$pkgname/hyphenation" - ln -sf /usr/lib/mozilla/plugins "$pkgdir/usr/lib/$pkgname/plugins" - ln -sf /usr/lib/mozilla/searchplugins "$pkgdir/usr/lib/$pkgname/searchplugins" + rm -rf "$pkgdir/usr/lib/$_pkgname/"{dictionaries,hyphenation,searchplugins,plugins} + ln -sf /usr/share/hunspell "$pkgdir/usr/lib/$_pkgname/dictionaries" + ln -sf /usr/share/hyphen "$pkgdir/usr/lib/$_pkgname/hyphenation" + ln -sf /usr/lib/mozilla/plugins "$pkgdir/usr/lib/$_pkgname/plugins" + ln -sf /usr/lib/mozilla/searchplugins "$pkgdir/usr/lib/$_pkgname/searchplugins" # We don't want the development stuff - rm -rf "$pkgdir"/usr/{include,lib/$pkgname-devel,share/idl} + rm -rf "$pkgdir"/usr/{include,lib/$_pkgname-devel,share/idl} # Fix a bug with https-everywhere (duplicate rules) rm -f "$pkgdir/usr/lib/$pkgname/extensions/https-everywhere@eff.org/chrome/content/rules/GoogleMaps.xml~HEAD" # Workaround for now: https://bugzilla.mozilla.org/show_bug.cgi?id=658850 - ln -sf $pkgname "$pkgdir/usr/lib/$pkgname/$pkgname-bin" + ln -sf $_pkgname "$pkgdir/usr/lib/$_pkgname/$_pkgname-bin" } md5sums=('a135581da2fd2845f268d7ca91054c06' - '9c0cd5b45a3c4b04b872b6a900f62286' - '0e5057d9427c6cd5e2f3b78fe34f50d9' - '44959606e4a704e68a913e73fc941926' - 'e81ad01dbc16ba28bf92ba4b7c309ca7' - 'd93fe402b87cd000a869e1fd6badc6c9' - '07e65752416e615fe04ce586bc58f86b' - '1e4bcac59e93d21fffa6a1d1ad235247' - '0d053487907de4376d67d8f499c5502b') -md5sums=('a135581da2fd2845f268d7ca91054c06' - '9c0cd5b45a3c4b04b872b6a900f62286' + '6f3a8fd65c416216a1b56b0c2d2d81aa' + 'ac29b01c189f20abae2f3eef1618ffc0' 'e81ad01dbc16ba28bf92ba4b7c309ca7' 'd93fe402b87cd000a869e1fd6badc6c9' '07e65752416e615fe04ce586bc58f86b' diff --git a/mozilla-testing/icecat/mozconfig b/mozilla-testing/icecat/mozconfig index c1305ac60..b769079d8 100644 --- a/mozilla-testing/icecat/mozconfig +++ b/mozilla-testing/icecat/mozconfig @@ -33,14 +33,9 @@ ac_add_options --disable-installer # Optimization ac_add_options --enable-optimize -# PGO -ac_add_options --enable-profile-guided-optimization -mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/ff-pgo -mk_add_options PROFILE_GEN_SCRIPT='$(PYTHON) $(MOZ_OBJDIR)/_profile/pgo/profileserver.py' -mk_add_options PYTHONPATH='$(OBJDIR)/_profile/pgo' - export MOZILLA_OFFICIAL=1 mk_add_options MOZILLA_OFFICIAL=1 +mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/moz-objdir # IceCat export MOZ_PHOENIX=1 @@ -55,3 +50,5 @@ ac_add_options --with-user-appdir=.gnuzilla ac_add_options --disable-safe-browsing export BUILD_OFFICIAL=1 mk_add_options BUILD_OFFICIAL=1 + +# Build-generated diff --git a/mozilla-testing/icecat/mozconfig.pgo b/mozilla-testing/icecat/mozconfig.pgo new file mode 100644 index 000000000..b0c249ebf --- /dev/null +++ b/mozilla-testing/icecat/mozconfig.pgo @@ -0,0 +1,4 @@ +# PGO +ac_add_options --enable-profile-guided-optimization +mk_add_options PROFILE_GEN_SCRIPT='$(PYTHON) $(MOZ_OBJDIR)/_profile/pgo/profileserver.py' +mk_add_options PYTHONPATH='$(OBJDIR)/_profile/pgo' diff --git a/mozilla-testing/iceweasel-i18n/Makefile b/mozilla-testing/iceweasel-i18n/Makefile index 64e140af6..d596111f3 100644 --- a/mozilla-testing/iceweasel-i18n/Makefile +++ b/mozilla-testing/iceweasel-i18n/Makefile @@ -13,7 +13,7 @@ debrel=1 debrepo=http://ftp.debian.org/debian/pool/main/ pkgver=9.0 -pkgrel=2 +pkgrel=2.1 # Guts: ############################################################## diff --git a/mozilla-testing/iceweasel-i18n/PKGBUILD b/mozilla-testing/iceweasel-i18n/PKGBUILD index 8a744f7a5..fd56f38bb 100644 --- a/mozilla-testing/iceweasel-i18n/PKGBUILD +++ b/mozilla-testing/iceweasel-i18n/PKGBUILD @@ -14,6 +14,7 @@ _debrel=1 _debrepo=http://ftp.debian.org/debian/pool/main/ debfile() { echo $@|sed -r 's@(.).*@\1/&/&@'; } +# echo $(ls src/iceweasel-l10n-*+debian/upstream/ | sed 's/\.xpi/ /') _langpacks=(af ak ar ast as be bg bn-BD bn-IN br bs ca cs cy da de dz-BT el en-GB en-US en-ZA eo es-AR es-CL es-ES es-MX et eu fa-IR fa fi fr fur-IT fy-NL ga-IE gd gl gu-IN he hi-IN hr hu hy-AM id is it ja ka kk kn ko ku lg lt lv mai mk ml mn mr nb-NO ne-NP nl nn-NO nso oc or pa-IN pl pt-BR pt-PT rm ro ru si sk sl son sq sr sv-SE ta-LK ta te th tr uk vi zh-CN zh-TW zu) pkgbase=iceweasel-i18n @@ -22,13 +23,14 @@ pkgname=($(for lang in ${_langpacks[@]} done)) _pkgver=9.0 pkgver=${_debver}.${_debrel} -pkgrel=2 +pkgrel=2.1 pkgdesc="Language packs for Debian Iceweasel." arch=('any') url="http://www.geticeweasel.org/" license=('MPL') -depends=("iceweasel=${_pkgver}") +depends=("iceweasel-libre>=$_pkgver") +makedepends=("mozilla-devscripts" "xmlstarlet") source=("${_debrepo}/`debfile ${_debname}`_${_debver}.orig.tar.gz" "${_debrepo}/`debfile ${_debname}`_${_debver}-${_debrel}.diff.gz" "${_debrepo}/`debfile ${_debname}`_${_debver}-${_debrel}.dsc") @@ -46,16 +48,23 @@ dpkg-source() { build() { cd "${srcdir}" dpkg-source -x ${_debname}_${_debver}-${_debrel}.dsc + patch -Np0 -i ${_debname}_${_debver}-${_debrel}.diff + cd ${_debname}-${_debver} + # Fix broken files or avoid unnecessary dependencies. + sed -i 's/$TARGET/$TARGET ; exit/' debian/build-script.sh + # Langpacks initially state to support exactly one browser version, + # Debian fixes this. + sh debian/build-script.sh override_dh_auto_build 9 21 } -_path="/usr/lib/iceweasel-${_pkgver}/extensions" +_path="/usr/lib/iceweasel/extensions" for lang in ${_langpacks[@]} do eval " package_iceweasel-i18n-$(echo $lang | tr A-Z a-z) () { - install -Dm644 '$srcdir/'*'/upstream/$lang.xpi' \"\$pkgdir\"'$_path/langpack-$lang@firefox.mozilla.org.xpi' + install -Dm644 '$srcdir/'*'/build/$lang.xpi' \"\$pkgdir\"'$_path/langpack-$lang@firefox.mozilla.org.xpi' } " done diff --git a/mozilla-testing/iceweasel-i18n/PKGBUILD.in b/mozilla-testing/iceweasel-i18n/PKGBUILD.in index 691c80c0e..05477caef 100644 --- a/mozilla-testing/iceweasel-i18n/PKGBUILD.in +++ b/mozilla-testing/iceweasel-i18n/PKGBUILD.in @@ -28,7 +28,7 @@ pkgdesc="Language packs for Debian Iceweasel." arch=('any') url="http://www.geticeweasel.org/" license=('MPL') -depends=("iceweasel=${_pkgver}") +depends=("iceweasel=$_pkgver") source=("${_debrepo}/`debfile ${_debname}`_${_debver}.orig.tar.gz" "${_debrepo}/`debfile ${_debname}`_${_debver}-${_debrel}.diff.gz" "${_debrepo}/`debfile ${_debname}`_${_debver}-${_debrel}.dsc") diff --git a/mozilla-testing/iceweasel-libre/PKGBUILD b/mozilla-testing/iceweasel-libre/PKGBUILD index c0febff7c..9ade92f8b 100644 --- a/mozilla-testing/iceweasel-libre/PKGBUILD +++ b/mozilla-testing/iceweasel-libre/PKGBUILD @@ -1,5 +1,12 @@ -# Maintainer: Luke Shumaker <lukeshu@sbcglobal.net> -# Contributor: Henry Jensen <hjensen@connochaetos.org> +# Contributor (ConnochaetOS): Henry Jensen <hjensen@connochaetos.org> +# Contributor (Parabola): Luke Shumaker <lukeshu@sbcglobal.net> +# Contributor: Figue <ffigue at gmail> +# Contributor (Parabola): fauno <fauno@kiwwwi.com.ar> +# Contributor (Parabola): vando <facundo@esdebian.org> +# Contributor (Arch): Jakub Schmidtke <sjakub@gmail.com> +# Thank you very much to the older contributors: +# Contributor: evr <evanroman at gmail> +# Contributor: Muhammad 'MJ' Jassim <UnbreakableMJ@gmail.com> _pgo=false @@ -13,8 +20,9 @@ debfile() { echo $@|sed -r 's@(.).*@\1/&/&@'; } _pkgname=iceweasel pkgname=iceweasel-libre pkgver=${_debver}.${_debrel} -pkgrel=2 +pkgrel=2.1 +if [ -z "$pkgname" ]; then pkgname=$_pkgname; fi if $_pgo; then pkgname+='-pgo' fi @@ -48,10 +56,10 @@ makedepends=( 'librsvg' 'libxslt' 'mesa' - 'p7zip-libre' 'pkg-config' 'python2' 'quilt' + 'unzip' 'wireless_tools' 'yasm' 'zip' @@ -74,9 +82,8 @@ source=("${_debrepo}/`debfile ${_debname}`_${_debver}.orig.tar.bz2" region.properties vendor.js) -if [ -z "$_pkgname" ]; then _pkgname=$pkgname; fi if [ "$_pkgname" != "$pkgname" ]; then - provides+=("$_pkgname") + provides+=("$_pkgname=$pkgver") conflicts+=("$_pkgname") fi @@ -98,13 +105,10 @@ build() { cd "${srcdir}" dpkg-source -x ${_debname}_${_debver}-${_debrel}.dsc - # This will make life more sane - cd "${srcdir}" - ln -s "${_debname}-${_debver}" "${_pkgname}-${pkgver}" - msg2 "Starting normal build..." - cd "$srcdir/$_pkgname-$pkgver" - + mv "${_debname}-${_debver}" "$srcdir/mozilla-build" + cd "$srcdir/mozilla-build" + cp "$srcdir/mozconfig" .mozconfig # Load our build config, disable SafeSearch patch -Np1 -i "$srcdir/iceweasel-install-dir.patch" # install to /usr/lib/$_pkgname patch -Np1 -i "$srcdir/xulrunner-copy-stub.patch" # small fix @@ -132,7 +136,7 @@ build() { } package() { - cd "$srcdir/$_pkgname-$pkgver" + cd "$srcdir/mozilla-build" make -j1 -f client.mk DESTDIR="$pkgdir" install install -m644 "$srcdir"/vendor.js "$pkgdir/usr/lib/$_pkgname/defaults/pref" diff --git a/multilib-staging/wine/PKGBUILD b/multilib-staging/wine/PKGBUILD new file mode 100644 index 000000000..ea98cf97f --- /dev/null +++ b/multilib-staging/wine/PKGBUILD @@ -0,0 +1,147 @@ +# $Id: PKGBUILD 62541 2012-01-20 19:26:11Z bluewind $ +# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com> +# Contributor: Jan "heftig" Steffens <jan.steffens@gmail.com> +# Contributor: Eduardo Romero <eduardo@archlinux.org> +# Contributor: Giovanni Scafora <giovanni@archlinux.org> + +pkgname=wine +pkgver=1.3.37 +pkgrel=2 + +_pkgbasever=${pkgver/rc/-rc} + +source=(http://ibiblio.org/pub/linux/system/emulators/$pkgname/$pkgname-$_pkgbasever.tar.bz2) +md5sums=('4bf25be22c130765283d9953d03b65c4') + +pkgdesc="A compatibility layer for running Windows programs" +url="http://www.winehq.com" +arch=(i686 x86_64) +license=(LGPL) +install=wine.install + +depends=( + fontconfig lib32-fontconfig + mesa lib32-mesa + libxcursor lib32-libxcursor + libxrandr lib32-libxrandr + libxdamage lib32-libxdamage + libxi lib32-libxi + gettext lib32-gettext + desktop-file-utils +) + +makedepends=(autoconf ncurses bison perl fontforge flex prelink + 'gcc>=4.5.0-2' 'gcc-multilib>=4.5.0-2' + giflib lib32-giflib + libpng lib32-libpng + gnutls lib32-gnutls + libxinerama lib32-libxinerama + libxcomposite lib32-libxcomposite + libxmu lib32-libxmu + libxxf86vm lib32-libxxf86vm + libxml2 lib32-libxml2 + libldap lib32-libldap + lcms lib32-lcms + mpg123 lib32-mpg123 + openal lib32-openal + v4l-utils lib32-v4l-utils + alsa-lib lib32-alsa-lib + oss +) + +optdepends=( + giflib lib32-giflib + libpng lib32-libpng + libldap lib32-libldap + gnutls lib32-gnutls + lcms lib32-lcms + libxml2 lib32-libxml2 + mpg123 lib32-mpg123 + openal lib32-openal + v4l-utils lib32-v4l-utils + libpulse lib32-libpulse + alsa-plugins lib32-alsa-plugins + alsa-lib lib32-alsa-lib + oss cups +) + +if [[ $CARCH == i686 ]]; then + # Strip lib32 etc. on i686 + depends=(${depends[@]/*32-*/}) + makedepends=(${makedepends[@]/*32-*/}) + makedepends=(${makedepends[@]/*-multilib*/}) + optdepends=(${optdepends[@]/*32-*/}) +else + provides=("bin32-wine=$pkgver" "wine-wow64=$pkgver") + conflicts=('bin32-wine' 'wine-wow64') + replaces=('bin32-wine') +fi + +build() { + cd "$srcdir" + + # Allow ccache to work + mv $pkgname-$_pkgbasever $pkgname + + # Get rid of old build dirs + rm -rf $pkgname-{32,64}-build + mkdir $pkgname-32-build + + # These additional CFLAGS solve FS#27662 + export CFLAGS="${CFLAGS/-D_FORTIFY_SOURCE=2/} -D_FORTIFY_SOURCE=0" + export CXXFLAGS="${CFLAGS/-D_FORTIFY_SOURCE=2/} -D_FORTIFY_SOURCE=0" + + if [[ $CARCH == x86_64 ]]; then + msg2 "Building Wine-64..." + + mkdir $pkgname-64-build + cd "$srcdir/$pkgname-64-build" + ../$pkgname/configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --libdir=/usr/lib \ + --with-x \ + --enable-win64 + + make + + _wine32opts=( + --libdir=/usr/lib32 + --with-wine64="$srcdir/$pkgname-64-build" + ) + + export PKG_CONFIG_PATH="/usr/lib32/pkgconfig" + fi + + msg2 "Building Wine-32..." + cd "$srcdir/$pkgname-32-build" + ../$pkgname/configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --with-x \ + "${_wine32opts[@]}" + + # These additional CFLAGS solve FS#27560 + make CFLAGS+="-mstackrealign" CXXFLAGS+="-mstackrealign" +} + +package() { + msg2 "Packaging Wine-32..." + cd "$srcdir/$pkgname-32-build" + + if [[ $CARCH == i686 ]]; then + make prefix="$pkgdir/usr" install + else + make prefix="$pkgdir/usr" \ + libdir="$pkgdir/usr/lib32" \ + dlldir="$pkgdir/usr/lib32/wine" install + + msg2 "Packaging Wine-64..." + cd "$srcdir/$pkgname-64-build" + make prefix="$pkgdir/usr" \ + libdir="$pkgdir/usr/lib" \ + dlldir="$pkgdir/usr/lib/wine" install + fi +} + +# vim:set ts=8 sts=2 sw=2 et: diff --git a/multilib-staging/wine/wine.install b/multilib-staging/wine/wine.install new file mode 100644 index 000000000..0548b7ffd --- /dev/null +++ b/multilib-staging/wine/wine.install @@ -0,0 +1,12 @@ +post_install() { + update-desktop-database -q + #echo "This wine package is wow64 enabled. This means it can run 32bit/64bit Windows apps on x86_64." + #echo "If you are on x86_64, the default WINEARCH will be win64." + #echo "This will cause a lot of Windows applications to malfunction even if they usually work in wine." + #echo "Please create your ~/.wine with 'WINEARCH=win32 winecfg' if you are unsure and on x86_64." + #echo "See the Arch wiki on wine for more information." +} + +post_remove() { + update-desktop-database -q +} diff --git a/multilib/lib32-gmp/538dfce27f41.patch b/multilib/lib32-gmp/538dfce27f41.patch new file mode 100644 index 000000000..2e0a1af50 --- /dev/null +++ b/multilib/lib32-gmp/538dfce27f41.patch @@ -0,0 +1,38 @@ + +# HG changeset patch +# User Torbjorn Granlund <tege@gmplib.org> +# Date 1310730221 -7200 +# Node ID 538dfce27f410b910d5e2f011119269e224d16a3 +# Parent 03ed209dd7efd4f4fff0ce297bb3a8f7e7ba2366 +(mpn_dcpi1_bdiv_q): Get mpn_sub_1 size argument right. + +diff -r 03ed209dd7ef -r 538dfce27f41 mpn/generic/dcpi1_bdiv_q.c +--- a/mpn/generic/dcpi1_bdiv_q.c Thu Jun 16 12:22:24 2011 +0200 ++++ b/mpn/generic/dcpi1_bdiv_q.c Fri Jul 15 13:43:41 2011 +0200 +@@ -7,7 +7,7 @@ + SAFE TO REACH THEM THROUGH DOCUMENTED INTERFACES. IN FACT, IT IS ALMOST + GUARANTEED THAT THEY WILL CHANGE OR DISAPPEAR IN A FUTURE GMP RELEASE. + +-Copyright 2006, 2007, 2009, 2010 Free Software Foundation, Inc. ++Copyright 2006, 2007, 2009, 2010, 2011 Free Software Foundation, Inc. + + This file is part of the GNU MP Library. + +@@ -28,7 +28,6 @@ + #include "gmp-impl.h" + + +- + mp_size_t + mpn_dcpi1_bdiv_q_n_itch (mp_size_t n) + { +@@ -130,7 +129,7 @@ + qn = nn - qn; + while (qn > dn) + { +- mpn_sub_1 (np + dn, np + dn, qn, cy); ++ mpn_sub_1 (np + dn, np + dn, qn - dn, cy); + cy = mpn_dcpi1_bdiv_qr_n (qp, np, dp, dn, dinv, tp); + qp += dn; + np += dn; + diff --git a/multilib/lib32-gmp/PKGBUILD b/multilib/lib32-gmp/PKGBUILD new file mode 100644 index 000000000..e6e82e060 --- /dev/null +++ b/multilib/lib32-gmp/PKGBUILD @@ -0,0 +1,50 @@ +# Maintainer: Florian Pritz <bluewind@xinu.at> +# Contributor: josephgbr <rafael.f.f1@gmail.com> + +_pkgbasename=gmp +pkgname=lib32-$_pkgbasename +pkgver=5.0.2 +pkgrel=6 +pkgdesc="A free library for arbitrary precision arithmetic (32-bit)" +arch=('x86_64') +url="http://gmplib.org/" +depends=('lib32-gcc-libs' $_pkgbasename) +makedepends=(gcc-multilib) +license=('LGPL3') +options=(!libtool) +source=(ftp://ftp.gnu.org/gnu/gmp/gmp-${pkgver}.tar.bz2 + 538dfce27f41.patch) +md5sums=('0bbaedc82fb30315b06b1588b9077cd3' + 'a769be9c41618ca9c35d83375e7097d0') + +build() { + export CC="gcc -m32" + export CXX="g++ -m32" + export PKG_CONFIG_PATH="/usr/lib32/pkgconfig" + + cd "${srcdir}/${_pkgbasename}-${pkgver}" + patch -Np1 -i $srcdir/538dfce27f41.patch + + export ABI=32 + ./configure \ + --prefix=/usr --infodir=/usr/share/info \ + --enable-cxx --libdir=/usr/lib32 \ + --includedir=/usr/lib32/gmp + + #Put gmp.h in the same folder as gmpxx.h + sed -i 's/$(exec_prefix)\/include/$\(includedir\)/' Makefile + + make +} + +check() { + cd "${srcdir}/${_pkgbasename}-${pkgver}" + make check +} + +package() { + cd "${srcdir}/${_pkgbasename}-${pkgver}" + make DESTDIR="${pkgdir}" install + + rm -rf "${pkgdir}"/usr/{include,share,bin} +} diff --git a/multilib/lib32-gnutls/PKGBUILD b/multilib/lib32-gnutls/PKGBUILD new file mode 100644 index 000000000..7cc6e57ca --- /dev/null +++ b/multilib/lib32-gnutls/PKGBUILD @@ -0,0 +1,42 @@ +# Maintainer: Florian Pritz <bluewind@xinu.at> +# Contributor: Christoph Vigano <mail at cvigano dot de> +# Contributor: Biru Ionut <ionut@archlinux.ro> +# Contributor: Pierre Schmitz <pierre@archlinux.de> +# Contributor: Mikko Seppälä <t-r-a-y@mbnet.fi> +_pkgbasename=gnutls +pkgname=lib32-$_pkgbasename +pkgver=3.0.12 +pkgrel=1 +pkgdesc="A library which provides a secure layer over a reliable transport layer (32-bit)" +arch=('x86_64') +license=('GPL3' 'LGPL') +url="http://www.gnu.org/software/gnutls/" +options=('!libtool' '!makeflags') +depends=('lib32-zlib' 'lib32-nettle>=2.4' 'lib32-p11-kit' $_pkgbasename) +makedepends=('gcc-multilib' 'lib32-libidn') +source=(ftp://ftp.gnu.org/gnu/gnutls/${_pkgbasename}-${pkgver}.tar.xz) +md5sums=('685fe5c00786c04b39e9aac362fa0cac') + +build() { + export CC="gcc -m32" + export CXX="g++ -m32" + export PKG_CONFIG_PATH="/usr/lib32/pkgconfig" + + cd ${srcdir}/${_pkgbasename}-${pkgver} + + # build fails without --disable-hardware-acceleration because of assembler errors + ./configure --prefix=/usr --libdir=/usr/lib32 \ + --with-zlib \ + --disable-static \ + --disable-guile \ + --disable-valgrind-tests --disable-hardware-acceleration + make +} + +package() { + cd "${srcdir}/${_pkgbasename}-${pkgver}" + make DESTDIR="${pkgdir}" install + find $pkgdir + + rm -rf "${pkgdir}"/usr/{bin,include,share} +} diff --git a/multilib/lib32-libidn/PKGBUILD b/multilib/lib32-libidn/PKGBUILD new file mode 100644 index 000000000..2f08a81f9 --- /dev/null +++ b/multilib/lib32-libidn/PKGBUILD @@ -0,0 +1,26 @@ +# Maintainer: Florian Pritz <bluewind@xinu.at> +_pkgbasename=libidn +pkgname=lib32-$_pkgbasename +pkgver=1.22 +pkgrel=2 +pkgdesc="Implementation of the Stringprep, Punycode and IDNA specifications (32 bit)" +url="http://www.gnu.org/software/libidn/" +arch=('x86_64') +license=('GPL3' 'LGPL') +depends=('lib32-glibc' "$_pkgbasename>=$pkgver") +makedepends=('gcc-multilib') +options=('!libtool') +source=(http://ftp.gnu.org/gnu/${_pkgbasename}/${_pkgbasename}-${pkgver}.tar.gz) +md5sums=('893a1df0cf3b28b72d248382eaeaca71') + +build() { + cd ${srcdir}/${_pkgbasename}-${pkgver} + ./configure --prefix=/usr --libdir=/usr/lib32 CC='gcc -m32' + make +} + +package() { + cd ${srcdir}/${_pkgbasename}-${pkgver} + make DESTDIR=${pkgdir} install + rm -rf ${pkgdir}/usr/{bin,include,share} +} diff --git a/multilib/lib32-libxcb/PKGBUILD b/multilib/lib32-libxcb/PKGBUILD index fb15b6e01..8e68f1911 100644 --- a/multilib/lib32-libxcb/PKGBUILD +++ b/multilib/lib32-libxcb/PKGBUILD @@ -1,18 +1,17 @@ -# $Id: PKGBUILD 26635 2010-09-15 22:45:22Z bluewind $ +# $Id: PKGBUILD 62579 2012-01-21 16:17:25Z ibiru $ # Maintainer: Alexander Baldeck <alexander@archlinux.org> # Contributor: Jan de Groot <jgc@archlinux.org> _pkgbasename=libxcb pkgname=lib32-$_pkgbasename pkgver=1.7 -pkgrel=2 +pkgrel=3 pkgdesc="X11 client-side library (32-bit)" arch=(x86_64) url="http://xcb.freedesktop.org/" depends=('xcb-proto>=1.6' 'lib32-libxdmcp' 'lib32-libxau' $_pkgbasename) -makedepends=('pkgconfig' 'libxslt' 'python' 'gcc-multilib' +makedepends=('pkgconfig' 'libxslt' 'python2' 'gcc-multilib' 'autoconf') -conflicts=('libx11<1.1.99.2') options=('!libtool') license=('custom') source=(${url}/dist/${_pkgbasename}-${pkgver}.tar.bz2 @@ -27,11 +26,7 @@ build() { export CC="gcc -m32" export PKG_CONFIG_PATH="/usr/lib32/pkgconfig" - libtoolize --force --copy - aclocal - autoconf - automake --add-missing - ./configure --prefix=/usr --enable-xinput --libdir=/usr/lib32 + PYTHON=/usr/bin/python2 ./autogen.sh --prefix=/usr --enable-xinput --libdir=/usr/lib32 make } diff --git a/multilib/lib32-nettle/PKGBUILD b/multilib/lib32-nettle/PKGBUILD new file mode 100644 index 000000000..ebcc7f858 --- /dev/null +++ b/multilib/lib32-nettle/PKGBUILD @@ -0,0 +1,47 @@ +# Maintainer: Florian Pritz <bluewind@xinu.at> +# Contributor: Christoph Vigano <mail@cvigano.de> +# Contributor: Andreas Radke <andyrtr@archlinux.org> +# Contributor: bender02 at gmx dot com + +_pkgbasename=nettle +pkgname=lib32-$_pkgbasename +pkgver=2.4 +pkgrel=3 +pkgdesc="A low-level cryptographic library (32-bit)" +arch=('i686' 'x86_64') +url="http://www.lysator.liu.se/~nisse/nettle/" +license=('GPL2') +depends=('lib32-gmp' $_pkgbasename) +makedepends=(gcc-multilib) +source=(ftp://ftp.gnu.org/gnu/nettle/$_pkgbasename-$pkgver.tar.gz) +md5sums=('450be8c4886d46c09f49f568ad6fa013') + +build() { + cd "$srcdir/$_pkgbasename-$pkgver" + + export CC="gcc -m32" + export CXX="g++ -m32" + export PKG_CONFIG_PATH="/usr/lib32/pkgconfig" + + ./configure --prefix=/usr --libdir=/usr/lib32 \ + --enable-shared \ + --disable-static # <-- seems not working now + make +} + +check() { + cd "$srcdir/$_pkgbasename-$pkgver" + make -k check +} + +package() { + cd "$srcdir/$_pkgbasename-$pkgver" + make DESTDIR="$pkgdir/" install + + find $pkgdir + + # remove static libs + rm -f ${pkgdir}/usr/lib32/{libhogweed,libnettle}.a + + rm -rf "${pkgdir}"/usr/{include,share,bin} +} diff --git a/multilib/lib32-openssl/PKGBUILD b/multilib/lib32-openssl/PKGBUILD index 5b2ea447e..ac6843135 100644 --- a/multilib/lib32-openssl/PKGBUILD +++ b/multilib/lib32-openssl/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 61855 2012-01-09 09:55:54Z bluewind $ +# $Id: PKGBUILD 62560 2012-01-21 10:57:52Z bluewind $ # Maintainer: Pierre Schmitz <pierre@archlinux.de> _pkgbasename=openssl pkgname=lib32-$_pkgbasename -_ver=1.0.0f +_ver=1.0.0g # use a pacman compatible version scheme pkgver=${_ver/[a-z]/.${_ver//[0-9.]/}} pkgrel=1 @@ -17,7 +17,7 @@ options=('!makeflags') source=("https://www.openssl.org/source/${_pkgbasename}-${_ver}.tar.gz" 'no-rpath.patch' 'ca-dir.patch') -md5sums=('e358705fb4a8827b5e9224a73f442025' +md5sums=('07ecbe4324f140d157478637d6beccf1' 'dc78d3d06baffc16217519242ce92478' '3bf51be3a1bbd262be46dc619f92aa90') diff --git a/multilib/lib32-p11-kit/PKGBUILD b/multilib/lib32-p11-kit/PKGBUILD new file mode 100644 index 000000000..b9963e719 --- /dev/null +++ b/multilib/lib32-p11-kit/PKGBUILD @@ -0,0 +1,36 @@ +# Maintainer: Florian Pritz <bluewind@xinu.at> +# Contributor: Christoph Vigano <mail@cvigano.de> + +_pkgbasename=p11-kit +pkgname=lib32-$_pkgbasename +pkgver=0.9 +pkgrel=3 +pkgdesc="Library to work with PKCS#11 modules (32-bit)" +arch=(i686 x86_64) +url="http://p11-glue.freedesktop.org" +license=('BSD') +depends=(lib32-glibc $_pkgbasename) +options=(!libtool) +source=($url/releases/$_pkgbasename-$pkgver.tar.gz) +md5sums=('029aa2a3a103e7eb81b4aa731b93539e') + +build() { + export CC="gcc -m32" + export CXX="g++ -m32" + export PKG_CONFIG_PATH="/usr/lib32/pkgconfig" + cd "$srcdir/$_pkgbasename-$pkgver" + + ./configure --prefix=/usr --libdir=/usr/lib32 --sysconfdir=/etc \ + --with-module-path=/usr/lib32/pkcs11 + make +} + +package() { + cd "$srcdir/$_pkgbasename-$pkgver" + make DESTDIR="$pkgdir" install + rm -rf "${pkgdir}"/etc + rm -rf "${pkgdir}"/usr/{bin,include,share} + install -Dm644 COPYING $pkgdir/usr/share/licenses/$pkgname/COPYING +} + +# vim:set ts=2 sw=2 et: diff --git a/multilib/lib32-sqlite3/PKGBUILD b/multilib/lib32-sqlite3/PKGBUILD index ea647b6b6..0b22d64ca 100644 --- a/multilib/lib32-sqlite3/PKGBUILD +++ b/multilib/lib32-sqlite3/PKGBUILD @@ -4,8 +4,8 @@ _pkgbasename=sqlite3 pkgname=lib32-sqlite3 -_amalgamationver=3070900 -pkgver=3.7.9 +_amalgamationver=3071000 +pkgver=3.7.10 pkgrel=1 pkgdesc="A C library that implements an SQL database engine (32-bit)" arch=('x86_64') @@ -15,7 +15,7 @@ depends=(lib32-glibc $_pkgbasename) makedepends=('tcl' 'gcc-multilib' 'lib32-readline') source=(http://www.sqlite.org/sqlite-src-${_amalgamationver}.zip) options=(!libtool) -md5sums=('b2646c5a0c0b5bc6b8f0b67fc318bab3') +md5sums=('16da2e08ce2233556965cdf20d614bd9') build() { export CC="gcc -m32" diff --git a/social/diaspora-git/PKGBUILD b/social/diaspora-git/PKGBUILD index 77a11d701..3c241473b 100644 --- a/social/diaspora-git/PKGBUILD +++ b/social/diaspora-git/PKGBUILD @@ -1,41 +1,37 @@ # Maintainer: fauno <fauno@kiwwwi.com.ar> # Maintainer: Hilton Medeiros <medeiros.hilton at gmail dot com> +# Contributor: Jonne Haß <me@mrzyx.de> # Contributor: Splashy <splash at open-web dot fr> # After installing, see the Diaspora wiki page for more information: # https://wiki.archlinux.org/index.php/Diaspora pkgbase=diaspora-git -pkgname=('diaspora-mysql-git' 'diaspora-postgresql-git' 'diaspora-sqlite-git') -<<<<<<< HEAD -pkgver=20110623 -======= -pkgver=20111229 ->>>>>>> ddf6b4309b9f9816e75828359a2d60a23a0ca68c -pkgrel=1 +pkgname=('diaspora-mysql-git' 'diaspora-postgresql-git') +pkgver=20120105 +pkgrel=2 pkgdesc="A privacy aware, personally controlled, do-it-all, open source social network" arch=('i686' 'x86_64') url="https://diasporafoundation.org/" license=('AGPL3') -depends=('ruby' 'redis' 'imagemagick' 'libxslt') -makedepends=('git' 'ruby-headers') +depends=('ruby' 'redis' 'imagemagick' 'libxslt' 'net-tools') +makedepends=('git' 'libmysqlclient' 'postgresql-libs') provides=('diaspora') install=diaspora.install source=('diaspora.bin' 'diaspora.rc' 'diaspora.logrotate' - 'diaspora.pam') -md5sums=('440ce2511485855030e74e28843a037d' - '7bffaaee41b515247ba19a19c77dc5bf' + 'diaspora.pam' + 'diaspora.bashrc') +md5sums=('547b0015c83da22bd739dc85fd79f9b9' + 'b7a893271d9ba778f74569eff4190c06' '60f6b3972c73cbc6b1c9ab87c88fb655' - '96f82c38f3f540b53f3e5144900acf17') + '96f82c38f3f540b53f3e5144900acf17' + '53867bfd389dd267eefcefb053fecc5b') -_gitroot="https://github.com/diaspora/diaspora.git" +_gitroot="git://github.com/diaspora/diaspora.git" _gitname="diaspora" -# I use this because I'm behind an asshole proxy -tsocks=tsocks - build() { cd "$srcdir" @@ -43,35 +39,47 @@ build() { if [[ -d $_gitname ]] ; then pushd $_gitname - $tsocks git pull origin + git pull origin msg "The local files are updated." popd else - $tsocks git clone $_gitroot + git clone $_gitroot msg "Git clone done." fi msg "Start making..." [[ -d $_gitname-build ]] && rm -fr $_gitname-build -<<<<<<< HEAD git clone $_gitname $_gitname-build -======= - $tsocks git clone $_gitname $_gitname-build ->>>>>>> ddf6b4309b9f9816e75828359a2d60a23a0ca68c + cd ${srcdir}/${_gitname}-build -# Include all gems - export GEM_HOME="${PWD}/vendor" - export GEM_PATH="${PWD}/vendor" - export PATH="${PATH}:${GEM_PATH}/bin" + # Symlink configs + ln -s /etc/webapps/$_gitname/application.yml config/application.yml + ln -s /etc/webapps/$_gitname/database.yml config/database.yml + ln -s /etc/webapps/$_gitname/script_server.yml config/script_server.yml + ln -s /etc/webapps/$_gitname/oauth_keys.yml config/oauth_keys.yml - cd ${srcdir}/${_gitname}-build + # Set version header + sed "s|git_cmd = \`git log -1 --pretty=\"format:%H %ci\"\`|git_cmd = \"$(git log -1 --pretty="format:%H %ci")\"|" \ + -i config/initializers/version_header.rb -<<<<<<< HEAD - gem install bundler -======= - $tsocks gem install bundler ->>>>>>> ddf6b4309b9f9816e75828359a2d60a23a0ca68c + # Preconfigure config/script_server.yml.example + sed 's|rails_env: "development"|rails_env: "production"|' \ + -i config/script_server.yml.example + + # Preconfigure right ca_file + sed "s|ca_file: '/etc/pki/tls/certs/ca-bundle.crt' # CentOS|ca_file: '/etc/ssl/certs/ca-certificates.crt' # Arch|" \ + -i config/application.yml.example + + # We make this now because we do not install the git history + # Comply with AGPLv3 + tar czf public/source.tar.gz `git ls-tree -r master | awk '{print $4}'` + + # Remove git repo + rm -fr .git + + # Create gem cache + mkdir -p ${srcdir}/gem-cache } # Helper @@ -83,34 +91,70 @@ _package() { install -d "${usrdir}" cp -a ${_gitname}-build "${usrdir}/${_gitname}" - cd "${usrdir}/${_gitname}" + install -Dm755 $_gitname.bin "$pkgdir/usr/bin/$_gitname" + install -Dm755 $_gitname.rc "$pkgdir/etc/rc.d/$_gitname" + install -Dm644 $_gitname.logrotate "$pkgdir/etc/logrotate.d/$_gitname" + install -Dm644 $_gitname.pam "$pkgdir/etc/pam.d/$_gitname" + install -Dm644 $_gitname.bashrc "$usrdir/$_gitname/.bashrc" -# Set the example config - sed -e 's/rails_env:.*/rails_env: "production"/' \ - -e "s/db:.*/db: \"${DB}\"/" \ - -i config/script_server.yml.example +# Set the DB in the environment + sed -i "s/-DB-/$DB/g" "$usrdir/$_gitname/.bashrc" + sed -i "s/-DB-/$_db_rc/g" "$pkgdir/etc/rc.d/$_gitname" - ${tsocks} bundle install --local --path vendor --without development test + install -Dm644 $_gitname-build/config/application.yml.example "$pkgdir/etc/webapps/$_gitname/application.yml" + install -Dm644 $_gitname-build/config/database.yml.example "$pkgdir/etc/webapps/$_gitname/database.yml" + install -Dm644 $_gitname-build/config/script_server.yml.example "$pkgdir/etc/webapps/$_gitname/script_server.yml" + install -Dm644 $_gitname-build/config/oauth_keys.yml.example "$pkgdir/etc/webapps/$_gitname/oauth_keys.yml" - find -type d -name ".git" -exec rm -fr '{}' \; &>/dev/null || true + # Include all gems + cd "${usrdir}/${_gitname}" + mkdir -p ${usrdir}/${_gitname}/vendor/ruby/1.9.1/ + ln -s ${srcdir}/gem-cache ${usrdir}/${_gitname}/vendor/cache + ln -s ${srcdir}/gem-cache ${usrdir}/${_gitname}/vendor/ruby/1.9.1/cache + + export GEM_HOME="${PWD}/vendor" + export GEM_PATH="${PWD}/vendor" + export PATH="${GEM_PATH}/bin:${PATH}" + +# TODO extract mysql2 version from Gemfile + case $DB in + mysql) + gem install mysql2 -v "0.2.17" -- --with-mysql-config=/usr/bin/mysql_config + + ;; + posgres) + gem install pg -- --with-pg-config=/usr/bin/pg_config + + # Preconfigure right subsection in database.yml.example + sed -e "s/<<: \*mysql/#<<: \*mysql/" \ + -e "s/#<<: \*postgres/<<: \*postgres/" \ + -i $_gitname-build/config/database.yml.example + + # Preconfigure right db in script_server.yml + sed "s/db: \"mysql\"/db: \"postgres\"/" \ + -i $_gitname-build/config/script_server.yml.example + + esac + + gem install bundler + bundle install --path ${GEM_PATH} --without development test heroku - install -Dm755 ${_gitname}.bin "${pkgdir}/usr/bin/${_gitname}" - install -Dm755 ${_gitname}.rc "${pkgdir}/etc/rc.d/${_gitname}" - install -Dm644 ${_gitname}.logrotate "${pkgdir}/etc/logrotate.d/${_gitname}" - install -Dm644 ${_gitname}.pam "${pkgdir}/etc/pam.d/${_gitname}" + install -d $pkgdir/usr/share/licenses/$_gitname/ + install -Dm644 ${srcdir}/$_gitname-build/{AUTHORS,COPYRIGHT,GNU-AGPL-3.0} \ + $pkgdir/usr/share/licenses/$_gitname/ - install -d ${pkgdir}/usr/share/licenses/${_gitname}/ - install -Dm644 ${srcdir}/${_gitname}-build/{AUTHORS,COPYRIGHT,GNU-AGPL-3.0} \ - ${pkgdir}/usr/share/licenses/${_gitname}/ + msg "Removing gem cache" + rm -vr ${usrdir}/${_gitname}/vendor/{,ruby/1.9.1/}cache } package_diaspora-mysql-git() { pkgdesc="A privacy aware, personally controlled, do-it-all, open source social network (MySQL version)" provides=('diaspora-mysql' 'diaspora') - depends=('ruby' 'redis' 'imagemagick' 'libxslt' 'mysql') + depends=('ruby' 'redis' 'imagemagick' 'libxslt' 'net-tools' 'mysql' 'libmysqlclient') options=(!strip) export DB="mysql" + export _db_rc="mysqld" _package } @@ -118,21 +162,11 @@ package_diaspora-mysql-git() { package_diaspora-postgresql-git() { pkgdesc="A privacy aware, personally controlled, do-it-all, open source social network (PostgreSQL version)" provides=('diaspora-postgresql' 'diaspora') - depends=('ruby' 'redis' 'imagemagick' 'libxslt' 'postgresql') - options=(!strip) - - export DB="postgresql" - - _package -} - -package_diaspora-sqlite-git() { - pkgdesc="A privacy aware, personally controlled, do-it-all, open source social network (SQLite3 version)" - provides=('diaspora-sqlite' 'diaspora') - depends=('ruby' 'redis' 'imagemagick' 'libxslt' 'sqlite3') + depends=('ruby' 'redis' 'imagemagick' 'libxslt' 'net-tools' 'postgresql') options=(!strip) - export DB="sqlite" + export DB="postgres" + export _db_rc="postgresql" _package } diff --git a/social/diaspora-git/diaspora.bashrc b/social/diaspora-git/diaspora.bashrc new file mode 100644 index 000000000..b694ca0b0 --- /dev/null +++ b/social/diaspora-git/diaspora.bashrc @@ -0,0 +1,6 @@ +export GEM_HOME="${HOME}/.gems" +export GEM_PATH="${HOME}/.gems" +export PATH="${GEM_PATH}/bin:${PATH}" +export RAILS_ENV="production" +export DB="-DB-" + diff --git a/social/diaspora-git/diaspora.bin b/social/diaspora-git/diaspora.bin index 2168c7e7c..dfd0d026f 100644 --- a/social/diaspora-git/diaspora.bin +++ b/social/diaspora-git/diaspora.bin @@ -1,6 +1,9 @@ -#!/bin/bash +#!/bin/sh -cd /usr/share/webapps/diaspora -export GEM_HOME=${PWD}/vendor - -./script/server &>>/var/log/diaspora.log +if [ "$(whoami)" == "diaspora" ]; then + cd /usr/share/webapps/diaspora + source ./.bashrc + ./script/server &>>/var/log/diaspora.log +else + echo 'Please run this as the "diaspora" user!' +fi diff --git a/social/diaspora-git/diaspora.rc b/social/diaspora-git/diaspora.rc index bd79237ee..8464f3947 100644 --- a/social/diaspora-git/diaspora.rc +++ b/social/diaspora-git/diaspora.rc @@ -10,8 +10,8 @@ PID=`pgrep -u $daemon_name` case "$1" in start) - #Check if mysqld and redis are running, start them if not - ck_daemon mysqld && /etc/rc.d/mysqld start + #Check if db and redis are running, start them if not + ck_daemon -DB- && /etc/rc.d/-DB- start ck_daemon redis && /etc/rc.d/redis start if [ ! -e /var/log/$daemon_name.log ]; then diff --git a/staging/djvulibre/PKGBUILD b/staging/djvulibre/PKGBUILD new file mode 100644 index 000000000..ef6bc1842 --- /dev/null +++ b/staging/djvulibre/PKGBUILD @@ -0,0 +1,41 @@ +# $Id: PKGBUILD 147068 2012-01-21 14:25:07Z andyrtr $ +# Maintainer: Jan de Groot <jgc@archlinux.org> +# Contributor: mgushee + +pkgname=djvulibre +pkgver=3.5.24 +pkgrel=3 +pkgdesc="Suite to create, manipulate and view DjVu ('déjà vu') documents" +arch=("i686" "x86_64") +license=('GPL') +url="http://djvu.sourceforge.net/" +depends=('gcc-libs' 'libtiff>=4.0.0' 'bash' 'hicolor-icon-theme') +makedepends=('pkg-config') +provides=("libdjvu=${pkgver}") +replaces=('libdjvu') +conflicts=('libdjvu') +optdepends=('djview4: Viewer application') +options=('!libtool') +install=djvulibre.install +source=(http://downloads.sourceforge.net/djvu/${pkgname}-${pkgver}.tar.gz + git-fixes.patch) +md5sums=('af83d27af5083198432a178d22b259c5' + 'ff3798e383e9c3fae407455d8a51deec') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + patch -Np1 -i "${srcdir}/git-fixes.patch" + ./configure --prefix=/usr --disable-desktopfiles + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install + + #Install icons for mime-types. + install -m755 -d ${pkgdir}/usr/share/icons/hicolor/{22x22,32x32,48x48,64x64}/mimetypes + for sz in 22 32 48 64; do + install -m644 desktopfiles/prebuilt-hi${sz}-djvu.png "${pkgdir}/usr/share/icons/hicolor/${sz}x${sz}/mimetypes/image-vnd.djvu.mime.png" + done +} diff --git a/staging/djvulibre/djvulibre.install b/staging/djvulibre/djvulibre.install new file mode 100644 index 000000000..3e9bb5c49 --- /dev/null +++ b/staging/djvulibre/djvulibre.install @@ -0,0 +1,13 @@ +post_install() { + if [ -x usr/bin/gtk-update-icon-cache ]; then + gtk-update-icon-cache -q -f usr/share/icons/hicolor + fi +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/staging/djvulibre/git-fixes.patch b/staging/djvulibre/git-fixes.patch new file mode 100644 index 000000000..3077cf0b4 --- /dev/null +++ b/staging/djvulibre/git-fixes.patch @@ -0,0 +1,1607 @@ +From 3341545edba359b292a8ef6db1b7d342caf3dcf1 Mon Sep 17 00:00:00 2001 +From: Leon Bottou <leon@bottou.org> +Date: Wed, 4 May 2011 21:25:35 -0700 +Subject: [PATCH] Added include <stddef.h> for gcc-4.6 + +--- + libdjvu/BSByteStream.cpp | 1 + + libdjvu/BSEncodeByteStream.cpp | 1 + + libdjvu/ByteStream.cpp | 1 + + libdjvu/DjVuFileCache.cpp | 1 + + libdjvu/DjVuGlobal.cpp | 2 ++ + libdjvu/DjVuGlobalMemory.cpp | 2 ++ + libdjvu/DjVuMessage.cpp | 1 + + libdjvu/DjVuMessageLite.cpp | 2 +- + libdjvu/DjVuPalette.cpp | 2 ++ + libdjvu/DjVuPort.h | 1 + + libdjvu/DjVuToPS.cpp | 1 + + libdjvu/GBitmap.cpp | 2 ++ + libdjvu/GException.cpp | 1 + + libdjvu/GOS.cpp | 1 + + libdjvu/GPixmap.cpp | 2 ++ + libdjvu/GSmartPointer.cpp | 1 + + libdjvu/GSmartPointer.h | 2 ++ + libdjvu/GString.cpp | 1 + + libdjvu/GString.h | 1 + + libdjvu/GThreads.cpp | 2 ++ + libdjvu/GURL.cpp | 1 + + libdjvu/GUnicode.cpp | 2 ++ + libdjvu/IFFByteStream.h | 1 + + libdjvu/IW44EncodeCodec.cpp | 1 + + libdjvu/IW44Image.cpp | 1 + + libdjvu/JPEGDecoder.h | 1 + + libdjvu/MMX.cpp | 1 + + libdjvu/UnicodeByteStream.h | 1 + + libdjvu/XMLParser.cpp | 1 + + libdjvu/ZPCodec.cpp | 2 ++ + libdjvu/atomic.cpp | 1 + + libdjvu/ddjvuapi.cpp | 1 + + libdjvu/ddjvuapi.h | 1 + + libdjvu/miniexp.cpp | 1 + + libdjvu/miniexp.h | 3 ++- + tools/bzz.cpp | 1 + + tools/c44.cpp | 1 + + tools/cjb2.cpp | 1 + + tools/cpaldjvu.cpp | 1 + + tools/csepdjvu.cpp | 1 + + tools/ddjvu.cpp | 1 + + tools/djvm.cpp | 2 +- + tools/djvmcvt.cpp | 1 + + tools/djvudump.cpp | 1 + + tools/djvuextract.cpp | 1 + + tools/djvumake.cpp | 1 + + tools/djvups.cpp | 1 + + tools/djvused.cpp | 1 + + tools/djvuserve.cpp | 1 + + tools/djvutxt.cpp | 1 + + tools/tiff2pdf.h | 1 + + xmltools/djvutoxml.cpp | 1 + + xmltools/djvuxmlparser.cpp | 1 + + 53 files changed, 63 insertions(+), 3 deletions(-) + +diff --git a/libdjvu/BSByteStream.cpp b/libdjvu/BSByteStream.cpp +index b762ccf..d662ab0 100644 +--- a/libdjvu/BSByteStream.cpp ++++ b/libdjvu/BSByteStream.cpp +@@ -62,6 +62,7 @@ + + // - Author: Leon Bottou, 07/1998 + ++#include <stddef.h> + #include <stdlib.h> + #include <stdio.h> + #include <string.h> +diff --git a/libdjvu/BSEncodeByteStream.cpp b/libdjvu/BSEncodeByteStream.cpp +index 5d80e51..68bc3e3 100644 +--- a/libdjvu/BSEncodeByteStream.cpp ++++ b/libdjvu/BSEncodeByteStream.cpp +@@ -71,6 +71,7 @@ + #include "GOS.h" + #endif + ++#include <stddef.h> + #include <stdlib.h> + #include <stdio.h> + #include <string.h> +diff --git a/libdjvu/ByteStream.cpp b/libdjvu/ByteStream.cpp +index 158c33c..be01847 100644 +--- a/libdjvu/ByteStream.cpp ++++ b/libdjvu/ByteStream.cpp +@@ -73,6 +73,7 @@ + #include "GOS.h" + #include "GURL.h" + #include "DjVuMessage.h" ++#include <stddef.h> + #include <fcntl.h> + #if defined(WIN32) || defined(__CYGWIN32__) + # include <io.h> +diff --git a/libdjvu/DjVuFileCache.cpp b/libdjvu/DjVuFileCache.cpp +index 6b1e85d..7d7a192 100644 +--- a/libdjvu/DjVuFileCache.cpp ++++ b/libdjvu/DjVuFileCache.cpp +@@ -63,6 +63,7 @@ + #include "DjVuFileCache.h" + #include "debug.h" + ++#include <stddef.h> + #include <stdlib.h> + + +diff --git a/libdjvu/DjVuGlobal.cpp b/libdjvu/DjVuGlobal.cpp +index e6d3cec..df9278e 100644 +--- a/libdjvu/DjVuGlobal.cpp ++++ b/libdjvu/DjVuGlobal.cpp +@@ -76,6 +76,8 @@ + #include "GThreads.h" + #include "GException.h" + #include "GContainer.h" ++ ++#include <stddef.h> + #include <stdlib.h> + #include <stdio.h> + #include <string.h> +diff --git a/libdjvu/DjVuGlobalMemory.cpp b/libdjvu/DjVuGlobalMemory.cpp +index 3c6012c..c8ba309 100644 +--- a/libdjvu/DjVuGlobalMemory.cpp ++++ b/libdjvu/DjVuGlobalMemory.cpp +@@ -67,6 +67,8 @@ + + #include "DjVuGlobal.h" + #include "GException.h" ++ ++#include <stddef.h> + #include <stdlib.h> + #include <string.h> + #include "debug.h" +diff --git a/libdjvu/DjVuMessage.cpp b/libdjvu/DjVuMessage.cpp +index 6f5a735..1726025 100644 +--- a/libdjvu/DjVuMessage.cpp ++++ b/libdjvu/DjVuMessage.cpp +@@ -71,6 +71,7 @@ + #include "debug.h" + #include <ctype.h> + #include <string.h> ++#include <stddef.h> + #include <stdlib.h> + #ifdef WIN32 + # include <tchar.h> +diff --git a/libdjvu/DjVuMessageLite.cpp b/libdjvu/DjVuMessageLite.cpp +index b8c1010..5daa9d9 100644 +--- a/libdjvu/DjVuMessageLite.cpp ++++ b/libdjvu/DjVuMessageLite.cpp +@@ -73,8 +73,8 @@ + #include "debug.h" + #include <ctype.h> + #include <string.h> ++#include <stddef.h> + #include <stdlib.h> +-// #include <stdio.h> + #ifdef WIN32 + #include <tchar.h> + #include <windows.h> +diff --git a/libdjvu/DjVuPalette.cpp b/libdjvu/DjVuPalette.cpp +index c489f7b..76b0bf4 100644 +--- a/libdjvu/DjVuPalette.cpp ++++ b/libdjvu/DjVuPalette.cpp +@@ -64,6 +64,8 @@ + #include "ByteStream.h" + #include "BSByteStream.h" + #include "DjVuPalette.h" ++ ++#include <stddef.h> + #include <stdlib.h> + #include <math.h> + +diff --git a/libdjvu/DjVuPort.h b/libdjvu/DjVuPort.h +index f6a92f6..e2b3125 100644 +--- a/libdjvu/DjVuPort.h ++++ b/libdjvu/DjVuPort.h +@@ -65,6 +65,7 @@ + + #include "GThreads.h" + #include "GURL.h" ++#include "stddef.h" + + #ifdef HAVE_NAMESPACES + namespace DJVU { +diff --git a/libdjvu/DjVuToPS.cpp b/libdjvu/DjVuToPS.cpp +index 5517bf3..6914ff9 100644 +--- a/libdjvu/DjVuToPS.cpp ++++ b/libdjvu/DjVuToPS.cpp +@@ -72,6 +72,7 @@ + #include "GPixmap.h" + #include "debug.h" + #include <stdarg.h> ++#include <stddef.h> + #include <stdlib.h> + #include <stdio.h> + #include <time.h> +diff --git a/libdjvu/GBitmap.cpp b/libdjvu/GBitmap.cpp +index ab5c0de..797edcc 100644 +--- a/libdjvu/GBitmap.cpp ++++ b/libdjvu/GBitmap.cpp +@@ -66,6 +66,8 @@ + #include "GString.h" + #include "GThreads.h" + #include "GException.h" ++#include <stddef.h> ++#include <stdlib.h> + #include <string.h> + + // - Author: Leon Bottou, 05/1997 +diff --git a/libdjvu/GException.cpp b/libdjvu/GException.cpp +index 2ea179a..89da70f 100644 +--- a/libdjvu/GException.cpp ++++ b/libdjvu/GException.cpp +@@ -60,6 +60,7 @@ + # pragma implementation + #endif + ++#include <stddef.h> + #include <stdlib.h> + #include <stdio.h> + #include <string.h> +diff --git a/libdjvu/GOS.cpp b/libdjvu/GOS.cpp +index e784932..d2088e2 100644 +--- a/libdjvu/GOS.cpp ++++ b/libdjvu/GOS.cpp +@@ -65,6 +65,7 @@ + #include "GOS.h" + #include "GURL.h" + ++#include <stddef.h> + #include <stdlib.h> + #include <stdio.h> + #include <ctype.h> +diff --git a/libdjvu/GPixmap.cpp b/libdjvu/GPixmap.cpp +index 392df54..4bf6f57 100644 +--- a/libdjvu/GPixmap.cpp ++++ b/libdjvu/GPixmap.cpp +@@ -75,6 +75,8 @@ + #include "GThreads.h" + #include "Arrays.h" + #include "JPEGDecoder.h" ++ ++#include <stddef.h> + #include <stdlib.h> + #include <math.h> + #include <assert.h> +diff --git a/libdjvu/GSmartPointer.cpp b/libdjvu/GSmartPointer.cpp +index 6e523e7..58aef5b 100644 +--- a/libdjvu/GSmartPointer.cpp ++++ b/libdjvu/GSmartPointer.cpp +@@ -67,6 +67,7 @@ + // Our original implementation consisted of multiple classes. + // <http://prdownloads.sourceforge.net/djvu/DjVu2_2b-src.tgz>. + ++#include <stddef.h> + #include <string.h> + #if PARANOID_DEBUG + # include <assert.h> +diff --git a/libdjvu/GSmartPointer.h b/libdjvu/GSmartPointer.h +index 82781bd..8a8bb8a 100644 +--- a/libdjvu/GSmartPointer.h ++++ b/libdjvu/GSmartPointer.h +@@ -97,6 +97,8 @@ + #include "DjVuGlobal.h" + #include "atomic.h" + ++#include <stddef.h> ++ + #ifdef HAVE_NAMESPACES + namespace DJVU { + # ifdef NOT_DEFINED // Just to fool emacs c++ mode +diff --git a/libdjvu/GString.cpp b/libdjvu/GString.cpp +index 03f6226..350b11b 100644 +--- a/libdjvu/GString.cpp ++++ b/libdjvu/GString.cpp +@@ -73,6 +73,7 @@ + #include "GThreads.h" + #include "debug.h" + ++#include <stddef.h> + #include <stdlib.h> + #include <stdio.h> + #include <string.h> +diff --git a/libdjvu/GString.h b/libdjvu/GString.h +index b63b753..3aa1f76 100644 +--- a/libdjvu/GString.h ++++ b/libdjvu/GString.h +@@ -108,6 +108,7 @@ + #include "DjVuGlobal.h" + #include "GContainer.h" + ++#include <stddef.h> + #include <stdlib.h> + #include <stdarg.h> + #ifdef WIN32 +diff --git a/libdjvu/GThreads.cpp b/libdjvu/GThreads.cpp +index d81f3c3..253fed8 100644 +--- a/libdjvu/GThreads.cpp ++++ b/libdjvu/GThreads.cpp +@@ -71,6 +71,8 @@ + #include "GThreads.h" + #include "GException.h" + #include "DjVuMessageLite.h" ++ ++#include <stddef.h> + #include <stdlib.h> + #include <stdio.h> + +diff --git a/libdjvu/GURL.cpp b/libdjvu/GURL.cpp +index c37bf52..a80078c 100644 +--- a/libdjvu/GURL.cpp ++++ b/libdjvu/GURL.cpp +@@ -72,6 +72,7 @@ + #include "GURL.h" + #include "debug.h" + ++#include <stddef.h> + #include <stdlib.h> + #include <stdio.h> + #include <ctype.h> +diff --git a/libdjvu/GUnicode.cpp b/libdjvu/GUnicode.cpp +index 415c081..a8b25b8 100644 +--- a/libdjvu/GUnicode.cpp ++++ b/libdjvu/GUnicode.cpp +@@ -62,6 +62,8 @@ + + #include "GString.h" + ++#include <stddef.h> ++ + #if HAS_ICONV + #include <iconv.h> + #endif +diff --git a/libdjvu/IFFByteStream.h b/libdjvu/IFFByteStream.h +index a653f8c..e31b216 100644 +--- a/libdjvu/IFFByteStream.h ++++ b/libdjvu/IFFByteStream.h +@@ -124,6 +124,7 @@ + + + #include "DjVuGlobal.h" ++#include <stddef.h> + #include <stdlib.h> + #include <stdio.h> + #include <string.h> +diff --git a/libdjvu/IW44EncodeCodec.cpp b/libdjvu/IW44EncodeCodec.cpp +index 8d7b12c..49081b7 100644 +--- a/libdjvu/IW44EncodeCodec.cpp ++++ b/libdjvu/IW44EncodeCodec.cpp +@@ -76,6 +76,7 @@ + #include "IFFByteStream.h" + #include "GRect.h" + ++#include <stddef.h> + #include <stdlib.h> + #include <string.h> + #include <math.h> +diff --git a/libdjvu/IW44Image.cpp b/libdjvu/IW44Image.cpp +index 9476726..4a19fb5 100644 +--- a/libdjvu/IW44Image.cpp ++++ b/libdjvu/IW44Image.cpp +@@ -76,6 +76,7 @@ + #include "IFFByteStream.h" + #include "GRect.h" + ++#include <stddef.h> + #include <stdlib.h> + #include <string.h> + #include <math.h> +diff --git a/libdjvu/JPEGDecoder.h b/libdjvu/JPEGDecoder.h +index bd430a0..fad1d4c 100644 +--- a/libdjvu/JPEGDecoder.h ++++ b/libdjvu/JPEGDecoder.h +@@ -64,6 +64,7 @@ + + #ifdef NEED_JPEG_DECODER + ++#include <stddef.h> + #include <string.h> + #include <setjmp.h> + +diff --git a/libdjvu/MMX.cpp b/libdjvu/MMX.cpp +index 5ab60bb..528dab6 100644 +--- a/libdjvu/MMX.cpp ++++ b/libdjvu/MMX.cpp +@@ -62,6 +62,7 @@ + + #include "MMX.h" + #include <stdio.h> ++#include <stddef.h> + #include <stdlib.h> + + +diff --git a/libdjvu/UnicodeByteStream.h b/libdjvu/UnicodeByteStream.h +index 0ae112b..9b49a17 100644 +--- a/libdjvu/UnicodeByteStream.h ++++ b/libdjvu/UnicodeByteStream.h +@@ -88,6 +88,7 @@ + #include "GString.h" + #include "ByteStream.h" + ++#include <stddef.h> + + #ifdef HAVE_NAMESPACES + namespace DJVU { +diff --git a/libdjvu/XMLParser.cpp b/libdjvu/XMLParser.cpp +index 84386c5..7da923a 100644 +--- a/libdjvu/XMLParser.cpp ++++ b/libdjvu/XMLParser.cpp +@@ -75,6 +75,7 @@ + #include "debug.h" + #include <stdio.h> + #include <ctype.h> ++#include <stddef.h> + #include <stdlib.h> + + +diff --git a/libdjvu/ZPCodec.cpp b/libdjvu/ZPCodec.cpp +index f6e971d..ff5b9bf 100644 +--- a/libdjvu/ZPCodec.cpp ++++ b/libdjvu/ZPCodec.cpp +@@ -66,6 +66,8 @@ + #include "ZPCodec.h" + #include "ByteStream.h" + #include "GException.h" ++ ++#include <stddef.h> + #include <stdlib.h> + #include <assert.h> + #include <math.h> +diff --git a/libdjvu/atomic.cpp b/libdjvu/atomic.cpp +index bdc193e..63fd483 100644 +--- a/libdjvu/atomic.cpp ++++ b/libdjvu/atomic.cpp +@@ -28,6 +28,7 @@ + # include "config.h" + #endif + ++#include <stddef.h> + #include <stdlib.h> + #include <assert.h> + #include "atomic.h" +diff --git a/libdjvu/ddjvuapi.cpp b/libdjvu/ddjvuapi.cpp +index b18b84b..f40f5aa 100644 +--- a/libdjvu/ddjvuapi.cpp ++++ b/libdjvu/ddjvuapi.cpp +@@ -60,6 +60,7 @@ + # pragma implementation "ddjvuapi.h" + #endif + ++#include <stddef.h> + #include <stdlib.h> + #include <stdio.h> + #include <string.h> +diff --git a/libdjvu/ddjvuapi.h b/libdjvu/ddjvuapi.h +index d0ed48f..841f223 100644 +--- a/libdjvu/ddjvuapi.h ++++ b/libdjvu/ddjvuapi.h +@@ -64,6 +64,7 @@ extern "C" { + } + #endif + ++#include <stddef.h> + #include <stdlib.h> + #include <stdio.h> + +diff --git a/libdjvu/miniexp.cpp b/libdjvu/miniexp.cpp +index e0fb087..fc51297 100644 +--- a/libdjvu/miniexp.cpp ++++ b/libdjvu/miniexp.cpp +@@ -23,6 +23,7 @@ + # pragma implementation "miniexp.h" + #endif + ++#include <stddef.h> + #include <stdlib.h> + #include <stdio.h> + #include <ctype.h> +diff --git a/libdjvu/miniexp.h b/libdjvu/miniexp.h +index 91e345d..993005b 100644 +--- a/libdjvu/miniexp.h ++++ b/libdjvu/miniexp.h +@@ -38,7 +38,8 @@ extern "C" { + #ifndef MINILISPAPI + # define MINILISPAPI /**/ + #endif +- ++ ++#include <stddef.h> + + /* -------------------------------------------------- */ + /* LISP EXPRESSIONS */ +diff --git a/tools/bzz.cpp b/tools/bzz.cpp +index ca092e1..2ebc7b9 100644 +--- a/tools/bzz.cpp ++++ b/tools/bzz.cpp +@@ -94,6 +94,7 @@ + #include "GURL.h" + #include "DjVuMessage.h" + #include <locale.h> ++#include <stddef.h> + #include <stdlib.h> + + static const char *program = "(unknown)"; +diff --git a/tools/c44.cpp b/tools/c44.cpp +index 6f23b53..855504b 100644 +--- a/tools/c44.cpp ++++ b/tools/c44.cpp +@@ -226,6 +226,7 @@ + #include <locale.h> + #include <stdio.h> + #include <string.h> ++#include <stddef.h> + #include <stdlib.h> + + // command line data +diff --git a/tools/cjb2.cpp b/tools/cjb2.cpp +index 8cf89b9..11eb662 100644 +--- a/tools/cjb2.cpp ++++ b/tools/cjb2.cpp +@@ -120,6 +120,7 @@ + #include "jb2tune.h" + + #include <locale.h> ++#include <stddef.h> + #include <stdlib.h> + #if HAVE_TIFF + #include <tiffio.h> +diff --git a/tools/cpaldjvu.cpp b/tools/cpaldjvu.cpp +index 111cbd3..b640a7a 100644 +--- a/tools/cpaldjvu.cpp ++++ b/tools/cpaldjvu.cpp +@@ -118,6 +118,7 @@ + #include "jb2tune.h" + + #include <locale.h> ++#include <stddef.h> + #include <stdlib.h> + #include <math.h> + +diff --git a/tools/csepdjvu.cpp b/tools/csepdjvu.cpp +index cd721f8..d5203d5 100644 +--- a/tools/csepdjvu.cpp ++++ b/tools/csepdjvu.cpp +@@ -162,6 +162,7 @@ + #include "jb2tune.h" + + #include <locale.h> ++#include <stddef.h> + #include <stdlib.h> + + #undef MIN +diff --git a/tools/ddjvu.cpp b/tools/ddjvu.cpp +index 817e045..981a270 100644 +--- a/tools/ddjvu.cpp ++++ b/tools/ddjvu.cpp +@@ -62,6 +62,7 @@ + # include "config.h" + #endif + ++#include <stddef.h> + #include <stdlib.h> + #include <stdio.h> + #include <stdarg.h> +diff --git a/tools/djvm.cpp b/tools/djvm.cpp +index 951bd66..6ea88c2 100644 +--- a/tools/djvm.cpp ++++ b/tools/djvm.cpp +@@ -135,9 +135,9 @@ + #include "DjVuMessage.h" + + #include <locale.h> ++#include <stddef.h> + #include <stdlib.h> + #include <stdio.h> +-#include <stdlib.h> + + static const char * progname; + +diff --git a/tools/djvmcvt.cpp b/tools/djvmcvt.cpp +index 9ca1c54..20b468a 100644 +--- a/tools/djvmcvt.cpp ++++ b/tools/djvmcvt.cpp +@@ -144,6 +144,7 @@ + + #include <locale.h> + #include <stdio.h> ++#include <stddef.h> + #include <stdlib.h> + + static const char * progname; +diff --git a/tools/djvudump.cpp b/tools/djvudump.cpp +index 6a0215a..2dddbdf 100644 +--- a/tools/djvudump.cpp ++++ b/tools/djvudump.cpp +@@ -119,6 +119,7 @@ xxx + #include <locale.h> + #include <stdio.h> + #include <ctype.h> ++#include <stddef.h> + #include <stdlib.h> + + void +diff --git a/tools/djvuextract.cpp b/tools/djvuextract.cpp +index 4a9f381..907b99c 100644 +--- a/tools/djvuextract.cpp ++++ b/tools/djvuextract.cpp +@@ -105,6 +105,7 @@ + #include "GOS.h" + #include "DjVuMessage.h" + #include <locale.h> ++#include <stddef.h> + #include <stdlib.h> + + +diff --git a/tools/djvumake.cpp b/tools/djvumake.cpp +index 7020484..4c5fc0f 100644 +--- a/tools/djvumake.cpp ++++ b/tools/djvumake.cpp +@@ -153,6 +153,7 @@ + + #include <locale.h> + #include <stdio.h> ++#include <stddef.h> + #include <stdlib.h> + #include <ctype.h> + +diff --git a/tools/djvups.cpp b/tools/djvups.cpp +index 51aa999..632b832 100644 +--- a/tools/djvups.cpp ++++ b/tools/djvups.cpp +@@ -57,6 +57,7 @@ + # include "config.h" + #endif + ++#include <stddef.h> + #include <stdlib.h> + #include <stdio.h> + #include <stdarg.h> +diff --git a/tools/djvused.cpp b/tools/djvused.cpp +index de84dcd..687fdca 100644 +--- a/tools/djvused.cpp ++++ b/tools/djvused.cpp +@@ -61,6 +61,7 @@ + #endif + + #include <stdio.h> ++#include <stddef.h> + #include <stdlib.h> + #include <stdarg.h> + #include <errno.h> +diff --git a/tools/djvuserve.cpp b/tools/djvuserve.cpp +index 19a17da..818fe78 100644 +--- a/tools/djvuserve.cpp ++++ b/tools/djvuserve.cpp +@@ -73,6 +73,7 @@ + + #include <locale.h> + #include <stdio.h> ++#include <stddef.h> + #include <stdlib.h> + #include <sys/stat.h> + #include <time.h> +diff --git a/tools/djvutxt.cpp b/tools/djvutxt.cpp +index ba2c745..9e9124c 100644 +--- a/tools/djvutxt.cpp ++++ b/tools/djvutxt.cpp +@@ -61,6 +61,7 @@ + # include "config.h" + #endif + ++#include <stddef.h> + #include <stdlib.h> + #include <stdio.h> + #include <stdarg.h> +diff --git a/tools/tiff2pdf.h b/tools/tiff2pdf.h +index 082f5fb..656dc43 100644 +--- a/tools/tiff2pdf.h ++++ b/tools/tiff2pdf.h +@@ -22,6 +22,7 @@ + # endif + # if HAVE_TIFF + # include <stdio.h> ++# include <stddef.h> + # include <stdlib.h> + # include <tiff.h> + # include <tiffio.h> +diff --git a/xmltools/djvutoxml.cpp b/xmltools/djvutoxml.cpp +index 17c769b..b40535e 100644 +--- a/xmltools/djvutoxml.cpp ++++ b/xmltools/djvutoxml.cpp +@@ -71,6 +71,7 @@ + + #include <locale.h> + #include <stdio.h> ++#include <stddef.h> + #include <stdlib.h> + #include <sys/stat.h> + #include <assert.h> +diff --git a/xmltools/djvuxmlparser.cpp b/xmltools/djvuxmlparser.cpp +index bdc5768..6679a9d 100644 +--- a/xmltools/djvuxmlparser.cpp ++++ b/xmltools/djvuxmlparser.cpp +@@ -70,6 +70,7 @@ + #include <stdio.h> + #include <ctype.h> + #include <locale.h> ++#include <stddef.h> + #include <stdlib.h> + + static void +-- +1.7.4.1 + +From 3cc41e2a72bbd6d34e81a9a214abbebf41cc00c7 Mon Sep 17 00:00:00 2001 +From: Leon Bottou <leon@bottou.org> +Date: Sat, 21 May 2011 09:27:17 -0700 +Subject: [PATCH] Added ddjvu option to skip corrupted pages. + +--- + tools/ddjvu.1 | 7 +++++++ + tools/ddjvu.cpp | 49 +++++++++++++++++++++++++++++++++---------------- + 2 files changed, 40 insertions(+), 16 deletions(-) + +diff --git a/tools/ddjvu.1 b/tools/ddjvu.1 +index 29285c3..7d3d105 100644 +--- a/tools/ddjvu.1 ++++ b/tools/ddjvu.1 +@@ -178,6 +178,13 @@ select specific layers of a DjVu image. + These modes can fail if the DjVu image does + not contain the selected layer. + .RE ++.TP ++.BI "-skip" ++Instead of aborting when encountering a corrupted page, ++this option causes ++.BR ddjvu ++to simply skip the corrupted page and continue with the next. ++This is useful for processing certain damaged files. + + .SH RESOLUTION OPTIONS + The following options control the resolution of the output image. +diff --git a/tools/ddjvu.cpp b/tools/ddjvu.cpp +index 981a270..b9cb038 100644 +--- a/tools/ddjvu.cpp ++++ b/tools/ddjvu.cpp +@@ -132,6 +132,7 @@ ddjvu_rect_t info_size; + ddjvu_rect_t info_segment; + const char *inputfilename = 0; + const char *outputfilename = 0; ++int flag_skip_corrupted = 0; + + #if HAVE_TIFF2PDF + char *tempfilename = 0; +@@ -164,7 +165,6 @@ handle(int wait) + if (msg->m_error.filename) + fprintf(stderr,"ddjvu: '%s:%d'\n", + msg->m_error.filename, msg->m_error.lineno); +- exit(10); + default: + break; + } +@@ -554,8 +554,16 @@ dopage(int pageno) + while (! ddjvu_page_decoding_done(page)) + handle(TRUE); + if (ddjvu_page_decoding_error(page)) +- die(i18n("Cannot decode page %d."), pageno); +- ++ { ++ handle(FALSE); ++ fprintf(stderr,"ddjvu: "); ++ fprintf(stderr,i18n("Cannot decode page %d."), pageno); ++ fprintf(stderr,"\n"); ++ if (flag_skip_corrupted) ++ return; ++ else ++ exit(10); ++ } + timingdata[1] = ticks(); + /* Open files */ + if (flag_format == 't') +@@ -753,19 +761,20 @@ usage() + i18n("DjVu decompression utility\n\n" + "Usage: ddjvu [options] [<djvufile> [<outputfile>]]\n\n" + "Options:\n" +- " -verbose Prints various informational messages.\n" +- " -format=FMT Selects output format: pbm,pgm,ppm,pnm,rle,tiff.\n" +- " -scale=N Selects display scale.\n" +- " -size=WxH Selects size of rendered image.\n" +- " -subsample=N Selects direct subsampling factor.\n" +- " -aspect=no Authorizes aspect ratio changes\n" +- " -segment=WxH+X+Y Selects which segment of the rendered image\n" +- " -mode=black Renders a meaningful bitonal image.\n" +- " -mode=mask Only renders the mask layer.\n" +- " -mode=foreground Only renders the foreground layer.\n" +- " -mode=background Only renders the background layer.\n" +- " -page=PAGESPEC Selects page(s) to be decoded.\n" +- " -quality=QUALITY Specifies jpeg quality for lossy tiff output.\n" ++ " -verbose Print various informational messages.\n" ++ " -format=FMT Select output format: pbm,pgm,ppm,pnm,rle,tiff.\n" ++ " -scale=N Select display scale.\n" ++ " -size=WxH Select size of rendered image.\n" ++ " -subsample=N Select direct subsampling factor.\n" ++ " -aspect=no Authorize aspect ratio changes\n" ++ " -segment=WxH+X+Y Select which segment of the rendered image\n" ++ " -mode=black Render a meaningful bitonal image.\n" ++ " -mode=mask Only render the mask layer.\n" ++ " -mode=foreground Only render the foreground layer.\n" ++ " -mode=background Only render the background layer.\n" ++ " -page=PAGESPEC Select page(s) to be decoded.\n" ++ " -skip Skip corrupted pages instead of aborting.\n" ++ " -quality=QUALITY Specify jpeg quality for lossy tiff output.\n" + "\n" + "If <outputfile> is a single dash or omitted, the decompressed image\n" + "is sent to the standard output. If <djvufile> is a single dash or\n" +@@ -846,6 +855,12 @@ parse_option(int argc, char **argv, int i) + die(i18n(errarg), opt); + flag_verbose = 1; + } ++ if (!strcmp(opt,"skip")) ++ { ++ if (arg) ++ die(i18n(errarg), opt); ++ flag_skip_corrupted = 1; ++ } + else if (!strcmp(opt,"scale")) + { + if (!arg) +@@ -1012,6 +1027,8 @@ main(int argc, char **argv) + die(i18n("Cannot open djvu document '%s'."), inputfilename); + while (! ddjvu_document_decoding_done(doc)) + handle(TRUE); ++ if (ddjvu_document_decoding_error(doc)) ++ die(i18n("Cannot decode document.")); + + /* Process all pages */ + i = ddjvu_document_get_pagenum(doc); +-- +1.7.4.1 + +From 6a6e6a047b41a431cfc091bd71fcad554fd79437 Mon Sep 17 00:00:00 2001 +From: Leon Bottou <leon@bottou.org> +Date: Mon, 30 May 2011 18:52:33 -0700 +Subject: [PATCH] Added option -o outputfile to djvudump. + +--- + tools/djvudump.1 | 2 +- + tools/djvudump.cpp | 34 +++++++++++++++++++++++++--------- + 2 files changed, 26 insertions(+), 10 deletions(-) + +diff --git a/tools/djvudump.1 b/tools/djvudump.1 +index c86b7d5..e39a318 100644 +--- a/tools/djvudump.1 ++++ b/tools/djvudump.1 +@@ -27,7 +27,7 @@ + djvudump \- Display internal structure of DjVu files. + + .SH SYNOPSIS +-.BI "djvudump " "djvufiles" "..." ++.BI "djvudump [-o " "outputfile" "] " "djvufiles" "..." + + .SH DESCRIPTION + Program +diff --git a/tools/djvudump.cpp b/tools/djvudump.cpp +index 2dddbdf..6daaf2c 100644 +--- a/tools/djvudump.cpp ++++ b/tools/djvudump.cpp +@@ -122,6 +122,9 @@ xxx + #include <stddef.h> + #include <stdlib.h> + ++const char *outputfile = 0; ++FILE *outputf = stdout; ++ + void + display(const GURL &url) + { +@@ -134,7 +137,7 @@ display(const GURL &url) + obs->seek(0); + obs->readall(buf, size); + GNativeString ns = str; +- fputs((const char*)ns, stdout); ++ fputs((const char*)ns, outputf); + } + + +@@ -146,7 +149,7 @@ usage() + "DJVUDUMP --- DjVuLibre-" DJVULIBRE_VERSION "\n" + #endif + "Describes DjVu and IFF85 files\n\n" +- "Usage: djvudump <iff_filenames>\n" ); ++ "Usage: djvudump [-o outputfile] <iff_filenames>\n" ); + exit(1); + } + +@@ -156,24 +159,37 @@ main(int argc, char **argv) + setlocale(LC_ALL,""); + setlocale(LC_NUMERIC,"C"); + djvu_programname(argv[0]); +- GArray<GUTF8String> dargv(0,argc-1); ++ // get output file name ++ if (argc>2 && !strcmp(argv[1],"-o")) ++ { ++ outputfile = argv[2]; ++ argv += 2; ++ argc -= 2; ++ } ++ // convert iff file name ++ GArray<GUTF8String> dargv(0, argc-1); + for(int i=0;i<argc;++i) + dargv[i]=GNativeString(argv[i]); ++ if (argc <= 1) ++ usage(); ++ if (outputfile && !(outputf = fopen(outputfile,"w"))) ++ { ++ DjVuPrintErrorUTF8("djvudump: Cannot open output file.\n"); ++ exit(1); ++ } + G_TRY + { +- if (argc<=1) +- usage(); + for (int i=1; i<argc; i++) +- { ++ { + const GURL::Filename::UTF8 url(dargv[i]); + display(url); +- } ++ } + } + G_CATCH(ex) +- { ++ { + ex.perror(); + exit(1); +- } ++ } + G_ENDCATCH; + return 0; + } +-- +1.7.4.1 + +From 6db359d1ad5e7e863fac53301e7ff884cfe44423 Mon Sep 17 00:00:00 2001 +From: Bill C Riemers <briemers@redhat.com> +Date: Thu, 2 Jun 2011 13:17:27 -0400 +Subject: [PATCH] Correct error copying an error in the annotation class of assigning a tempory + GUTF8String directly to a const char *. + +--- + libdjvu/DjVuAnno.cpp | 3 ++- + 1 files changed, 2 insertions(+), 1 deletions(-) + +diff --git a/libdjvu/DjVuAnno.cpp b/libdjvu/DjVuAnno.cpp +index 6ca5b4e..e2a9108 100644 +--- a/libdjvu/DjVuAnno.cpp ++++ b/libdjvu/DjVuAnno.cpp +@@ -261,7 +261,8 @@ GLObject::print(ByteStream & str, int compact, int indent, int * cur_pos) const + to_print=buffer.format("%d",number); + break; + case STRING: +- to_print=make_c_string(string); ++ buffer=make_c_string(string); ++ to_print=(const char *)buffer; + break; + case SYMBOL: + to_print=buffer.format("%s",(const char *)symbol); +-- +1.7.4.1 + +From 2b26415c3c46ffb7532ca250990668564be62d39 Mon Sep 17 00:00:00 2001 +From: Leon Bottou <leon@bottou.org> +Date: Thu, 2 Jun 2011 09:48:49 -0700 +Subject: [PATCH] Corrected polarity of xmp annotation saving + +--- + libdjvu/DjVuAnno.cpp | 19 ++++++++++--------- + 1 files changed, 10 insertions(+), 9 deletions(-) + +diff --git a/libdjvu/DjVuAnno.cpp b/libdjvu/DjVuAnno.cpp +index e2a9108..8e16dd8 100644 +--- a/libdjvu/DjVuAnno.cpp ++++ b/libdjvu/DjVuAnno.cpp +@@ -254,25 +254,24 @@ GLObject::print(ByteStream & str, int compact, int indent, int * cur_pos) const + if (!cur_pos) { cur_pos = &local_cur_pos; } + + GUTF8String buffer; +- const char * to_print=0; + switch(type) + { + case NUMBER: +- to_print=buffer.format("%d",number); ++ buffer.format("%d",number); + break; + case STRING: +- buffer=make_c_string(string); +- to_print=(const char *)buffer; ++ buffer = make_c_string(string); + break; + case SYMBOL: +- to_print=buffer.format("%s",(const char *)symbol); ++ buffer.format("%s",(const char *)symbol); + break; + case LIST: +- to_print=buffer.format("(%s",(const char *)name); ++ buffer.format("(%s",(const char *)name); + break; + case INVALID: + break; + } ++ const char * to_print = (const char*)buffer; + if (!compact && *cur_pos+strlen(to_print)>70) + { + char ch='\n'; +@@ -1375,7 +1374,7 @@ DjVuANT::encode_raw(void) const + } + //*** XMP Metadata + del_all_items(XMP_TAG, parser); +- if (!xmpmetadata) ++ if (!!xmpmetadata) + { + GUTF8String mdatabuffer("("); + mdatabuffer += XMP_TAG; +@@ -1385,8 +1384,10 @@ DjVuANT::encode_raw(void) const + //*** Mapareas + del_all_items(GMapArea::MAPAREA_TAG, parser); + for(GPosition pos=map_areas;pos;++pos) +- parser.parse(map_areas[pos]->print()); +- ++ { ++ GUTF8String mapareabuffer = map_areas[pos]->print(); ++ parser.parse(mapareabuffer); ++ } + GP<ByteStream> gstr=ByteStream::create(); + ByteStream &str=*gstr; + parser.print(str, 1); +-- +1.7.4.1 + +From 65600b5801d11ff8ca8db3a25bf004fc06f4515b Mon Sep 17 00:00:00 2001 +From: Leon Bottou <leon@bottou.org> +Date: Sat, 4 Jun 2011 15:29:18 -0700 +Subject: [PATCH] Eliminate warnings with gcc-4.6.0 + +--- + libdjvu/Arrays.cpp | 2 - + libdjvu/DjVuDocEditor.cpp | 37 +++++++++---------- + libdjvu/GString.cpp | 44 ++++++++-------------- + libdjvu/JPEGDecoder.cpp | 2 - + libdjvu/XMLParser.cpp | 7 +--- + tools/ddjvu.cpp | 2 +- + tools/jb2cmp/patterns.cpp | 87 +------------------------------------------- + tools/tiff2pdf.c | 9 ++--- + 8 files changed, 40 insertions(+), 150 deletions(-) + +diff --git a/libdjvu/Arrays.cpp b/libdjvu/Arrays.cpp +index c4f74ca..6c7f23a 100644 +--- a/libdjvu/Arrays.cpp ++++ b/libdjvu/Arrays.cpp +@@ -239,9 +239,7 @@ ArrayRep::ins(int n, const void * what, unsigned int howmany) + copy(ndata, lobound-minlo, hibound-minlo, + data, lobound-minlo, hibound-minlo); + destroy(data, lobound-minlo, hibound-minlo); +- void *tmp=data; + data=ndata; +- tmp=data; + maxhi = nmaxhi; + } + +diff --git a/libdjvu/DjVuDocEditor.cpp b/libdjvu/DjVuDocEditor.cpp +index 2247e40..f1d8b0d 100644 +--- a/libdjvu/DjVuDocEditor.cpp ++++ b/libdjvu/DjVuDocEditor.cpp +@@ -555,27 +555,24 @@ DjVuDocEditor::insert_file(const GURL &file_url, bool is_page, + can_compress_flag); + } + +- // Oh. It does exist... Check that it has IFF structure ++ // Oh. It does exist... Check that it has IFF structure + { +- const GP<IFFByteStream> giff( +- IFFByteStream::create(file_pool->get_stream())); +- IFFByteStream &iff=*giff; +- GUTF8String chkid; +- +- int length; +- length=iff.get_chunk(chkid); +- if (chkid!="FORM:DJVI" && chkid!="FORM:DJVU" && +- chkid!="FORM:BM44" && chkid!="FORM:PM44") +- G_THROW( ERR_MSG("DjVuDocEditor.not_1_page") "\t"+file_url.get_string()); +- +- // Wonderful. It's even a DjVu file. Scan for NDIR chunks. +- // If NDIR chunk is found, ignore the file +- while(iff.get_chunk(chkid)) +- { +- if (chkid=="NDIR") +- return false; +- iff.close_chunk(); +- } ++ const GP<IFFByteStream> giff( ++ IFFByteStream::create(file_pool->get_stream())); ++ IFFByteStream &iff=*giff; ++ GUTF8String chkid; ++ if (chkid!="FORM:DJVI" && chkid!="FORM:DJVU" && ++ chkid!="FORM:BM44" && chkid!="FORM:PM44") ++ G_THROW( ERR_MSG("DjVuDocEditor.not_1_page") "\t" ++ + file_url.get_string()); ++ // Wonderful. It's even a DjVu file. Scan for NDIR chunks. ++ // If NDIR chunk is found, ignore the file ++ while(iff.get_chunk(chkid)) ++ { ++ if (chkid=="NDIR") ++ return false; ++ iff.close_chunk(); ++ } + } + return insert_file(file_pool,file_url,is_page,file_pos,name2id,source); + } +diff --git a/libdjvu/GString.cpp b/libdjvu/GString.cpp +index 350b11b..ed92a7f 100644 +--- a/libdjvu/GString.cpp ++++ b/libdjvu/GString.cpp +@@ -643,26 +643,22 @@ GBaseString::UTF8ToNative( + const char *source=(*this); + GP<GStringRep> retval; + if(source && source[0]) +- { +-#if DO_CHANGELOCALE +- GUTF8String lc_ctype(setlocale(LC_CTYPE,0)); +-#endif +- bool repeat; +- for(repeat=!currentlocale;;repeat=false) + { +- retval=(*this)->toNative((GStringRep::EscapeMode)escape); + #if DO_CHANGELOCALE +- if (!repeat || retval || (lc_ctype == setlocale(LC_CTYPE,""))) ++ GUTF8String lc_ctype(setlocale(LC_CTYPE,0)); ++ bool repeat; ++ for(repeat=!currentlocale;;repeat=false) ++ { + #endif +- break; +- } ++ retval=(*this)->toNative((GStringRep::EscapeMode)escape); + #if DO_CHANGELOCALE +- if(!repeat) +- { ++ if (!repeat || retval || (lc_ctype == setlocale(LC_CTYPE,""))) ++ break; ++ } ++ if(!repeat) + setlocale(LC_CTYPE,(const char *)lc_ctype); +- } + #endif +- } ++ } + return GNativeString(retval); + } + +@@ -697,27 +693,19 @@ GBaseString::NativeToUTF8(void) const + const char *source=(*this); + #if DO_CHANGELOCALE + GUTF8String lc_ctype=setlocale(LC_CTYPE,0); +-#endif + bool repeat; + for(repeat=true;;repeat=false) +- { +- if( (retval=GStringRep::NativeToUTF8(source)) ) + { +- if(GStringRep::cmp(retval->toNative(),source)) +- { +- retval=GStringRep::UTF8::create((unsigned int)0); +- } +- } +-#if DO_CHANGELOCALE +- if(!repeat || retval || (lc_ctype == setlocale(LC_CTYPE,""))) + #endif +- break; +- } ++ if( (retval=GStringRep::NativeToUTF8(source)) ) ++ if(GStringRep::cmp(retval->toNative(),source)) ++ retval=GStringRep::UTF8::create((unsigned int)0); + #if DO_CHANGELOCALE ++ if(!repeat || retval || (lc_ctype == setlocale(LC_CTYPE,""))) ++ break; ++ } + if(!repeat) +- { + setlocale(LC_CTYPE,(const char *)lc_ctype); +- } + #endif + } + return GUTF8String(retval); +diff --git a/libdjvu/JPEGDecoder.cpp b/libdjvu/JPEGDecoder.cpp +index cb7aa97..f22f77a 100644 +--- a/libdjvu/JPEGDecoder.cpp ++++ b/libdjvu/JPEGDecoder.cpp +@@ -153,7 +153,6 @@ JPEGDecoder::decode(ByteStream & bs,GPixmap &pix) + + JSAMPARRAY buffer; /* Output row buffer */ + int row_stride; /* physical row width in output buffer */ +- int full_buf_size; + int isGrey,i; + + cinfo.err = jpeg_std_error(&jerr.pub); +@@ -184,7 +183,6 @@ JPEGDecoder::decode(ByteStream & bs,GPixmap &pix) + + /* JSAMPLEs per row in output buffer */ + row_stride = cinfo.output_width * cinfo.output_components; +- full_buf_size = row_stride * cinfo.output_height; + + /* Make a one-row-high sample array that will go away when done with image */ + buffer = (*cinfo.mem->alloc_sarray) +diff --git a/libdjvu/XMLParser.cpp b/libdjvu/XMLParser.cpp +index 7da923a..026b27d 100644 +--- a/libdjvu/XMLParser.cpp ++++ b/libdjvu/XMLParser.cpp +@@ -646,17 +646,12 @@ lt_XMLParser::Impl::parse(const lt_XMLTags &tags, GURL *pdjvufile) + GPosition datapos=args.contains("data"); + if(datapos) + { +- bool isDjVuType=false; + GPosition typePos(args.contains("type")); + if(typePos) +- { +- if(args[typePos] != mimetype) + { +- // DjVuPrintErrorUTF8("Ignoring %s Object tag\n",mimetype); ++ if(args[typePos] != mimetype) + continue; + } +- isDjVuType=true; +- } + const GURL url = (pdjvufile) ? *pdjvufile + : GURL::UTF8(args[datapos], + (args[datapos][0] == '/') ? codebase.base() : codebase); +diff --git a/tools/ddjvu.cpp b/tools/ddjvu.cpp +index b9cb038..3b4ce16 100644 +--- a/tools/ddjvu.cpp ++++ b/tools/ddjvu.cpp +@@ -855,7 +855,7 @@ parse_option(int argc, char **argv, int i) + die(i18n(errarg), opt); + flag_verbose = 1; + } +- if (!strcmp(opt,"skip")) ++ else if (!strcmp(opt,"skip")) + { + if (arg) + die(i18n(errarg), opt); +diff --git a/tools/jb2cmp/patterns.cpp b/tools/jb2cmp/patterns.cpp +index e456902..b31cf4e 100644 +--- a/tools/jb2cmp/patterns.cpp ++++ b/tools/jb2cmp/patterns.cpp +@@ -303,11 +303,8 @@ static int32 distance_by_pixeldiff_functions(Image *i1, Image *i2, + int32 (*compare_row)(byte *, byte *, int32), + int32 (*compare_with_white)(byte *, int32), int32 ceiling) + { +- byte **p1, **p2; + int32 w1, w2, h1, h2; + int32 shift_x, shift_y; /* of i1's coordinate system with respect to i2 */ +- /*int32 s = 0, i, i_start, i_cap; +- int32 right_margin_start, right_margin_width;*/ + + /* make i1 to be narrower than i2 */ + if (i1->width > i2->width) +@@ -317,8 +314,8 @@ static int32 distance_by_pixeldiff_functions(Image *i1, Image *i2, + i2 = img; + } + +- w1 = i1->width; h1 = i1->height; p1 = i1->pixels; +- w2 = i2->width; h2 = i2->height; p2 = i2->pixels; ++ w1 = i1->width; h1 = i1->height; ++ w2 = i2->width; h2 = i2->height; + + /* (shift_x, shift_y) */ + /* is what should be added to i1's coordinates to get i2's coordinates. */ +@@ -339,86 +336,6 @@ static int32 distance_by_pixeldiff_functions(Image *i1, Image *i2, + + return distance_by_pixeldiff_functions_by_shift( + i1, i2, compare_row, compare_with_white, ceiling, shift_x, shift_y); +- +-/* FIXME */ +-#if 0 +- /* Compute difference in the non-overlapping top margin */ +- +- if (shift_y < 0) +- { +- /* i1 has top rows not covered by i2 */ +- i_cap = -shift_y; +- for (i = 0; i < i_cap; i++) +- { +- assert(i >= 0 && i < h1); +- s += compare_with_white(p1[i], w1); +- if (s > ceiling) return maxint; +- } +- i_start = i_cap; /* topmost overlapping row in i1's coords */ +- } +- else +- { +- /* i2 has top rows not covered by i1 */ +- for (i = 0; i < shift_y; i++) +- { +- assert(i >= 0 && i < h2); +- s += compare_with_white(p2[i], w2); +- if (s > ceiling) return maxint; +- } +- i_start = 0; +- } +- +- /* Compute difference in the overlapping area */ +- +- i_cap = h2 - shift_y; +- if (h1 < i_cap) i_cap = h1; +- +- right_margin_start = shift_x + w1; +- right_margin_width = w2 - right_margin_start; +- +- for (i = i_start; i < i_cap; i++) /* i is a coordinate in i1 system */ +- { +- int32 y = i + shift_y; /* same row coordinate in i2 system */ +- assert(y >= 0 && y < h2); +- s += compare_with_white(p2[y], shift_x); +- if (s > ceiling) return maxint; +- assert(i >= 0 && i < h1); +- assert(shift_x + w1 <= w2); +- assert(i < h1); +- s += compare_row(p2[y] + shift_x, p1[i], w1); +- if (s > ceiling) return maxint; +- s += compare_with_white(p2[y] + right_margin_start, right_margin_width); +- if (s > ceiling) return maxint; +- } +- +- +- /* Compute difference in the non-overlapping bottom margin */ +- +- if (i_cap == h1) +- { +- /* i2 has bottom rows not covered by i1 */ +- i_start = i_cap + shift_y; +- for (i = i_start; i < h2; i++) +- { +- assert(i >= 0 && i < h2); +- s += compare_with_white(p2[i], w2); +- if (s > ceiling) return maxint; +- } +- } +- else +- { +- /* i1 has bottom rows not covered by i2 */ +- i_start = i_cap; +- for (i = i_cap; i < h1; i++) +- { +- assert(i >= 0 && i < h1); +- s += compare_with_white(p1[i], w1); +- if (s > ceiling) return maxint; +- } +- } +- +- return s; +-#endif + } + + #endif +diff --git a/tools/tiff2pdf.c b/tools/tiff2pdf.c +index 36949f1..2db8703 100644 +--- a/tools/tiff2pdf.c ++++ b/tools/tiff2pdf.c +@@ -721,7 +721,6 @@ tiff2pdf(TIFF *input, FILE *outputfile, int argc, const char **argv) + const char *outfilename = "<null>"; + T2P *t2p = NULL; + TIFF *output = NULL; +- tsize_t written=0; + int c; + + /* T2P */ +@@ -874,7 +873,7 @@ tiff2pdf(TIFF *input, FILE *outputfile, int argc, const char **argv) + TIFFSeekFile(output, (toff_t) 0, SEEK_SET); + + /* Write */ +- written = t2p_write_pdf(t2p, input, output); ++ t2p_write_pdf(t2p, input, output); + if(t2p->t2p_error != 0){ + TIFFError(TIFF2PDF_MODULE, "An error occurred creating output PDF file"); + goto fail; +@@ -2633,7 +2632,6 @@ static tsize_t t2p_readwrite_pdf_image_tile(T2P* t2p, TIFF* input, TIFF* output, + tsize_t read=0; + uint16 i=0; + ttile_t tilecount=0; +- tsize_t tilesize=0; + ttile_t septilecount=0; + tsize_t septilesize=0; + #ifdef JPEG_SUPPORT +@@ -2819,7 +2817,6 @@ static tsize_t t2p_readwrite_pdf_image_tile(T2P* t2p, TIFF* input, TIFF* output, + if(t2p->pdf_sample == T2P_SAMPLE_PLANAR_SEPARATE_TO_CONTIG){ + septilesize=TIFFTileSize(input); + septilecount=TIFFNumberOfTiles(input); +- tilesize=septilesize*t2p->tiff_samplesperpixel; + tilecount=septilecount/t2p->tiff_samplesperpixel; + buffer = (unsigned char*) _TIFFmalloc(t2p->tiff_datasize); + if(buffer==NULL){ +@@ -3802,7 +3799,6 @@ static tsize_t t2p_write_pdf_info(T2P* t2p, TIFF* input, TIFF* output){ + tsize_t written=0; + char* info; + char buffer[512]; +- int buflen=0; + + if(t2p->pdf_datetime==NULL){ + t2p_pdf_tifftime(t2p, input); +@@ -3815,7 +3811,8 @@ static tsize_t t2p_write_pdf_info(T2P* t2p, TIFF* input, TIFF* output){ + } + written += TIFFWriteFile(output, (tdata_t) "\r/Producer ", 11); + _TIFFmemset((tdata_t)buffer, 0x00, 512); +- buflen=sprintf(buffer, "libtiff / tiff2pdf - %d / %s", TIFFLIB_VERSION, T2P_VERSION); ++ sprintf(buffer, "libtiff / tiff2pdf - %d / %s", ++ TIFFLIB_VERSION, T2P_VERSION); + written += t2p_write_pdf_string(buffer, output); + written += TIFFWriteFile(output, (tdata_t) "\r", 1); + if(t2p->pdf_creator != NULL){ +-- +1.7.4.1 + +From 5b3d074c2b315e7339ce279c559c3a99f26bef6a Mon Sep 17 00:00:00 2001 +From: Leon Bottou <leon@bottou.org> +Date: Sat, 4 Jun 2011 17:37:00 -0700 +Subject: [PATCH] Fix MMX code when using gcc-4.6 + +Fix MMX macros +Enable MMX on x86_64 +--- + libdjvu/MMX.cpp | 17 ++++++++++++++++- + libdjvu/MMX.h | 11 ++++++----- + tools/ddjvu.cpp | 1 - + 3 files changed, 22 insertions(+), 7 deletions(-) + +diff --git a/libdjvu/MMX.cpp b/libdjvu/MMX.cpp +index 528dab6..e70fdd8 100644 +--- a/libdjvu/MMX.cpp ++++ b/libdjvu/MMX.cpp +@@ -167,8 +167,23 @@ MMXControl::enable_mmx() + : "=m" (cpuflags) : + : "eax","ecx","edx"); + #endif ++#if defined(MMX) && defined(__GNUC__) && defined(__x86_64__) ++ // Detection of MMX for GCC ++ __asm__ volatile (// Check that CR0:EM is clear ++ "xorl %%edx,%%edx\n\t" ++ "smsw %%ax\n\t" ++ "andl $4,%%eax\n\t" ++ "jnz 1f\n\t" ++ // Execute CPUID ++ "movl $1,%%eax\n\t" ++ "cpuid\n" ++ // Finish ++ "1:\tmovl %%edx, %0" ++ : "=m" (cpuflags) : ++ : "eax","ebx","ecx","edx"); ++#endif + #if defined(MMX) && defined(_MSC_VER) && defined(_M_IX86) +- // Detection of MMX for MSVC ++ // Detection of MMX for MSVC 32 bits + __asm { pushfd + pop ecx + xor edx,edx +diff --git a/libdjvu/MMX.h b/libdjvu/MMX.h +index b0af5e5..f8780af 100644 +--- a/libdjvu/MMX.h ++++ b/libdjvu/MMX.h +@@ -143,17 +143,18 @@ class MMXControl + + #ifndef NO_MMX + +-#if defined(__GNUC__) && defined(__i386__) ++#if defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__)) ++typedef struct{ char c[8]; } MMX_t; + #define MMXemms \ + __asm__ volatile("emms" : : : "memory" ) + #define MMXrr(op,src,dst) \ +- __asm__ volatile( #op " %%" #src ",%%" #dst : : : "memory") ++ __asm__ volatile( #op " %%" #src ",%%" #dst : : : "memory" ) + #define MMXir(op,imm,dst) \ +- __asm__ volatile( #op " %0,%%" #dst : : "i" (imm) : "memory") ++ __asm__ volatile( #op " %0,%%" #dst : : "i" (imm) : "memory" ) + #define MMXar(op,addr,dst) \ +- __asm__ volatile( #op " %0,%%" #dst : : "m" (*(addr)) : "memory") ++ __asm__ volatile( #op " %0,%%" #dst : : "m" (*(MMX_t*)(addr)) : "memory" ) + #define MMXra(op,src,addr) \ +- __asm__ volatile( #op " %%" #src ",%0" : : "m" (*(addr)) : "memory") ++ __asm__ volatile( #op " %%" #src ",%0" : "=m" (*(MMX_t*)(addr)) : : "memory") + #define MMX 1 + #endif + +diff --git a/tools/ddjvu.cpp b/tools/ddjvu.cpp +index 3b4ce16..216c6cb 100644 +--- a/tools/ddjvu.cpp ++++ b/tools/ddjvu.cpp +@@ -846,7 +846,6 @@ parse_option(int argc, char **argv, int i) + arg = opt; + opt = "subsample"; + } +- + /* Parse options */ + if (!strcmp(opt,"v") || + !strcmp(opt,"verbose")) +-- +1.7.4.1 + +From fbed8e51e5970b12ce36afb0dec8c4e02992c0f8 Mon Sep 17 00:00:00 2001 +From: Leon Bottou <leon@bottou.org> +Date: Thu, 9 Jun 2011 14:37:52 -0700 +Subject: [PATCH] Fixed regression in djvm. + +--- + libdjvu/DjVuDocEditor.cpp | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) + +diff --git a/libdjvu/DjVuDocEditor.cpp b/libdjvu/DjVuDocEditor.cpp +index f1d8b0d..baeb7dd 100644 +--- a/libdjvu/DjVuDocEditor.cpp ++++ b/libdjvu/DjVuDocEditor.cpp +@@ -561,6 +561,7 @@ DjVuDocEditor::insert_file(const GURL &file_url, bool is_page, + IFFByteStream::create(file_pool->get_stream())); + IFFByteStream &iff=*giff; + GUTF8String chkid; ++ iff.get_chunk(chkid); + if (chkid!="FORM:DJVI" && chkid!="FORM:DJVU" && + chkid!="FORM:BM44" && chkid!="FORM:PM44") + G_THROW( ERR_MSG("DjVuDocEditor.not_1_page") "\t" +-- +1.7.4.1 + +From f63327438954b8831a1a9f43afc8b6d16e1d3baf Mon Sep 17 00:00:00 2001 +From: Leon Bottou <leon@bottou.org> +Date: Wed, 15 Jun 2011 00:05:50 -0700 +Subject: [PATCH] Encode oblique text as separate lines. + +--- + tools/csepdjvu.cpp | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/tools/csepdjvu.cpp b/tools/csepdjvu.cpp +index d5203d5..08f7a27 100644 +--- a/tools/csepdjvu.cpp ++++ b/tools/csepdjvu.cpp +@@ -1288,7 +1288,7 @@ Comments::textmark(GP<TxtMark> mark) + int shx = (mark->x - lastx) * 100 / fontsize; + int shy = (mark->y - lasty) * 100 / fontsize; + int inter = dirx * shx + diry * shy; +- if ( (dirx == lastdirx) && (diry == lastdiry) && ++ if ( (dirx || diry) && (dirx == lastdirx) && (diry == lastdiry) && + (inter > -150) && (inter < 300) && + abs(diry * shx + dirx * shy) < 80 ) + mark->inter = inter; +-- +1.7.4.1 + +From ea9fd2acab2e298ba721eb79f5026d34e6ef141f Mon Sep 17 00:00:00 2001 +From: Barak A. Pearlmutter <barak+git@cs.nuim.ie> +Date: Wed, 22 Jun 2011 11:21:41 +0100 +Subject: [PATCH] consistent prototype for ddjvu_anno_get_xmp + +--- + libdjvu/ddjvuapi.h | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/libdjvu/ddjvuapi.h b/libdjvu/ddjvuapi.h +index 841f223..14b63eb 100644 +--- a/libdjvu/ddjvuapi.h ++++ b/libdjvu/ddjvuapi.h +@@ -1619,7 +1619,7 @@ ddjvu_anno_get_metadata(miniexp_t annotations, miniexp_t key); + Returns zero if no such key is present. */ + + DDJVUAPI const char * +-ddjvu_anno_get_xmp(miniexp_t annotations, miniexp_t xmp); ++ddjvu_anno_get_xmp(miniexp_t annotations); + + + /* -------------------------------------------------- */ +-- +1.7.4.1 + +From 701d1261493e175955aac97921949f4e4241750d Mon Sep 17 00:00:00 2001 +From: Leon Bottou <leon@bottou.org> +Date: Sun, 11 Sep 2011 09:59:26 -0700 +Subject: [PATCH] Fixed typo in man page. + +--- + tools/ddjvu.1 | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/tools/ddjvu.1 b/tools/ddjvu.1 +index 7d3d105..cbb8307 100644 +--- a/tools/ddjvu.1 ++++ b/tools/ddjvu.1 +@@ -66,7 +66,7 @@ and + .BR "ppm" + respectively produce a Portable Bitmap (PBM), + Portable Graymap (PGM), +-or Portable Pixmap (PGM) file. ++or Portable Pixmap (PPM) file. + Format + .B "pnm" + produces a PBM, PGM, or PPM +-- +1.7.4.1 + diff --git a/staging/emacs/PKGBUILD b/staging/emacs/PKGBUILD new file mode 100644 index 000000000..ec5d8568e --- /dev/null +++ b/staging/emacs/PKGBUILD @@ -0,0 +1,48 @@ +# $Id: PKGBUILD 147096 2012-01-21 21:55:38Z eric $ +# Maintainer: Juergen Hoetzel <juergen@archlinux.org> +# Contributor: Renchi Raju <renchi@green.tam.uiuc.edu> + +pkgname=emacs +_majorver=23.3 +_minorver=b +# We want something like "23.3.a" so pacman version comparison works, but +# upstream uses "23.3a", which is a bit silly and interpreted as alpha. +pkgver=$_majorver.$_minorver +_realver=$_majorver$_minorver +pkgrel=2 +pkgdesc="The extensible, customizable, self-documenting real-time display editor" +arch=('i686' 'x86_64') +url="http://www.gnu.org/software/emacs/emacs.html" +license=('GPL3') +depends=('librsvg' 'gpm' 'giflib' 'libxpm' 'gtk2' 'hicolor-icon-theme' 'gconf' 'desktop-file-utils' 'alsa-lib') +install=emacs.install +source=(ftp://ftp.gnu.org/gnu/emacs/$pkgname-$_realver.tar.bz2{,.sig} emacs-subversion17.patch) +md5sums=('917ce0054ef63773078a6e99b55df1ee' + '4f987fbb906c0ee73e05904b0f7ce5ec' + '12e2e7a66df5cc5ded54e1d30083a1fb') + +build() { + cd "$srcdir"/$pkgname-$_majorver + patch -p1 -i ../emacs-subversion17.patch + ./configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib \ + --localstatedir=/var --with-x-toolkit=gtk --with-xft + make +} + +package() { + cd "$srcdir"/$pkgname-$_majorver + make DESTDIR="$pkgdir" install + + # remove conflict with ctags package + mv "$pkgdir"/usr/bin/{ctags,ctags.emacs} + mv "$pkgdir"/usr/share/man/man1/{ctags.1,ctags.emacs.1} + # fix all the 777 perms on directories + find "$pkgdir"/usr/share/emacs/$_majorver -type d -exec chmod 755 {} \; + # fix user/root permissions on usr/share files + find "$pkgdir"/usr/share/emacs/$_majorver -exec chown root:root {} \; + # fix perms on /var/games + chmod 775 "$pkgdir"/var/games + chmod 775 "$pkgdir"/var/games/emacs + chmod 664 "$pkgdir"/var/games/emacs/* + chown -R root:games "$pkgdir"/var/games +} diff --git a/staging/emacs/emacs-subversion17.patch b/staging/emacs/emacs-subversion17.patch new file mode 100644 index 000000000..e7969de81 --- /dev/null +++ b/staging/emacs/emacs-subversion17.patch @@ -0,0 +1,83 @@ +From d7afd9288e22c466b63c27e7e11783589b07aeff Mon Sep 17 00:00:00 2001 +From: Karl Pflästerer <k@rl.pflaesterer.de> +Date: Sat, 12 Feb 2011 01:12:53 +0000 +Subject: Adapt to Subversion change, with no .svn directory in each sub directory. + +http://lists.gnu.org/archive/html/emacs-devel/2011-02/msg00357.html + +* vc/vc-svn.el (vc-svn-registered): Use vc-svn-root. +(vc-svn-root): New function. Make vc-svn-responsible-p an alias. +(vc-svn-repository-hostname): Use "svn info". +--- +(limited to 'lisp/vc/vc-svn.el') + +diff --git a/lisp/vc/vc-svn.el b/lisp/vc/vc-svn.el +index aefef50..20c7689 100644 +--- a/lisp/vc-svn.el ++++ b/lisp/vc-svn.el +@@ -117,17 +117,13 @@ If you want to force an empty list of arguments, use t." + ;;;###autoload (getenv "SVN_ASP_DOT_NET_HACK")) + ;;;###autoload "_svn") + ;;;###autoload (t ".svn")))) +-;;;###autoload (when (file-readable-p (expand-file-name +-;;;###autoload (concat admin-dir "/entries") +-;;;###autoload (file-name-directory f))) ++;;;###autoload (when (vc-find-root f admin-dir) + ;;;###autoload (load "vc-svn") + ;;;###autoload (vc-svn-registered f)))) + + (defun vc-svn-registered (file) + "Check if FILE is SVN registered." +- (when (file-readable-p (expand-file-name (concat vc-svn-admin-directory +- "/entries") +- (file-name-directory file))) ++ (when (vc-svn-root file) + (with-temp-buffer + (cd (file-name-directory file)) + (let* (process-file-side-effects +@@ -275,14 +271,12 @@ Passes either `vc-svn-register-switches' or `vc-register-switches' + to the SVN command." + (apply 'vc-svn-command nil 0 files "add" (vc-switches 'SVN 'register))) + +-(defun vc-svn-responsible-p (file) +- "Return non-nil if SVN thinks it is responsible for FILE." +- (file-directory-p (expand-file-name vc-svn-admin-directory +- (if (file-directory-p file) +- file +- (file-name-directory file))))) ++(defun vc-svn-root (file) ++ (vc-find-root file vc-svn-admin-directory)) + +-(defalias 'vc-svn-could-register 'vc-svn-responsible-p ++(defalias 'vc-svn-responsible-p 'vc-svn-root) ++ ++(defalias 'vc-svn-could-register 'vc-svn-root + "Return non-nil if FILE could be registered in SVN. + This is only possible if SVN is responsible for FILE's directory.") + +@@ -594,20 +588,10 @@ and that it passes `vc-svn-global-switches' to it before FLAGS." + + (defun vc-svn-repository-hostname (dirname) + (with-temp-buffer +- (let ((coding-system-for-read +- (or file-name-coding-system +- default-file-name-coding-system))) +- (vc-insert-file (expand-file-name (concat vc-svn-admin-directory +- "/entries") +- dirname))) ++ (let (process-file-side-effects) ++ (vc-svn-command t t dirname "info" "--xml")) + (goto-char (point-min)) +- (when (re-search-forward +- ;; Old `svn' used name="svn:this_dir", newer use just name="". +- (concat "name=\"\\(?:svn:this_dir\\)?\"[\n\t ]*" +- "\\(?:[-a-z]+=\"[^\"]*\"[\n\t ]*\\)*?" +- "url=\"\\(?1:[^\"]+\\)\"" +- ;; Yet newer ones don't use XML any more. +- "\\|^\ndir\n[0-9]+\n\\(?1:.*\\)") nil t) ++ (when (re-search-forward "<url>\\(.*\\)</url>" nil t) + ;; This is not a hostname but a URL. This may actually be considered + ;; as a feature since it allows vc-svn-stay-local to specify different + ;; behavior for different modules on the same server. +-- +cgit v0.9.0.2 diff --git a/staging/emacs/emacs.install b/staging/emacs/emacs.install new file mode 100644 index 000000000..d84f1de14 --- /dev/null +++ b/staging/emacs/emacs.install @@ -0,0 +1,32 @@ +ICON_PATH=usr/share/icons/hicolor +INFO_DIR=usr/share/info + +INFO_FILES=(ada-mode auth autotype calc ccmode cl dbus dired-x ebrowse +ede ediff edt efaq eieio eintr elisp emacs emacs-mime epa erc eshell eudc flymake +forms gnus idlwave info mairix-el message mh-e newsticker nxml-mode +org pcl-cvs pgg rcirc reftex remember sasl sc semantic ses sieve smtpmail +speedbar tramp url vip viper widget woman) + +post_install() { + gtk-update-icon-cache -q -t -f ${ICON_PATH} + update-desktop-database -q + + [[ -x usr/bin/install-info ]] || return 0 + for f in ${INFO_FILES[@]}; do + install-info ${INFO_DIR}/$f.gz ${INFO_DIR}/dir 2> /dev/null + done +} + +post_upgrade() { + post_install $1 +} + +pre_remove() { + gtk-update-icon-cache -q -t -f ${ICON_PATH} + update-desktop-database -q + + [[ -x usr/bin/install-info ]] || return 0 + for f in ${INFO_FILES[@]}; do + install-info --delete ${INFO_DIR}/$f.gz ${INFO_DIR}/dir 2> /dev/null + done +} diff --git a/staging/gimp-dbp/PKGBUILD b/staging/gimp-dbp/PKGBUILD new file mode 100644 index 000000000..7575150dc --- /dev/null +++ b/staging/gimp-dbp/PKGBUILD @@ -0,0 +1,25 @@ +# $Id: PKGBUILD 147086 2012-01-21 18:00:41Z eric $ +# Maintainer: tobias <tobias@archlinux.org> +# Contributor: Tobias Kieslich <tobias@justdreams.de> + +pkgname=gimp-dbp +pkgver=1.1.9 +pkgrel=3 +pkgdesc="David's batch processor for the GIMP" +arch=('i686' 'x86_64') +url="http://members.ozemail.com.au/~hodsond/dbp.html" +license=('GPL') +depends=('gimp') +source=(http://www.ozemail.com.au/~hodsond/dbpSrc-${pkgver//./-}.tgz) +md5sums=('1106625707798ab8ea1317ac6bece1c5') + +build() { + cd "${srcdir}/dbp-${pkgver}" + sed -i "s|<string>|<cstring>|" op.h + make +} + +package() { + cd "${srcdir}/dbp-${pkgver}" + install -D -m755 dbp "${pkgdir}/usr/lib/gimp/2.0/plug-ins/dbp" +} diff --git a/staging/gimp-devel/PKGBUILD b/staging/gimp-devel/PKGBUILD new file mode 100644 index 000000000..4f5e74b22 --- /dev/null +++ b/staging/gimp-devel/PKGBUILD @@ -0,0 +1,54 @@ +# $Id: PKGBUILD 147053 2012-01-21 05:38:18Z eric $ +# Maintainer: Eric Bélanger <eric@archlinux.org> + +pkgname=gimp-devel +pkgver=2.7.4 +pkgrel=2 +pkgdesc="GNU Image Manipulation Program (Development Version)" +arch=('i686' 'x86_64') +url="http://www.gimp.org/" +license=('GPL3' 'LGPL3') +depends=('pygtk' 'lcms' 'libxpm' 'libwmf' 'librsvg' 'libmng' 'dbus-glib' \ + 'jasper' 'libexif' 'gegl' 'desktop-file-utils' 'hicolor-icon-theme') +makedepends=('intltool' 'libwebkit' 'poppler-glib' 'alsa-lib' 'iso-codes' 'curl') +optdepends=('gutenprint: for sophisticated printing only as gimp has built-in cups print support' + 'libwebkit: for the help browser or web-page plug-ins' + 'poppler-glib: for pdf support' + 'alsa-lib: for MIDI event controller module' + 'curl: for URI support') +options=('!libtool' '!makeflags') +conflicts=('gimp') +provides=("gimp=${pkgver}") +install=gimp-devel.install +source=(ftp://ftp.gimp.org/pub/gimp/v${pkgver%.*}/gimp-${pkgver}.tar.bz2 linux.gpl) +md5sums=('bda95a29c3483b8ff458b06b1543f867' + 'bb27bc214261d36484093e857f015f38') + +build() { + cd "${srcdir}/gimp-${pkgver}" + PYTHON=/usr/bin/python2 ./configure --prefix=/usr --sysconfdir=/etc \ + --enable-mp --enable-gimp-console --enable-python --with-libcurl \ + --with-gif-compression=lzw --without-aa --without-gvfs + make +} + +#check() { +# cd "${srcdir}/gimp-${pkgver}" +# make check +#} + +package() { + cd "${srcdir}/gimp-${pkgver}" + make DESTDIR="${pkgdir}" install + sed -i 's|#![ ]*/usr/bin/env python|#!/usr/bin/env python2|' "${pkgdir}"/usr/lib/gimp/2.0/plug-ins/*.py + install -D -m644 "${srcdir}/linux.gpl" "${pkgdir}/usr/share/gimp/2.0/palettes/Linux.gpl" + + ln -sf gimp-console-${pkgver%.*}.1.gz "${pkgdir}/usr/share/man/man1/gimp-console.1.gz" + ln -sf gimprc-${pkgver%.*}.5.gz "${pkgdir}/usr/share/man/man5/gimprc.5.gz" + ln -sf gimptool-2.0.1.gz "${pkgdir}/usr/share/man/man1/gimptool.1.gz" + ln -s gimp-${pkgver%.*}.1.gz "${pkgdir}/usr/share/man/man1/gimp.1.gz" + + ln -s gimp-${pkgver%.*} "${pkgdir}/usr/bin/gimp" + ln -s gimp-console-${pkgver%.*} "${pkgdir}/usr/bin/gimp-console" + ln -s gimptool-2.0 "${pkgdir}/usr/bin/gimptool" +} diff --git a/staging/gimp-devel/gimp-devel.install b/staging/gimp-devel/gimp-devel.install new file mode 100644 index 000000000..c317fbaca --- /dev/null +++ b/staging/gimp-devel/gimp-devel.install @@ -0,0 +1,12 @@ +post_install() { + update-desktop-database -q + gtk-update-icon-cache -q -t -f usr/share/icons/hicolor +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/staging/gimp-devel/linux.gpl b/staging/gimp-devel/linux.gpl new file mode 100644 index 000000000..0a73d8979 --- /dev/null +++ b/staging/gimp-devel/linux.gpl @@ -0,0 +1,19 @@ +GIMP Palette +Name: linux +# + 0 0 0 + 0 0 170 + 0 170 0 + 0 170 170 +170 0 0 +170 0 170 +170 85 0 +170 170 170 + 85 85 85 + 85 85 255 + 85 255 85 + 85 255 255 +255 85 85 +255 85 255 +255 255 85 +255 255 255 diff --git a/staging/gimp-ufraw/PKGBUILD b/staging/gimp-ufraw/PKGBUILD new file mode 100644 index 000000000..229159b5e --- /dev/null +++ b/staging/gimp-ufraw/PKGBUILD @@ -0,0 +1,34 @@ +# $Id: PKGBUILD 147080 2012-01-21 17:07:06Z eric $ +# Maintainer: Tobias Kieslich <tobias@archlinux.org> + +pkgname=gimp-ufraw +pkgver=0.18 +pkgrel=4 +pkgdesc="Standalone or gimp plugin converter for raw files" +url="http://ufraw.sourceforge.net/" +arch=('i686' 'x86_64') +license=('GPL') +depends=('gtkimageview' 'exiv2' 'lcms' 'bzip2' 'desktop-file-utils') +makedepends=('gimp' 'cinepaint') +optdepends=('gimp: to use the gimp import plugin for raw images' + 'cinepaint: to use the cinepaint import plugin for raw images') +install=gimp-ufraw.install +source=(http://downloads.sourceforge.net/ufraw/ufraw-${pkgver}.tar.gz) +sha1sums=('41c9ad7aa7f1cbb63a6b0b330b3599b18a7e8cd2') + +build() { + cd "${srcdir}/ufraw-${pkgver}" + + ./configure --prefix=/usr \ + --enable-extras \ + --enable-mime \ + --enable-openmp + sed -i "s/-ffast-math -fomit-frame-pointer -W -Wall -O3/${CFLAGS}/" Makefile + make +} + +package() { + cd "${srcdir}/ufraw-${pkgver}" + make DESTDIR="${pkgdir}" install + rm -f "${pkgdir}/usr/bin/dcraw" +} diff --git a/staging/gimp-ufraw/gimp-ufraw.install b/staging/gimp-ufraw/gimp-ufraw.install new file mode 100644 index 000000000..80312d4a6 --- /dev/null +++ b/staging/gimp-ufraw/gimp-ufraw.install @@ -0,0 +1,11 @@ +post_install() { + update-desktop-database -q +} + +post_upgrade() { + update-desktop-database -q +} + +post_remove() { + update-desktop-database -q +} diff --git a/staging/gimp/PKGBUILD b/staging/gimp/PKGBUILD new file mode 100644 index 000000000..6a95fb2b3 --- /dev/null +++ b/staging/gimp/PKGBUILD @@ -0,0 +1,53 @@ +# $Id: PKGBUILD 147055 2012-01-21 08:27:32Z eric $ +# Maintainer: tobias <tobias@archlinux.org> + +pkgname=gimp +pkgver=2.6.11 +pkgrel=8 +pkgdesc="GNU Image Manipulation Program" +arch=('i686' 'x86_64') +url="http://www.gimp.org/" +license=('GPL' 'LGPL') +depends=('pygtk' 'lcms' 'libxpm' 'libwmf' 'libxmu' 'librsvg' 'libmng' 'dbus-glib' \ + 'libexif' 'gegl' 'desktop-file-utils' 'hicolor-icon-theme') +makedepends=('intltool' 'libwebkit' 'poppler-glib' 'alsa-lib' 'iso-codes' 'curl') +optdepends=('gutenprint: for sophisticated printing only as gimp has built-in cups print support' + 'libwebkit: for the help browser' + 'poppler-glib: for pdf support' + 'alsa-lib: for MIDI event controller module' + 'curl: for URI support') +options=('!libtool' '!makeflags') +conflicts=('gimp-devel') +install=gimp.install +source=(ftp://ftp.gimp.org/pub/gimp/v${pkgver%.*}/${pkgname}-${pkgver}.tar.bz2 linux.gpl + uri-backend-libcurl.patch gimp-poppler-0.18.patch libpng_compile.patch) +sha1sums=('2f9d596e727bdbf304fa78257c1731d9faf3934c' + '110ce9798173b19a662d086ed7b882b4729f06cf' + 'a65b0ee6cd1b4345065b7b98c07f2fed15f844f4' + '1479a6d80be7adf74f66a3b88057a5029fe892e8' + '5ce329d2e2cb136e93f16117fa79ab6e31866f68') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + patch -p1 < ../uri-backend-libcurl.patch + patch -p1 < ../gimp-poppler-0.18.patch + patch -p1 < ../libpng_compile.patch + PYTHON=/usr/bin/python2 LIBS+="-lgobject-2.0 -lglib-2.0 -lm" \ + ./configure --prefix=/usr --sysconfdir=/etc \ + --enable-mp --enable-gimp-console --enable-gimp-remote \ + --enable-python --with-gif-compression=lzw --with-libcurl \ + --without-aa --without-hal --without-gvfs --without-gnomevfs + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install + sed -i 's|#!/usr/bin/env python|#!/usr/bin/env python2|' "${pkgdir}"/usr/lib/gimp/2.0/plug-ins/*.py + install -D -m644 "${srcdir}/linux.gpl" "${pkgdir}/usr/share/gimp/2.0/palettes/Linux.gpl" + + rm "${pkgdir}/usr/share/man/man1/gimp-console.1" + ln -s gimp-console-${pkgver%.*}.1.gz "${pkgdir}/usr/share/man/man1/gimp-console.1.gz" + ln -s gimptool-2.0 "${pkgdir}/usr/bin/gimptool" + ln -sf gimptool-2.0.1.gz "${pkgdir}/usr/share/man/man1/gimptool.1.gz" +} diff --git a/staging/gimp/gimp-poppler-0.18.patch b/staging/gimp/gimp-poppler-0.18.patch new file mode 100644 index 000000000..0715460bc --- /dev/null +++ b/staging/gimp/gimp-poppler-0.18.patch @@ -0,0 +1,476 @@ +From 69f69eed816b89be9a01a48a1f0643d1fd496118 Mon Sep 17 00:00:00 2001 +From: Nils Philippsen <nils@redhat.com> +Date: Fri, 6 May 2011 11:58:44 +0200 +Subject: [PATCH] patch: poppler-0.17 + +Squashed commit of the following: + +commit 529d940222dfc352d41fbf72de29134421aa4002 +Author: Nils Philippsen <nils@redhat.com> +Date: Fri May 6 11:50:30 2011 +0200 + + use code based on pixbufs instead of cairo surfaces + + this is done to avoid adding to libgimp, thanks to Mukund Sivaraman for + hints how to do this + +commit f8671d8767d4cdab830dc06310e96c63a88ec0fd +Author: Mukund Sivaraman <muks@banu.com> +Date: Thu Apr 21 13:57:13 2011 +0530 + + file-pdf-load: Update attribution, removing bogus copyright + (cherry picked from commit e999122e0b20b6ccd6bde3ce039bb64068fc0019) + +commit 89a78f2590d298dac2f42e6d9a3016fc5d672c70 +Author: Nils Philippsen <nils@redhat.com> +Date: Thu Apr 21 13:52:18 2011 +0200 + + file-pdf-load: Use better API + cleanups + + * fixes issues with poppler 0.17 completely + * uses new libgimp API to pass surfaces instead of pixbufs + * uses GTK+ 3 API to convert surfaces to pixbufs where available + (backported from commit 7bdadd80ba479d6ff904e276d805e16f6b940ee2) + +commit 4e92302c4a14a961f112587a0ad86696c88da2f8 +Author: Nils Philippsen <nils@redhat.com> +Date: Thu Apr 21 13:38:08 2011 +0200 + + file-pdf-load: Don't use deprecated API (bug #646947) + + (cherry picked from commit 9b3e1c91fd2eac69da6947ec9c7fbf10096ba237) + + Conflicts: + + plug-ins/common/file-pdf.c +--- + plug-ins/common/file-pdf.c | 323 ++++++++++++++++++++++++++++++++++++++------ + 1 files changed, 283 insertions(+), 40 deletions(-) + +diff --git a/plug-ins/common/file-pdf.c b/plug-ins/common/file-pdf.c +index a43b459..43c2b7d 100644 +--- a/plug-ins/common/file-pdf.c ++++ b/plug-ins/common/file-pdf.c +@@ -4,6 +4,9 @@ + * + * Copyright (C) 2005 Nathan Summers + * ++ * Some code in render_page_to_surface() borrowed from ++ * poppler.git/glib/poppler-page.cc. ++ * + * 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 +@@ -80,16 +83,20 @@ static gboolean load_dialog (PopplerDocument *doc, + static PopplerDocument * open_document (const gchar *filename, + GError **error); + +-static GdkPixbuf * get_thumbnail (PopplerDocument *doc, ++static cairo_surface_t * get_thumb_surface (PopplerDocument *doc, ++ gint page, ++ gint preferred_size); ++ ++static GdkPixbuf * get_thumb_pixbuf (PopplerDocument *doc, + gint page, + gint preferred_size); + + static gint32 layer_from_pixbuf (gint32 image, +- const gchar *layer_name, +- gint position, +- GdkPixbuf *buf, +- gdouble progress_start, +- gdouble progress_scale); ++ const gchar *layer_name, ++ gint position, ++ GdkPixbuf *pixbuf, ++ gdouble progress_start, ++ gdouble progress_scale); + + /** + ** the following was formerly part of +@@ -433,11 +440,12 @@ run (const gchar *name, + } + else + { +- gdouble width = 0; +- gdouble height = 0; +- gdouble scale; +- gint32 image = -1; +- GdkPixbuf *pixbuf = NULL; ++ gdouble width = 0; ++ gdouble height = 0; ++ gdouble scale; ++ gint32 image = -1; ++ gint num_pages = 0; ++ GdkPixbuf *pixbuf = NULL; + + /* Possibly retrieve last settings */ + gimp_get_data (LOAD_PROC, &loadvals); +@@ -455,7 +463,10 @@ run (const gchar *name, + g_object_unref (page); + } + +- pixbuf = get_thumbnail (doc, 0, param[1].data.d_int32); ++ num_pages = poppler_document_get_n_pages (doc); ++ ++ pixbuf = get_thumb_pixbuf (doc, 0, param[1].data.d_int32); ++ + g_object_unref (doc); + } + +@@ -548,6 +559,187 @@ open_document (const gchar *filename, + return doc; + } + ++/* FIXME: Remove this someday when we depend fully on GTK+ >= 3 */ ++ ++#if (!GTK_CHECK_VERSION (3, 0, 0)) ++ ++static cairo_format_t ++gdk_cairo_format_for_content (cairo_content_t content) ++{ ++ switch (content) ++ { ++ case CAIRO_CONTENT_COLOR: ++ return CAIRO_FORMAT_RGB24; ++ case CAIRO_CONTENT_ALPHA: ++ return CAIRO_FORMAT_A8; ++ case CAIRO_CONTENT_COLOR_ALPHA: ++ default: ++ return CAIRO_FORMAT_ARGB32; ++ } ++} ++ ++static cairo_surface_t * ++gdk_cairo_surface_coerce_to_image (cairo_surface_t *surface, ++ cairo_content_t content, ++ int src_x, ++ int src_y, ++ int width, ++ int height) ++{ ++ cairo_surface_t *copy; ++ cairo_t *cr; ++ ++ copy = cairo_image_surface_create (gdk_cairo_format_for_content (content), ++ width, ++ height); ++ ++ cr = cairo_create (copy); ++ cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE); ++ cairo_set_source_surface (cr, surface, -src_x, -src_y); ++ cairo_paint (cr); ++ cairo_destroy (cr); ++ ++ return copy; ++} ++ ++static void ++convert_alpha (guchar *dest_data, ++ int dest_stride, ++ guchar *src_data, ++ int src_stride, ++ int src_x, ++ int src_y, ++ int width, ++ int height) ++{ ++ int x, y; ++ ++ src_data += src_stride * src_y + src_x * 4; ++ ++ for (y = 0; y < height; y++) { ++ guint32 *src = (guint32 *) src_data; ++ ++ for (x = 0; x < width; x++) { ++ guint alpha = src[x] >> 24; ++ ++ if (alpha == 0) ++ { ++ dest_data[x * 4 + 0] = 0; ++ dest_data[x * 4 + 1] = 0; ++ dest_data[x * 4 + 2] = 0; ++ } ++ else ++ { ++ dest_data[x * 4 + 0] = (((src[x] & 0xff0000) >> 16) * 255 + alpha / 2) / alpha; ++ dest_data[x * 4 + 1] = (((src[x] & 0x00ff00) >> 8) * 255 + alpha / 2) / alpha; ++ dest_data[x * 4 + 2] = (((src[x] & 0x0000ff) >> 0) * 255 + alpha / 2) / alpha; ++ } ++ dest_data[x * 4 + 3] = alpha; ++ } ++ ++ src_data += src_stride; ++ dest_data += dest_stride; ++ } ++} ++ ++static void ++convert_no_alpha (guchar *dest_data, ++ int dest_stride, ++ guchar *src_data, ++ int src_stride, ++ int src_x, ++ int src_y, ++ int width, ++ int height) ++{ ++ int x, y; ++ ++ src_data += src_stride * src_y + src_x * 4; ++ ++ for (y = 0; y < height; y++) { ++ guint32 *src = (guint32 *) src_data; ++ ++ for (x = 0; x < width; x++) { ++ dest_data[x * 3 + 0] = src[x] >> 16; ++ dest_data[x * 3 + 1] = src[x] >> 8; ++ dest_data[x * 3 + 2] = src[x]; ++ } ++ ++ src_data += src_stride; ++ dest_data += dest_stride; ++ } ++} ++ ++/** ++ * gdk_pixbuf_get_from_surface: ++ * @surface: surface to copy from ++ * @src_x: Source X coordinate within @surface ++ * @src_y: Source Y coordinate within @surface ++ * @width: Width in pixels of region to get ++ * @height: Height in pixels of region to get ++ * ++ * Transfers image data from a #cairo_surface_t and converts it to an RGB(A) ++ * representation inside a #GdkPixbuf. This allows you to efficiently read ++ * individual pixels from cairo surfaces. For #GdkWindows, use ++ * gdk_pixbuf_get_from_window() instead. ++ * ++ * This function will create an RGB pixbuf with 8 bits per channel. ++ * The pixbuf will contain an alpha channel if the @surface contains one. ++ * ++ * Return value: (transfer full): A newly-created pixbuf with a reference ++ * count of 1, or %NULL on error ++ */ ++static GdkPixbuf * ++gdk_pixbuf_get_from_surface (cairo_surface_t *surface, ++ gint src_x, ++ gint src_y, ++ gint width, ++ gint height) ++{ ++ cairo_content_t content; ++ GdkPixbuf *dest; ++ ++ /* General sanity checks */ ++ g_return_val_if_fail (surface != NULL, NULL); ++ g_return_val_if_fail (width > 0 && height > 0, NULL); ++ ++ content = cairo_surface_get_content (surface) | CAIRO_CONTENT_COLOR; ++ dest = gdk_pixbuf_new (GDK_COLORSPACE_RGB, ++ !!(content & CAIRO_CONTENT_ALPHA), ++ 8, ++ width, height); ++ ++ surface = gdk_cairo_surface_coerce_to_image (surface, content, ++ src_x, src_y, ++ width, height); ++ cairo_surface_flush (surface); ++ if (cairo_surface_status (surface) || dest == NULL) ++ { ++ cairo_surface_destroy (surface); ++ return NULL; ++ } ++ ++ if (gdk_pixbuf_get_has_alpha (dest)) ++ convert_alpha (gdk_pixbuf_get_pixels (dest), ++ gdk_pixbuf_get_rowstride (dest), ++ cairo_image_surface_get_data (surface), ++ cairo_image_surface_get_stride (surface), ++ 0, 0, ++ width, height); ++ else ++ convert_no_alpha (gdk_pixbuf_get_pixels (dest), ++ gdk_pixbuf_get_rowstride (dest), ++ cairo_image_surface_get_data (surface), ++ cairo_image_surface_get_stride (surface), ++ 0, 0, ++ width, height); ++ ++ cairo_surface_destroy (surface); ++ return dest; ++} ++ ++#endif ++ + static gint32 + layer_from_pixbuf (gint32 image, + const gchar *layer_name, +@@ -566,6 +758,54 @@ layer_from_pixbuf (gint32 image, + return layer; + } + ++static cairo_surface_t * ++render_page_to_surface (PopplerPage *page, ++ int width, ++ int height, ++ double scale) ++{ ++ cairo_surface_t *surface; ++ cairo_t *cr; ++ ++ surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, width, height); ++ cr = cairo_create (surface); ++ ++ cairo_save (cr); ++ cairo_translate (cr, 0.0, 0.0); ++ ++ if (scale != 1.0) ++ cairo_scale (cr, scale, scale); ++ ++ poppler_page_render (page, cr); ++ cairo_restore (cr); ++ ++ cairo_set_operator (cr, CAIRO_OPERATOR_DEST_OVER); ++ cairo_set_source_rgb (cr, 1.0, 1.0, 1.0); ++ cairo_paint (cr); ++ ++ cairo_destroy (cr); ++ ++ return surface; ++} ++ ++static GdkPixbuf * ++render_page_to_pixbuf (PopplerPage *page, ++ int width, ++ int height, ++ double scale) ++{ ++ GdkPixbuf *pixbuf; ++ cairo_surface_t *surface; ++ ++ surface = render_page_to_surface (page, width, height, scale); ++ pixbuf = gdk_pixbuf_get_from_surface (surface, 0, 0, ++ cairo_image_surface_get_width (surface), ++ cairo_image_surface_get_height (surface)); ++ cairo_surface_destroy (surface); ++ ++ return pixbuf; ++} ++ + static gint32 + load_image (PopplerDocument *doc, + const gchar *filename, +@@ -597,7 +837,7 @@ load_image (PopplerDocument *doc, + gdouble page_width; + gdouble page_height; + +- GdkPixbuf *buf; ++ GdkPixbuf *pixbuf; + gint width; + gint height; + +@@ -627,15 +867,13 @@ load_image (PopplerDocument *doc, + gimp_image_set_resolution (image_ID, resolution, resolution); + } + +- buf = gdk_pixbuf_new (GDK_COLORSPACE_RGB, FALSE, 8, width, height); +- +- poppler_page_render_to_pixbuf (page, 0, 0, width, height, scale, 0, buf); ++ pixbuf = render_page_to_pixbuf (page, width, height, scale); + +- layer_from_pixbuf (image_ID, page_label, i, buf, ++ layer_from_pixbuf (image_ID, page_label, i, pixbuf, + doc_progress, 1.0 / pages->n_pages); + + g_free (page_label); +- g_object_unref (buf); ++ g_object_unref(pixbuf); + + doc_progress = (double) (i + 1) / pages->n_pages; + gimp_progress_update (doc_progress); +@@ -676,30 +914,22 @@ load_image (PopplerDocument *doc, + return image_ID; + } + +-static GdkPixbuf * +-get_thumbnail (PopplerDocument *doc, +- gint page_num, +- gint preferred_size) ++static cairo_surface_t * ++get_thumb_surface (PopplerDocument *doc, ++ gint page_num, ++ gint preferred_size) + { + PopplerPage *page; +- GdkPixbuf *pixbuf; ++ cairo_surface_t *surface; + + page = poppler_document_get_page (doc, page_num); + + if (! page) + return NULL; + +- /* XXX: Remove conditional when we depend on poppler 0.8.0, but also +- * add configure check to make sure POPPLER_WITH_GDK is enabled! +- */ +-#ifdef POPPLER_WITH_GDK +- pixbuf = poppler_page_get_thumbnail_pixbuf (page); +-#else +- pixbuf = poppler_page_get_thumbnail (page); +-#endif +- ++ surface = poppler_page_get_thumbnail (page); + +- if (! pixbuf) ++ if (! surface) + { + gdouble width; + gdouble height; +@@ -712,15 +942,28 @@ get_thumbnail (PopplerDocument *doc, + width *= scale; + height *= scale; + +- pixbuf = gdk_pixbuf_new (GDK_COLORSPACE_RGB, FALSE, 8, +- width, height); +- +- poppler_page_render_to_pixbuf (page, +- 0, 0, width, height, scale, 0, pixbuf); ++ surface = render_page_to_surface (page, width, height, scale); + } + + g_object_unref (page); + ++ return surface; ++} ++ ++static GdkPixbuf * ++get_thumb_pixbuf (PopplerDocument *doc, ++ gint page_num, ++ gint preferred_size) ++{ ++ cairo_surface_t *surface; ++ GdkPixbuf *pixbuf; ++ ++ surface = get_thumb_surface (doc, page_num, preferred_size); ++ pixbuf = gdk_pixbuf_get_from_surface (surface, 0, 0, ++ cairo_image_surface_get_width (surface), ++ cairo_image_surface_get_height (surface)); ++ cairo_surface_destroy (surface); ++ + return pixbuf; + } + +@@ -769,8 +1012,8 @@ thumbnail_thread (gpointer data) + idle_data->page_no = i; + + /* FIXME get preferred size from somewhere? */ +- idle_data->pixbuf = get_thumbnail (thread_data->document, i, +- THUMBNAIL_SIZE); ++ idle_data->pixbuf = get_thumb_pixbuf (thread_data->document, i, ++ THUMBNAIL_SIZE); + + g_idle_add (idle_set_thumbnail, idle_data); + +-- +1.7.5 diff --git a/staging/gimp/gimp.install b/staging/gimp/gimp.install new file mode 100644 index 000000000..c317fbaca --- /dev/null +++ b/staging/gimp/gimp.install @@ -0,0 +1,12 @@ +post_install() { + update-desktop-database -q + gtk-update-icon-cache -q -t -f usr/share/icons/hicolor +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/staging/gimp/libpng_compile.patch b/staging/gimp/libpng_compile.patch new file mode 100644 index 000000000..26d3f9427 --- /dev/null +++ b/staging/gimp/libpng_compile.patch @@ -0,0 +1,984 @@ +Description: fix compilation against libpng 1.5 +Origin: upstream, 2.6 branch, diff of 2917a0e..e7469007 +Bug-Debian: http://bugs.debian.org/649972 + +diff --git a/plug-ins/common/file-mng.c b/plug-ins/common/file-mng.c +index 29dd155..8054504 100644 +--- a/plug-ins/common/file-mng.c ++++ b/plug-ins/common/file-mng.c +@@ -136,7 +136,6 @@ struct mng_data_t + gint32 default_dispose; + }; + +- + /* Values of the instance of the above struct when the plug-in is + * first invoked. */ + +@@ -160,6 +159,21 @@ static struct mng_data_t mng_data = + }; + + ++/* These are not saved or restored. */ ++ ++struct mng_globals_t ++{ ++ gboolean has_trns; ++ png_bytep trans; ++ int num_trans; ++ gboolean has_plte; ++ png_colorp palette; ++ int num_palette; ++}; ++ ++static struct mng_globals_t mngg; ++ ++ + /* The output FILE pointer which is used by libmng; + * passed around as user data. */ + struct mnglib_userdata_t +@@ -196,7 +210,8 @@ static gboolean respin_cmap (png_structp png_ptr, + png_infop png_info_ptr, + guchar *remap, + gint32 image_id, +- GimpDrawable *drawable); ++ GimpDrawable *drawable, ++ int *bit_depth); + + static gboolean mng_save_image (const gchar *filename, + gint32 image_id, +@@ -414,6 +429,18 @@ ia_has_transparent_pixels (guchar *pixels, + return FALSE; + } + ++static int ++get_bit_depth_for_palette (int num_palette) ++{ ++ if (num_palette <= 2) ++ return 1; ++ else if (num_palette <= 4) ++ return 2; ++ else if (num_palette <= 16) ++ return 4; ++ else ++ return 8; ++} + + /* Spins the color map (palette) putting the transparent color at + * index 0 if there is space. If there isn't any space, warn the user +@@ -422,11 +449,12 @@ ia_has_transparent_pixels (guchar *pixels, + */ + + static gboolean +-respin_cmap (png_structp png_ptr, +- png_infop png_info_ptr, ++respin_cmap (png_structp pp, ++ png_infop info, + guchar *remap, + gint32 image_id, +- GimpDrawable *drawable) ++ GimpDrawable *drawable, ++ int *bit_depth) + { + static guchar trans[] = { 0 }; + guchar *before; +@@ -464,10 +492,13 @@ respin_cmap (png_structp png_ptr, + + if (transparent != -1) + { +- png_color palette[256] = { {0, 0, 0} }; ++ static png_color palette[256] = { {0, 0, 0} }; + gint i; + +- png_set_tRNS (png_ptr, png_info_ptr, (png_bytep) trans, 1, NULL); ++ /* Set tRNS chunk values for writing later. */ ++ mngg.has_trns = TRUE; ++ mngg.trans = trans; ++ mngg.num_trans = 1; + + /* Transform all pixels with a value = transparent to + * 0 and vice versa to compensate for re-ordering in palette +@@ -489,7 +520,12 @@ respin_cmap (png_structp png_ptr, + palette[i].blue = before[3 * remap[i] + 2]; + } + +- png_set_PLTE (png_ptr, png_info_ptr, (png_colorp) palette, colors); ++ /* Set PLTE chunk values for writing later. */ ++ mngg.has_plte = TRUE; ++ mngg.palette = palette; ++ mngg.num_palette = colors; ++ ++ *bit_depth = get_bit_depth_for_palette (colors); + + return TRUE; + } +@@ -500,7 +536,10 @@ respin_cmap (png_structp png_ptr, + } + } + +- png_set_PLTE (png_ptr, png_info_ptr, (png_colorp) before, colors); ++ mngg.has_plte = TRUE; ++ mngg.palette = (png_colorp) before; ++ mngg.num_palette = colors; ++ *bit_depth = get_bit_depth_for_palette (colors); + + return FALSE; + } +@@ -777,7 +816,6 @@ mng_save_image (const gchar *filename, + + for (i = (num_layers - 1); i >= 0; i--) + { +- gint num_colors; + GimpImageType layer_drawable_type; + GimpDrawable *layer_drawable; + gint layer_offset_x, layer_offset_y; +@@ -795,8 +833,8 @@ mng_save_image (const gchar *filename, + gchar frame_mode; + int frame_delay; + gchar *temp_file_name; +- png_structp png_ptr; +- png_infop png_info_ptr; ++ png_structp pp; ++ png_infop info; + FILE *infile, *outfile; + int num_passes; + int tile_height; +@@ -804,6 +842,8 @@ mng_save_image (const gchar *filename, + int pass, j, k, begin, end, num; + guchar *fixed; + guchar layer_remap[256]; ++ int color_type; ++ int bit_depth; + + layer_name = gimp_drawable_get_name (layers[i]); + layer_chunks_type = parse_chunks_type_from_layer_name (layer_name); +@@ -948,9 +988,9 @@ mng_save_image (const gchar *filename, + goto err3; + } + +- png_ptr = png_create_write_struct (PNG_LIBPNG_VER_STRING, ++ pp = png_create_write_struct (PNG_LIBPNG_VER_STRING, + NULL, NULL, NULL); +- if (NULL == png_ptr) ++ if (NULL == pp) + { + g_warning ("Unable to png_create_write_struct() in mng_save_image()"); + fclose (outfile); +@@ -958,89 +998,97 @@ mng_save_image (const gchar *filename, + goto err3; + } + +- png_info_ptr = png_create_info_struct (png_ptr); +- if (NULL == png_info_ptr) ++ info = png_create_info_struct (pp); ++ if (NULL == info) + { + g_warning + ("Unable to png_create_info_struct() in mng_save_image()"); +- png_destroy_write_struct (&png_ptr, NULL); ++ png_destroy_write_struct (&pp, NULL); + fclose (outfile); + g_unlink (temp_file_name); + goto err3; + } + +- if (setjmp (png_ptr->jmpbuf) != 0) ++ if (setjmp (png_jmpbuf (pp)) != 0) + { + g_warning ("HRM saving PNG in mng_save_image()"); +- png_destroy_write_struct (&png_ptr, &png_info_ptr); ++ png_destroy_write_struct (&pp, &info); + fclose (outfile); + g_unlink (temp_file_name); + goto err3; + } + +- png_init_io (png_ptr, outfile); +- png_set_compression_level (png_ptr, mng_data.compression_level); ++ png_init_io (pp, outfile); + +- png_info_ptr->width = layer_cols; +- png_info_ptr->height = layer_rows; +- png_info_ptr->interlace_type = (mng_data.interlaced == 0 ? 0 : 1); +- png_info_ptr->bit_depth = 8; ++ bit_depth = 8; + + switch (layer_drawable_type) + { + case GIMP_RGB_IMAGE: +- png_info_ptr->color_type = PNG_COLOR_TYPE_RGB; ++ color_type = PNG_COLOR_TYPE_RGB; + break; + case GIMP_RGBA_IMAGE: +- png_info_ptr->color_type = PNG_COLOR_TYPE_RGB_ALPHA; ++ color_type = PNG_COLOR_TYPE_RGB_ALPHA; + break; + case GIMP_GRAY_IMAGE: +- png_info_ptr->color_type = PNG_COLOR_TYPE_GRAY; ++ color_type = PNG_COLOR_TYPE_GRAY; + break; + case GIMP_GRAYA_IMAGE: +- png_info_ptr->color_type = PNG_COLOR_TYPE_GRAY_ALPHA; ++ color_type = PNG_COLOR_TYPE_GRAY_ALPHA; + break; + case GIMP_INDEXED_IMAGE: +- png_info_ptr->color_type = PNG_COLOR_TYPE_PALETTE; +- png_info_ptr->valid |= PNG_INFO_PLTE; +- png_info_ptr->palette = +- (png_colorp) gimp_image_get_colormap (image_id, &num_colors); +- png_info_ptr->num_palette = num_colors; ++ color_type = PNG_COLOR_TYPE_PALETTE; ++ mngg.has_plte = TRUE; ++ mngg.palette = (png_colorp) ++ gimp_image_get_colormap (image_id, &mngg.num_palette); ++ bit_depth = get_bit_depth_for_palette (mngg.num_palette); + break; + case GIMP_INDEXEDA_IMAGE: +- png_info_ptr->color_type = PNG_COLOR_TYPE_PALETTE; ++ color_type = PNG_COLOR_TYPE_PALETTE; + layer_has_unique_palette = +- respin_cmap (png_ptr, png_info_ptr, layer_remap, +- image_id, layer_drawable); ++ respin_cmap (pp, info, layer_remap, ++ image_id, layer_drawable, ++ &bit_depth); + break; + default: + g_warning ("This can't be!\n"); +- png_destroy_write_struct (&png_ptr, &png_info_ptr); ++ png_destroy_write_struct (&pp, &info); + fclose (outfile); + g_unlink (temp_file_name); + goto err3; + } + +- if ((png_info_ptr->valid & PNG_INFO_PLTE) == PNG_INFO_PLTE) ++ /* Note: png_set_IHDR() must be called before any other ++ png_set_*() functions. */ ++ png_set_IHDR (pp, info, layer_cols, layer_rows, ++ bit_depth, ++ color_type, ++ mng_data.interlaced ? PNG_INTERLACE_ADAM7 : PNG_INTERLACE_NONE, ++ PNG_COMPRESSION_TYPE_BASE, ++ PNG_FILTER_TYPE_BASE); ++ ++ if (mngg.has_trns) ++ { ++ png_set_tRNS (pp, info, mngg.trans, mngg.num_trans, NULL); ++ } ++ ++ if (mngg.has_plte) + { +- if (png_info_ptr->num_palette <= 2) +- png_info_ptr->bit_depth = 1; +- else if (png_info_ptr->num_palette <= 4) +- png_info_ptr->bit_depth = 2; +- else if (png_info_ptr->num_palette <= 16) +- png_info_ptr->bit_depth = 4; ++ png_set_PLTE (pp, info, mngg.palette, mngg.num_palette); + } + +- png_write_info (png_ptr, png_info_ptr); ++ png_set_compression_level (pp, mng_data.compression_level); ++ ++ png_write_info (pp, info); + + if (mng_data.interlaced != 0) +- num_passes = png_set_interlace_handling (png_ptr); ++ num_passes = png_set_interlace_handling (pp); + else + num_passes = 1; + +- if ((png_info_ptr->color_type == PNG_COLOR_TYPE_PALETTE) && +- (png_info_ptr->bit_depth < 8)) +- png_set_packing (png_ptr); ++ if ((color_type == PNG_COLOR_TYPE_PALETTE) && ++ (bit_depth < 8)) ++ png_set_packing (pp); + + tile_height = gimp_tile_height (); + layer_pixel = g_new (guchar, tile_height * layer_cols * layer_bpp); +@@ -1065,7 +1113,7 @@ mng_save_image (const gchar *filename, + gimp_pixel_rgn_get_rect (&layer_pixel_rgn, layer_pixel, 0, + begin, layer_cols, num); + +- if ((png_info_ptr->valid & PNG_INFO_tRNS) == PNG_INFO_tRNS) ++ if (png_get_valid (pp, info, PNG_INFO_tRNS)) + { + for (j = 0; j < num; j++) + { +@@ -1077,7 +1125,7 @@ mng_save_image (const gchar *filename, + } + } + else +- if (((png_info_ptr->valid & PNG_INFO_PLTE) == PNG_INFO_PLTE) ++ if (png_get_valid (pp, info, PNG_INFO_PLTE) + && (layer_bpp == 2)) + { + for (j = 0; j < num; j++) +@@ -1089,12 +1137,12 @@ mng_save_image (const gchar *filename, + } + } + +- png_write_rows (png_ptr, layer_pixels, num); ++ png_write_rows (pp, layer_pixels, num); + } + } + +- png_write_end (png_ptr, png_info_ptr); +- png_destroy_write_struct (&png_ptr, &png_info_ptr); ++ png_write_end (pp, info); ++ png_destroy_write_struct (&pp, &info); + + g_free (layer_pixels); + g_free (layer_pixel); +diff --git a/plug-ins/common/file-png.c b/plug-ins/common/file-png.c +index d42afff..8fa8983 100644 +--- a/plug-ins/common/file-png.c ++++ b/plug-ins/common/file-png.c +@@ -106,6 +106,17 @@ typedef struct + } + PngSaveGui; + ++/* These are not saved or restored. */ ++typedef struct ++{ ++ gboolean has_trns; ++ png_bytep trans; ++ int num_trans; ++ gboolean has_plte; ++ png_colorp palette; ++ int num_palette; ++} ++PngGlobals; + + /* + * Local functions... +@@ -127,7 +138,7 @@ static gboolean save_image (const gchar *filename, + gint32 orig_image_ID, + GError **error); + +-static void respin_cmap (png_structp pp, ++static int respin_cmap (png_structp pp, + png_infop info, + guchar *remap, + gint32 image_ID, +@@ -175,6 +186,7 @@ static const PngSaveVals defaults = + }; + + static PngSaveVals pngvals; ++static PngGlobals pngg; + + + /* +@@ -653,13 +665,25 @@ on_read_error (png_structp png_ptr, png_const_charp error_msg) + error_data->drawable->width, num); + } + +- longjmp (png_ptr->jmpbuf, 1); ++ longjmp (png_jmpbuf (png_ptr), 1); ++} ++ ++static int ++get_bit_depth_for_palette (int num_palette) ++{ ++ if (num_palette <= 2) ++ return 1; ++ else if (num_palette <= 4) ++ return 2; ++ else if (num_palette <= 16) ++ return 4; ++ else ++ return 8; + } + + /* + * 'load_image()' - Load a PNG image into a new image window. + */ +- + static gint32 + load_image (const gchar *filename, + gboolean interactive, +@@ -695,9 +719,20 @@ load_image (const gchar *filename, + gint num_texts; + + pp = png_create_read_struct (PNG_LIBPNG_VER_STRING, NULL, NULL, NULL); ++ if (!pp) ++ { ++ /* this could happen if the compile time and run-time libpng ++ versions do not match. */ ++ ++ g_set_error (error, 0, 0, ++ _("Error creating PNG read struct while saving '%s'."), ++ gimp_filename_to_utf8 (filename)); ++ return -1; ++ } ++ + info = png_create_info_struct (pp); + +- if (setjmp (pp->jmpbuf)) ++ if (setjmp (png_jmpbuf (pp))) + { + g_set_error (error, G_FILE_ERROR, G_FILE_ERROR_FAILED, + _("Error while reading '%s'. File corrupted?"), +@@ -705,10 +740,6 @@ load_image (const gchar *filename, + return image; + } + +- /* initialise image here, thus avoiding compiler warnings */ +- +- image = -1; +- + /* + * Open the file and initialize the PNG read "engine"... + */ +@@ -738,17 +769,19 @@ load_image (const gchar *filename, + * Latest attempt, this should be my best yet :) + */ + +- if (info->bit_depth == 16) ++ if (png_get_bit_depth (pp, info) == 16) + { + png_set_strip_16 (pp); + } + +- if (info->color_type == PNG_COLOR_TYPE_GRAY && info->bit_depth < 8) ++ if (png_get_color_type (pp, info) == PNG_COLOR_TYPE_GRAY && ++ png_get_bit_depth (pp, info) < 8) + { + png_set_expand (pp); + } + +- if (info->color_type == PNG_COLOR_TYPE_PALETTE && info->bit_depth < 8) ++ if (png_get_color_type (pp, info) == PNG_COLOR_TYPE_PALETTE && ++ png_get_bit_depth (pp, info) < 8) + { + png_set_packing (pp); + } +@@ -757,8 +790,8 @@ load_image (const gchar *filename, + * Expand G+tRNS to GA, RGB+tRNS to RGBA + */ + +- if (info->color_type != PNG_COLOR_TYPE_PALETTE && +- (info->valid & PNG_INFO_tRNS)) ++ if (png_get_color_type (pp, info) != PNG_COLOR_TYPE_PALETTE && ++ png_get_valid (pp, info, PNG_INFO_tRNS)) + { + png_set_expand (pp); + } +@@ -775,7 +808,7 @@ load_image (const gchar *filename, + */ + + if (png_get_valid (pp, info, PNG_INFO_tRNS) && +- info->color_type == PNG_COLOR_TYPE_PALETTE) ++ png_get_color_type (pp, info) == PNG_COLOR_TYPE_PALETTE) + { + png_get_tRNS (pp, info, &alpha_ptr, &num, NULL); + /* Copy the existing alpha values from the tRNS chunk */ +@@ -797,7 +830,7 @@ load_image (const gchar *filename, + + png_read_update_info (pp, info); + +- switch (info->color_type) ++ switch (png_get_color_type (pp, info)) + { + case PNG_COLOR_TYPE_RGB: /* RGB */ + bpp = 3; +@@ -836,7 +869,9 @@ load_image (const gchar *filename, + return -1; + } + +- image = gimp_image_new (info->width, info->height, image_type); ++ image = gimp_image_new (png_get_image_width (pp, info), ++ png_get_image_height (pp, info), ++ image_type); + if (image == -1) + { + g_set_error (error, 0, 0, +@@ -849,7 +884,9 @@ load_image (const gchar *filename, + * Create the "background" layer to hold the image... + */ + +- layer = gimp_layer_new (image, _("Background"), info->width, info->height, ++ layer = gimp_layer_new (image, _("Background"), ++ png_get_image_width (pp, info), ++ png_get_image_height (pp, info), + layer_type, 100, GIMP_NORMAL_MODE); + gimp_image_add_layer (image, layer, 0); + +@@ -883,7 +920,8 @@ load_image (const gchar *filename, + + gimp_layer_set_offsets (layer, offset_x, offset_y); + +- if ((abs (offset_x) > info->width) || (abs (offset_y) > info->height)) ++ if ((abs (offset_x) > png_get_image_width (pp, info)) || ++ (abs (offset_y) > png_get_image_height (pp, info))) + { + if (interactive) + g_message (_("The PNG file specifies an offset that caused " +@@ -938,23 +976,27 @@ load_image (const gchar *filename, + + empty = 0; /* by default assume no full transparent palette entries */ + +- if (info->color_type & PNG_COLOR_MASK_PALETTE) ++ if (png_get_color_type (pp, info) & PNG_COLOR_MASK_PALETTE) + { ++ png_colorp palette; ++ int num_palette; ++ ++ png_get_PLTE (pp, info, &palette, &num_palette); + if (png_get_valid (pp, info, PNG_INFO_tRNS)) + { + for (empty = 0; empty < 256 && alpha[empty] == 0; ++empty) + /* Calculates number of fully transparent "empty" entries */; + + /* keep at least one entry */ +- empty = MIN (empty, info->num_palette - 1); ++ empty = MIN (empty, num_palette - 1); + +- gimp_image_set_colormap (image, (guchar *) (info->palette + empty), +- info->num_palette - empty); ++ gimp_image_set_colormap (image, (guchar *) (palette + empty), ++ num_palette - empty); + } + else + { +- gimp_image_set_colormap (image, (guchar *) info->palette, +- info->num_palette); ++ gimp_image_set_colormap (image, (guchar *) palette, ++ num_palette); + } + } + +@@ -972,18 +1014,19 @@ load_image (const gchar *filename, + */ + + tile_height = gimp_tile_height (); +- pixel = g_new0 (guchar, tile_height * info->width * bpp); ++ pixel = g_new0 (guchar, tile_height * png_get_image_width (pp, info) * bpp); + pixels = g_new (guchar *, tile_height); + + for (i = 0; i < tile_height; i++) +- pixels[i] = pixel + info->width * info->channels * i; ++ pixels[i] = pixel + png_get_image_width (pp, info) * ++ png_get_channels (pp, info) * i; + + /* Install our own error handler to handle incomplete PNG files better */ + error_data.drawable = drawable; + error_data.pixel = pixel; + error_data.tile_height = tile_height; +- error_data.width = info->width; +- error_data.height = info->height; ++ error_data.width = png_get_image_width (pp, info); ++ error_data.height = png_get_image_height (pp, info); + error_data.bpp = bpp; + error_data.pixel_rgn = &pixel_rgn; + +@@ -996,10 +1039,11 @@ load_image (const gchar *filename, + */ + + for (begin = 0, end = tile_height; +- begin < info->height; begin += tile_height, end += tile_height) ++ begin < png_get_image_height (pp, info); ++ begin += tile_height, end += tile_height) + { +- if (end > info->height) +- end = info->height; ++ if (end > png_get_image_height (pp, info)) ++ end = png_get_image_height (pp, info); + + num = end - begin; + +@@ -1016,11 +1060,13 @@ load_image (const gchar *filename, + gimp_pixel_rgn_set_rect (&pixel_rgn, pixel, 0, begin, + drawable->width, num); + +- memset (pixel, 0, tile_height * info->width * bpp); ++ memset (pixel, 0, ++ tile_height * png_get_image_width (pp, info) * bpp); + +- gimp_progress_update (((gdouble) pass + +- (gdouble) end / (gdouble) info->height) / +- (gdouble) num_passes); ++ gimp_progress_update ++ (((gdouble) pass + ++ (gdouble) end / (gdouble) png_get_image_height (pp, info)) / ++ (gdouble) num_passes); + } + } + +@@ -1189,7 +1235,6 @@ save_image (const gchar *filename, + GimpPixelRgn pixel_rgn; /* Pixel region for layer */ + png_structp pp; /* PNG read pointer */ + png_infop info; /* PNG info pointer */ +- gint num_colors; /* Number of colors in colormap */ + gint offx, offy; /* Drawable offsets from origin */ + guchar **pixels, /* Pixel rows */ + *fixed, /* Fixed-up pixel data */ +@@ -1200,56 +1245,28 @@ save_image (const gchar *filename, + guchar red, green, blue; /* Used for palette background */ + time_t cutime; /* Time since epoch */ + struct tm *gmt; /* GMT broken down */ ++ int color_type; ++ int bit_depth; + + guchar remap[256]; /* Re-mapping for the palette */ + + png_textp text = NULL; + +- if (pngvals.comment) ++ pp = png_create_write_struct (PNG_LIBPNG_VER_STRING, NULL, NULL, NULL); ++ if (!pp) + { +- GimpParasite *parasite; +- gsize text_length = 0; +- +- parasite = gimp_image_parasite_find (orig_image_ID, "gimp-comment"); +- if (parasite) +- { +- gchar *comment = g_strndup (gimp_parasite_data (parasite), +- gimp_parasite_data_size (parasite)); ++ /* this could happen if the compile time and run-time libpng ++ versions do not match. */ + +- gimp_parasite_free (parasite); +- +- text = g_new0 (png_text, 1); +- text->key = "Comment"; +- +-#ifdef PNG_iTXt_SUPPORTED +- +- text->compression = PNG_ITXT_COMPRESSION_NONE; +- text->text = comment; +- text->itxt_length = strlen (comment); +- +-#else +- +- text->compression = PNG_TEXT_COMPRESSION_NONE; +- text->text = g_convert (comment, -1, +- "ISO-8859-1", "UTF-8", +- NULL, &text_length, +- NULL); +- text->text_length = text_length; +- +-#endif +- +- if (!text->text) +- { +- g_free (text); +- text = NULL; +- } +- } ++ g_set_error (error, 0, 0, ++ _("Error creating PNG write struct while saving '%s'."), ++ gimp_filename_to_utf8 (filename)); ++ return FALSE; + } + +- pp = png_create_write_struct (PNG_LIBPNG_VER_STRING, NULL, NULL, NULL); + info = png_create_info_struct (pp); + +- if (setjmp (pp->jmpbuf)) ++ if (setjmp (png_jmpbuf (pp))) + { + g_set_error (error, 0, 0, + _("Error while saving '%s'. Could not save image."), +@@ -1257,9 +1274,6 @@ save_image (const gchar *filename, + return FALSE; + } + +- if (text) +- png_set_text (pp, info, text, 1); +- + /* + * Open the file and initialize the PNG write "engine"... + */ +@@ -1286,17 +1300,6 @@ save_image (const gchar *filename, + type = gimp_drawable_type (drawable_ID); + + /* +- * Set the image dimensions, bit depth, interlacing and compression +- */ +- +- png_set_compression_level (pp, pngvals.compression_level); +- +- info->width = drawable->width; +- info->height = drawable->height; +- info->bit_depth = 8; +- info->interlace_type = pngvals.interlaced; +- +- /* + * Initialise remap[] + */ + for (i = 0; i < 256; i++) +@@ -1306,42 +1309,44 @@ save_image (const gchar *filename, + * Set color type and remember bytes per pixel count + */ + ++ bit_depth = 8; ++ + switch (type) + { + case GIMP_RGB_IMAGE: +- info->color_type = PNG_COLOR_TYPE_RGB; ++ color_type = PNG_COLOR_TYPE_RGB; + bpp = 3; + break; + + case GIMP_RGBA_IMAGE: +- info->color_type = PNG_COLOR_TYPE_RGB_ALPHA; ++ color_type = PNG_COLOR_TYPE_RGB_ALPHA; + bpp = 4; + break; + + case GIMP_GRAY_IMAGE: +- info->color_type = PNG_COLOR_TYPE_GRAY; ++ color_type = PNG_COLOR_TYPE_GRAY; + bpp = 1; + break; + + case GIMP_GRAYA_IMAGE: +- info->color_type = PNG_COLOR_TYPE_GRAY_ALPHA; ++ color_type = PNG_COLOR_TYPE_GRAY_ALPHA; + bpp = 2; + break; + + case GIMP_INDEXED_IMAGE: + bpp = 1; +- info->color_type = PNG_COLOR_TYPE_PALETTE; +- info->valid |= PNG_INFO_PLTE; +- info->palette = +- (png_colorp) gimp_image_get_colormap (image_ID, &num_colors); +- info->num_palette = num_colors; ++ color_type = PNG_COLOR_TYPE_PALETTE; ++ pngg.has_plte = TRUE; ++ pngg.palette = (png_colorp) gimp_image_get_colormap (image_ID, ++ &pngg.num_palette); ++ bit_depth = get_bit_depth_for_palette (pngg.num_palette); + break; + + case GIMP_INDEXEDA_IMAGE: + bpp = 2; +- info->color_type = PNG_COLOR_TYPE_PALETTE; ++ color_type = PNG_COLOR_TYPE_PALETTE; + /* fix up transparency */ +- respin_cmap (pp, info, remap, image_ID, drawable); ++ bit_depth = respin_cmap (pp, info, remap, image_ID, drawable); + break; + + default: +@@ -1349,21 +1354,29 @@ save_image (const gchar *filename, + return FALSE; + } + +- /* +- * Fix bit depths for (possibly) smaller colormap images +- */ ++ /* Note: png_set_IHDR() must be called before any other png_set_*() ++ functions. */ ++ png_set_IHDR (pp, info, drawable->width, drawable->height, ++ bit_depth, ++ color_type, ++ pngvals.interlaced ? PNG_INTERLACE_ADAM7 : PNG_INTERLACE_NONE, ++ PNG_COMPRESSION_TYPE_BASE, ++ PNG_FILTER_TYPE_BASE); ++ ++ if (pngg.has_trns) ++ { ++ png_set_tRNS (pp, info, pngg.trans, pngg.num_trans, NULL); ++ } + +- if (info->valid & PNG_INFO_PLTE) ++ if (pngg.has_plte) + { +- if (info->num_palette <= 2) +- info->bit_depth = 1; +- else if (info->num_palette <= 4) +- info->bit_depth = 2; +- else if (info->num_palette <= 16) +- info->bit_depth = 4; +- /* otherwise the default is fine */ ++ png_set_PLTE (pp, info, pngg.palette, pngg.num_palette); + } + ++ /* Set the compression level */ ++ ++ png_set_compression_level (pp, pngvals.compression_level); ++ + /* All this stuff is optional extras, if the user is aiming for smallest + possible file size she can turn them all off */ + +@@ -1462,6 +1475,52 @@ save_image (const gchar *filename, + } + #endif + ++ if (pngvals.comment) ++ { ++ GimpParasite *parasite; ++#ifndef PNG_iTXt_SUPPORTED ++ gsize text_length = 0; ++#endif /* PNG_iTXt_SUPPORTED */ ++ ++ parasite = gimp_image_parasite_find (orig_image_ID, "gimp-comment"); ++ if (parasite) ++ { ++ gchar *comment = g_strndup (gimp_parasite_data (parasite), ++ gimp_parasite_data_size (parasite)); ++ ++ gimp_parasite_free (parasite); ++ ++ text = g_new0 (png_text, 1); ++ text->key = "Comment"; ++ ++#ifdef PNG_iTXt_SUPPORTED ++ ++ text->compression = PNG_ITXT_COMPRESSION_NONE; ++ text->text = comment; ++ text->itxt_length = strlen (comment); ++ ++#else ++ ++ text->compression = PNG_TEXT_COMPRESSION_NONE; ++ text->text = g_convert (comment, -1, ++ "ISO-8859-1", "UTF-8", ++ NULL, &text_length, ++ NULL); ++ text->text_length = text_length; ++ ++#endif ++ ++ if (!text->text) ++ { ++ g_free (text); ++ text = NULL; ++ } ++ } ++ } ++ ++ if (text) ++ png_set_text (pp, info, text, 1); ++ + png_write_info (pp, info); + + /* +@@ -1477,7 +1536,8 @@ save_image (const gchar *filename, + * Convert unpacked pixels to packed if necessary + */ + +- if (info->color_type == PNG_COLOR_TYPE_PALETTE && info->bit_depth < 8) ++ if (color_type == PNG_COLOR_TYPE_PALETTE && ++ bit_depth < 8) + png_set_packing (pp); + + /* +@@ -1507,7 +1567,9 @@ save_image (const gchar *filename, + + gimp_pixel_rgn_get_rect (&pixel_rgn, pixel, 0, begin, + drawable->width, num); +- /*if we are with a RGBA image and have to pre-multiply the alpha channel */ ++ ++ /* If we are with a RGBA image and have to pre-multiply the ++ alpha channel */ + if (bpp == 4 && ! pngvals.save_transp_pixels) + { + for (i = 0; i < num; ++i) +@@ -1529,7 +1591,7 @@ save_image (const gchar *filename, + + /* If we're dealing with a paletted image with + * transparency set, write out the remapped palette */ +- if (info->valid & PNG_INFO_tRNS) ++ if (png_get_valid (pp, info, PNG_INFO_tRNS)) + { + guchar inverse_remap[256]; + +@@ -1547,9 +1609,11 @@ save_image (const gchar *filename, + } + } + } ++ + /* Otherwise if we have a paletted image and transparency + * couldn't be set, we ignore the alpha channel */ +- else if (info->valid & PNG_INFO_PLTE && bpp == 2) ++ else if (png_get_valid (pp, info, PNG_INFO_PLTE) && ++ bpp == 2) + { + for (i = 0; i < num; ++i) + { +@@ -1564,7 +1628,7 @@ save_image (const gchar *filename, + png_write_rows (pp, pixels, num); + + gimp_progress_update (((double) pass + (double) end / +- (double) info->height) / ++ (double) drawable->height) / + (double) num_passes); + } + } +@@ -1694,14 +1758,14 @@ find_unused_ia_color (GimpDrawable *drawable, + } + + +-static void ++static int + respin_cmap (png_structp pp, + png_infop info, + guchar *remap, + gint32 image_ID, + GimpDrawable *drawable) + { +- static const guchar trans[] = { 0 }; ++ static guchar trans[] = { 0 }; + + gint colors; + guchar *before; +@@ -1728,10 +1792,13 @@ respin_cmap (png_structp pp, + * index - do like gif2png and swap + * index 0 and index transparent */ + { +- png_color palette[256]; ++ static png_color palette[256]; + gint i; + +- png_set_tRNS (pp, info, (png_bytep) trans, 1, NULL); ++ /* Set tRNS chunk values for writing later. */ ++ pngg.has_trns = TRUE; ++ pngg.trans = trans; ++ pngg.num_trans = 1; + + /* Transform all pixels with a value = transparent to + * 0 and vice versa to compensate for re-ordering in palette +@@ -1752,7 +1819,10 @@ respin_cmap (png_structp pp, + palette[i].blue = before[3 * remap[i] + 2]; + } + +- png_set_PLTE (pp, info, palette, colors); ++ /* Set PLTE chunk values for writing later. */ ++ pngg.has_plte = TRUE; ++ pngg.palette = palette; ++ pngg.num_palette = colors; + } + else + { +@@ -1760,14 +1830,22 @@ respin_cmap (png_structp pp, + * transparency & just use the full palette */ + g_message (_("Couldn't losslessly save transparency, " + "saving opacity instead.")); +- png_set_PLTE (pp, info, (png_colorp) before, colors); ++ ++ /* Set PLTE chunk values for writing later. */ ++ pngg.has_plte = TRUE; ++ pngg.palette = (png_colorp) before; ++ pngg.num_palette = colors; + } + } + else + { +- png_set_PLTE (pp, info, (png_colorp) before, colors); ++ /* Set PLTE chunk values for writing later. */ ++ pngg.has_plte = TRUE; ++ pngg.palette = (png_colorp) before; ++ pngg.num_palette = colors; + } + ++ return get_bit_depth_for_palette (colors); + } + + static gboolean diff --git a/staging/gimp/linux.gpl b/staging/gimp/linux.gpl new file mode 100644 index 000000000..0a73d8979 --- /dev/null +++ b/staging/gimp/linux.gpl @@ -0,0 +1,19 @@ +GIMP Palette +Name: linux +# + 0 0 0 + 0 0 170 + 0 170 0 + 0 170 170 +170 0 0 +170 0 170 +170 85 0 +170 170 170 + 85 85 85 + 85 85 255 + 85 255 85 + 85 255 255 +255 85 85 +255 85 255 +255 255 85 +255 255 255 diff --git a/staging/gimp/uri-backend-libcurl.patch b/staging/gimp/uri-backend-libcurl.patch new file mode 100644 index 000000000..85da2fc7f --- /dev/null +++ b/staging/gimp/uri-backend-libcurl.patch @@ -0,0 +1,77 @@ +diff -aur gimp-2.6.11/plug-ins/file-uri/uri-backend-libcurl.c gimp-2.6.11.patched/plug-ins/file-uri/uri-backend-libcurl.c +--- gimp-2.6.11/plug-ins/file-uri/uri-backend-libcurl.c 2010-07-03 00:51:59.000000000 +0200 ++++ gimp-2.6.11.patched/plug-ins/file-uri/uri-backend-libcurl.c 2011-06-23 19:15:30.000000000 +0200 +@@ -4,9 +4,9 @@ + * libcurl backend for the URI plug-in + * Copyright (C) 2006 Mukund Sivaraman <muks@mukund.org> + * +- * This program is free software; you can redistribute it and/or modify ++ * 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 ++ * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, +@@ -15,8 +15,7 @@ + * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ++ * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + + #include "config.h" +@@ -24,7 +23,6 @@ + #include <errno.h> + + #include <curl/curl.h> +-#include <curl/types.h> + #include <curl/easy.h> + + #include <glib/gstdio.h> +@@ -63,7 +61,7 @@ + + vinfo = curl_version_info (CURLVERSION_NOW); + +- protocols = g_string_new ("http:,ftp:"); ++ protocols = g_string_new ("http:,ftp:,gopher:"); + + if (vinfo->features & CURL_VERSION_SSL) + { +@@ -153,7 +151,7 @@ + FILE *out_file; + CURL *curl_handle; + CURLcode result; +- gint response_code; ++ glong response_code; + + gimp_progress_init (_("Connecting to server")); + +@@ -195,12 +193,12 @@ + + curl_easy_getinfo (curl_handle, CURLINFO_RESPONSE_CODE, &response_code); + +- if (response_code != 200) ++ if (response_code != 200 && response_code != 226 && response_code != 0) + { + fclose (out_file); + g_set_error (error, G_FILE_ERROR, G_FILE_ERROR_FAILED, + _("Opening '%s' for reading resulted in HTTP " +- "response code: %d"), ++ "response code: %ld"), + uri, response_code); + curl_easy_cleanup (curl_handle); + return FALSE; +@@ -224,3 +222,10 @@ + + return FALSE; + } ++ ++gchar * ++uri_backend_map_image (const gchar *uri, ++ GimpRunMode run_mode) ++{ ++ return NULL; ++} diff --git a/staging/gthumb/PKGBUILD b/staging/gthumb/PKGBUILD new file mode 100644 index 000000000..fee27cc78 --- /dev/null +++ b/staging/gthumb/PKGBUILD @@ -0,0 +1,34 @@ +# $Id: PKGBUILD 147076 2012-01-21 15:34:53Z andyrtr $ +# Maintainer: Jan de Groot <jgc@archlinux.org> +# Contributor: Tobias Kieslich <tobias@justdreams.de> + +pkgname=gthumb +pkgver=2.14.1 +pkgrel=2 +pkgdesc="Image browser and viewer for the GNOME Desktop" +arch=(i686 x86_64) +license=('GPL') +url="http://gthumb.sourceforge.net/" +depends=('desktop-file-utils' 'libunique' 'gconf' 'exiv2' 'libsoup-gnome' 'clutter-gtk2' 'hicolor-icon-theme') +makedepends=('intltool' 'gnome-doc-utils' 'libsm' 'gstreamer0.10-base') +optdepends=('gstreamer0.10-base: video support') +options=('!libtool' '!emptydirs') +install=gthumb.install +source=(http://ftp.gnome.org/pub/GNOME/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz) +sha256sums=('002a6611112273189348871ff7c717fb3c776f5570656389e3d6c5b26bffa11f') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr --sysconfdir=/etc \ + --localstatedir=/var --disable-static + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 DESTDIR="${pkgdir}" install + + install -m755 -d "${pkgdir}/usr/share/gconf/schemas" + gconf-merge-schema "${pkgdir}/usr/share/gconf/schemas/${pkgname}.schemas" --domain gthumb "${pkgdir}"/etc/gconf/schemas/*.schemas + rm -f "${pkgdir}"/etc/gconf/schemas/*.schemas +} diff --git a/staging/gthumb/gthumb.install b/staging/gthumb/gthumb.install new file mode 100644 index 000000000..6046ebb6f --- /dev/null +++ b/staging/gthumb/gthumb.install @@ -0,0 +1,24 @@ +pkgname=gthumb + +post_install() { + usr/sbin/gconfpkg --install ${pkgname} + update-desktop-database -q + gtk-update-icon-cache -q -t -f usr/share/icons/hicolor +} + +pre_upgrade() { + pre_remove $1 +} + +post_upgrade() { + post_install $1 +} + +pre_remove() { + usr/sbin/gconfpkg --uninstall ${pkgname} +} + +post_remove() { + update-desktop-database -q + gtk-update-icon-cache -q -t -f usr/share/icons/hicolor +} diff --git a/staging/java7-openjdk/PKGBUILD b/staging/java7-openjdk/PKGBUILD new file mode 100644 index 000000000..b5ab884cb --- /dev/null +++ b/staging/java7-openjdk/PKGBUILD @@ -0,0 +1,346 @@ +# $Id: PKGBUILD 147010 2012-01-20 18:19:59Z andyrtr $ +# Maintainer: Andreas Radke <andyrtr@archlinux.org> +# Contributor: Jan de Groot <jgc@archlinux.org> +# Contributor: Guillaume ALAUX <guillaume@archlinux.org> + +pkgname=('jre7-openjdk-headless' 'jre7-openjdk' 'jdk7-openjdk' 'openjdk7-src') + # ToDo -demo -doc packages, see Debian file lists http://packages.debian.org/source/wheezy/openjdk-7 +pkgbase=java7-openjdk +_java_ver=7 +_openjdk_build=b147 +_openjdk_date=27_jun_2011 +_icedtea_ver=2.0 +_date=20110922 + +# check "${srcdir}/icedtea7"/Makefile.am +_CORBA_CHANGESET=4d9e4fb8af09 +_HOTSPOT_CHANGESET=b28ae681bae0 +_JAXP_CHANGESET=948e734135ea +_JAXWS_CHANGESET=a2ebfdc9db7e +_JDK_CHANGESET=2054526dd141 +_LANGTOOLS_CHANGESET=9b85f1265346 +_OPENJDK_CHANGESET=0a76e5390e68 + +_bootstrap=0 # 0/1 for quick build or full bootstrap + +pkgver=${_java_ver}.${_openjdk_build}_${_icedtea_ver} +pkgrel=6 +arch=('i686' 'x86_64') +url="http://icedtea.classpath.org" +license=('custom') +options=('!emptydirs') +makedepends=('jdk7-openjdk' 'libxp' 'libxslt' + 'alsa-lib' 'apache-ant>=1.8.1' 'giflib' 'libpng>=1.5.7' 'gtk2' + 'rhino' 'libpulse>=0.9.11' 'zip' 'unzip' 'cpio' 'fastjar') # fastjar`? +[ "$_bootstrap" = "1" ] && makedepends=(${makedepends[@]} 'eclipse-ecj') + +_url=http://icedtea.classpath.org/hg/release/icedtea7-forest-2.0 +source=(http://icedtea.classpath.org/download/source/icedtea-${_icedtea_ver}.tar.gz + ${_url}/archive/${_OPENJDK_CHANGESET}.tar.gz # openjdk.tar.gz + ${_url}/corba/archive/${_CORBA_CHANGESET}.tar.gz # corba.tar.gz + ${_url}/jaxp/archive/${_JAXP_CHANGESET}.tar.gz # jaxp.tar.gz + ${_url}/jaxws/archive/${_JAXWS_CHANGESET}.tar.gz # jaxws.tar.gz + ${_url}/jdk/archive/${_JDK_CHANGESET}.tar.gz # jdk.tar.gz + ${_url}/langtools/archive/${_LANGTOOLS_CHANGESET}.tar.gz # langtools.tar.gz + ${_url}/hotspot/archive/${_HOTSPOT_CHANGESET}.tar.gz # hotspot.tar.gz + fontconfig-paths.diff + fix_corba_cmds_path.diff + openjdk7_fix_jdk_cmds_path.diff + openjdk7_nonreparenting-wm.diff + jdk7-openjdk.profile + jdk7-openjdk.profile.csh + jre7-openjdk.profile + jre7-openjdk.profile.csh + glibc2_15.diff) +md5sums=('752721a037a625001fad7a5fc2013f60' + '4c34ddf70124ea90c79201c1afede3e3' + '8f8d222d0a6d363d06b40576da5f1ea2' + '4abf34372e34cccd74ad337e487ed790' + 'f2f40590a83889b8aa1d4631b705092d' + 'd3beed0118bbd93d4651af762eb748c7' + 'c8617700b4bd6cd5de1257bc36509bed' + 'f10b711b0c784df8707808d9d0f52abd' + 'ee1afda124d5927345014ab382ef581e' + 'f7e7a212e50abb56a6ef1a2b1bd27405' + 'c195c4865b84d9e2e0fd71ac6d88eadb' + '203640d6e79e41b0065e016818c17ccd' + 'b7b8996448c7b4fa7dd2d744488ed3bd' + 'cdabafad0ec413d9a983888bf445a443' + '612b0fec7e0943c37a6de77c43622007' + '62443459da0cb28181feb260dc0e5ce7' + 'a4293acadff03bdccbc9b412ad288549') + +#http://www.java.net/download/openjdk/jdk${_java_ver}/promoted/${_openjdk_build}/openjdk-${_java_ver}-fcs-src-${_openjdk_build}-${_openjdk_date}.zip + +noextract=("${_OPENJDK_CHANGESET}.tar.gz" + "${_CORBA_CHANGESET}.tar.gz" + "${_JAXP_CHANGESET}.tar.gz" + "${_JAXWS_CHANGESET}.tar.gz" + "${_JDK_CHANGESET}.tar.gz" + "${_LANGTOOLS_CHANGESET}.tar.gz" + "${_HOTSPOT_CHANGESET}.tar.gz") + + _jvmdir=/usr/lib/jvm/java-7-openjdk + + [ "$CARCH" = "x86_64" ] && _JARCH=amd64 + [ "$CARCH" = "i686" ] && _JARCH=i386 + +build() { + cd "${srcdir}/icedtea-${_icedtea_ver}" + + unset JAVA_HOME JDK_HOME CLASSPATH JAVAC JAVACFLAGS + + # default is to build with first found java-environment found in our repos - is jdk7-openjdk + [ -f /etc/profile.d/jdk.sh ] && . /etc/profile.d/jdk.sh + + unset MAKEFLAGS # parallel build is currently broken + export ALT_PARALLEL_COMPILE_JOBS="${MAKEFLAGS/-j}" + export HOTSPOT_BUILD_JOBS="${ALT_PARALLEL_COMPILE_JOBS}" + + . /etc/profile.d/apache-ant.sh + + cp ${srcdir}/*.diff ${srcdir}/icedtea-${_icedtea_ver}/patches + export DISTRIBUTION_PATCHES="patches/fontconfig-paths.diff patches/fix_corba_cmds_path.diff patches/openjdk7_fix_jdk_cmds_path.diff patches/openjdk7_nonreparenting-wm.diff patches/glibc2_15.diff" + + if [ "$_bootstrap" = "1" ]; then + BOOTSTRAPOPT="--enable-bootstrap --with-ecj-jar=/usr/share/java/ecj.jar" + else + BOOTSTRAPOPT="--disable-bootstrap" + fi + + ./configure \ + $BOOTSTRAPOPT \ + --with-parallel-jobs="${MAKEFLAGS/-j}" \ + --disable-tests \ + --with-pkgversion="ArchLinux build ${pkgver}-${pkgrel}-${CARCH}" \ + --with-jdk-home=${JAVA_HOME} \ + --with-openjdk-src-zip=${srcdir}/${_OPENJDK_CHANGESET}.tar.gz \ + --with-hotspot-src-zip=${srcdir}/${_HOTSPOT_CHANGESET}.tar.gz \ + --with-corba-src-zip=${srcdir}/${_CORBA_CHANGESET}.tar.gz \ + --with-jaxp-src-zip=${srcdir}/${_JAXP_CHANGESET}.tar.gz \ + --with-jaxws-src-zip=${srcdir}/${_JAXWS_CHANGESET}.tar.gz \ + --with-jdk-src-zip=${srcdir}/${_JDK_CHANGESET}.tar.gz \ + --with-langtools-src-zip=${srcdir}/${_LANGTOOLS_CHANGESET}.tar.gz \ + --enable-pulse-java \ + --enable-nss \ + --with-rhino + #--help + +# --enable-systemtap Enable inclusion of SystemTap trace support - needs systemtab from AUR + --with-abs-install-dir=/usr/lib/jvm/java-7-openjdk The absolute path where the j2sdk-image dir will be installed + + make +} + +check() { + cd "${srcdir}/icedtea-${_icedtea_ver}" + make -k check +} + +package_jre7-openjdk-headless() { + pkgdesc="Free Java environment based on OpenJDK 7.0 with IcedTea7 replacing binary plugs - Minimal Java runtime - needed for executing non GUI Java programs" + depends=('libjpeg-turbo' 'lcms2' 'nss' + 'ca-certificates-java' 'rhino') + optdepends=('libcups: needed for Java Mauve support - libmawt.so' + 'fontconfig: needed for Java Mauve support - libmawt.so') + provides=('java-runtime=7') + conflicts=('java-runtime' 'openjdk6') + # replaces=('openjdk6') # once we remove openjdk6 pkg from the repos + backup=(etc/profile.d/jre.sh + etc/profile.d/jre.csh + etc/java-7-openjdk/calendars.properties + etc/java-7-openjdk/content-types.properties + etc/java-7-openjdk/cursors/cursors.properties + etc/java-7-openjdk/flavormap.properties + etc/java-7-openjdk/fontconfig.bfc + etc/java-7-openjdk/fontconfig.properties + etc/java-7-openjdk/jvm.cfg + etc/java-7-openjdk/logging.properties + etc/java-7-openjdk/management/jmxremote.access + etc/java-7-openjdk/management/jmxremote.password + etc/java-7-openjdk/management/management.properties + etc/java-7-openjdk/management/snmp.acl + etc/java-7-openjdk/net.properties + etc/java-7-openjdk/psfont.properties.ja + etc/java-7-openjdk/psfontj2d.properties + etc/java-7-openjdk/security/java.policy + etc/java-7-openjdk/security/java.security + etc/java-7-openjdk/security/nss.cfg + etc/java-7-openjdk/sound.properties + etc/java-7-openjdk/tz.properties) + install=jre7-openjdk-headless.install + + cd "${srcdir}/icedtea-${_icedtea_ver}/openjdk.build/j2sdk-image/jre" + + mv lib/fontconfig.Ubuntu.properties.src lib/fontconfig.properties + mv lib/fontconfig.Ubuntu.bfc lib/fontconfig.bfc + rm -f lib/fontconfig.*.bfc + rm -f lib/fontconfig.*.properties.src + rm -f lib/fontconfig.properties.src + + install -d -m755 ${pkgdir}/${_jvmdir}/jre/ + cp -a bin lib ${pkgdir}/${_jvmdir}/jre + + # Install man pages + pushd ../../j2re-image/man + install -m755 -d ${pkgdir}/usr/share/man/{,ja/}man1/ + install -m644 man1/*.1 ${pkgdir}/usr/share/man/man1 + install -m644 ja_JP.UTF-8/man1/*.1 ${pkgdir}/usr/share/man/ja/man1 + popd + + # more files that belong to the desktop package + mkdir ${srcdir}/tmp-desktop-jre + for file in \ + "/usr/lib/jvm/java-7-openjdk/jre/bin/policytool" \ + "/usr/lib/jvm/java-7-openjdk/jre/lib/${_JARCH}/libjsoundalsa.so" \ + "/usr/lib/jvm/java-7-openjdk/jre/lib/${_JARCH}/libpulse-java.so" \ + "/usr/lib/jvm/java-7-openjdk/jre/lib/${_JARCH}/libsplashscreen.so" \ + "/usr/lib/jvm/java-7-openjdk/jre/lib/${_JARCH}/xawt/libmawt.so" \ + "/usr/share/man/ja/man1/policytool.1" \ + "/usr/share/man/man1/policytool.1"; do + dirname=`dirname $file` + install -dm755 ${srcdir}/tmp-desktop-jre/$dirname || /bin/true + # mv file from fakeinstall to pkgdir + mv ${pkgdir}/$file ${srcdir}/tmp-desktop-jre$file + done + rmdir ${pkgdir}/usr/lib/jvm/java-7-openjdk/jre/lib/${_JARCH}/xawt + + # Link binaries into /usr/bin + pushd ${pkgdir}/${_jvmdir}/jre/bin + install -m755 -d ${pkgdir}/usr/bin/ + for file in *; do + ln -sf ${_jvmdir}/jre/bin/${file} ${pkgdir}/usr/bin + done + popd + + # Link JKS keystore from ca-certificates-java + rm -f ${pkgdir}/${_jvmdir}/jre/lib/security/cacerts + ln -sf /etc/ssl/certs/java/cacerts "${pkgdir}/${_jvmdir}/jre/lib/security/cacerts" + + # Set some variables + install -m755 -d ${pkgdir}/etc/profile.d/ + install -m755 ${srcdir}/jre7-openjdk.profile ${pkgdir}/etc/profile.d/jre.sh + install -m755 ${srcdir}/jre7-openjdk.profile.csh ${pkgdir}/etc/profile.d/jre.csh + + # Install license + install -m755 -d ${pkgdir}/usr/share/licenses/${pkgbase}/ + install -m644 ASSEMBLY_EXCEPTION LICENSE THIRD_PARTY_README \ + ${pkgdir}/usr/share/licenses/${pkgbase} + + # Put some more files under backup control + install -m755 -d ${pkgdir}/etc/java-7-openjdk/ + install -m644 ${pkgdir}/usr/lib/jvm/java-7-openjdk/jre/lib/*.properties* ${pkgdir}/etc/java-7-openjdk/ + # install dummy links to make them found by JAVA + cd ${pkgdir}/usr/lib/jvm/java-7-openjdk/jre/lib/ + for file in `ls ${pkgdir}/etc/java-7-openjdk/*.properties*`; do + ln -vsf /etc/java-7-openjdk/`basename $file` . + done + # some more + install -m755 -d ${pkgdir}/etc/java-7-openjdk/{cursors,management,security} + install -m644 ${pkgdir}/usr/lib/jvm/java-7-openjdk/jre/lib/images/cursors/cursors.properties ${pkgdir}/etc/java-7-openjdk/cursors/ + pushd ${pkgdir}/usr/lib/jvm/java-7-openjdk/jre/lib/images/cursors/ + ln -vsf /etc/java-7-openjdk/cursors/cursors.properties . + popd + mv ${pkgdir}/usr/lib/jvm/java-7-openjdk/jre/lib/management/jmxremote.password.template ${pkgdir}/usr/lib/jvm/java-7-openjdk/jre/lib/management/jmxremote.password + mv ${pkgdir}/usr/lib/jvm/java-7-openjdk/jre/lib/management/snmp.acl.template ${pkgdir}/usr/lib/jvm/java-7-openjdk/jre/lib/management/snmp.acl + install -m644 ${pkgdir}/usr/lib/jvm/java-7-openjdk/jre/lib/management/{management.properties,jmxremote.access,jmxremote.password,snmp.acl} ${pkgdir}/etc/java-7-openjdk/management/ + pushd ${pkgdir}/usr/lib/jvm/java-7-openjdk/jre/lib/management + ln -vsf /etc/java-7-openjdk/management/{management.properties,jmxremote.access,jmxremote.password,snmp.acl} . + popd + install -m644 ${pkgdir}/usr/lib/jvm/java-7-openjdk/jre/lib/security/{java.policy,java.security,nss.cfg} ${pkgdir}/etc/java-7-openjdk/security/ + pushd ${pkgdir}/usr/lib/jvm/java-7-openjdk/jre/lib/security + ln -vsf /etc/java-7-openjdk/security/{java.policy,java.security,nss.cfg} . + popd + install -m644 ${pkgdir}/usr/lib/jvm/java-7-openjdk/jre/lib/fontconfig.bfc ${pkgdir}/etc/java-7-openjdk/ + install -m644 ${pkgdir}/usr/lib/jvm/java-7-openjdk/jre/lib/${_JARCH}/jvm.cfg ${pkgdir}/etc/java-7-openjdk/ + pushd ${pkgdir}/usr/lib/jvm/java-7-openjdk/jre/lib/${_JARCH}/ + ln -vsf /etc/java-7-openjdk/jvm.cfg . + popd +} + +package_jre7-openjdk() { + pkgdesc="Free Java environment based on OpenJDK 7.0 with IcedTea7 replacing binary plugs -Full Java runtime environment - needed for executing Java GUI and Webstart programs" + depends=('jre7-openjdk-headless' 'xdg-utils' 'hicolor-icon-theme') + optdepends=('icedtea-web-java7: web browser plugin + Java Web Start' + 'alsa-lib: for basic sound support' + 'giflib: for gif format support' + 'libpulse: for advanced sound support' + 'gtk2: for the Gtk+ look and feel - desktop usage') + install=jre7-openjdk.install + conflicts=('openjdk6') + + mv ${srcdir}/tmp-desktop-jre/* ${pkgdir} + # Link binaries into /usr/bin + pushd ${pkgdir}/${_jvmdir}/jre/bin + install -m755 -d ${pkgdir}/usr/bin/ + for file in *; do + ln -sf ${_jvmdir}/jre/bin/${file} ${pkgdir}/usr/bin + done + popd + + cd "${srcdir}/icedtea-${_icedtea_ver}/openjdk.build/j2sdk-image/jre" + + # Install icons and menu entries + for s in 16 24 32 48 ; do + install -m755 -d ${pkgdir}/usr/share/icons/hicolor/${s}x${s}/apps/ + install -m644 ../../../openjdk/jdk/src/solaris/classes/sun/awt/X11/java-icon${s}.png \ + ${pkgdir}/usr/share/icons/hicolor/${s}x${s}/apps/java.png + done + + # Install desktop files. + install -m755 -d ${pkgdir}/usr/share/applications + install -m644 ${srcdir}/icedtea-${_icedtea_ver}/{jconsole,policytool}.desktop ${pkgdir}/usr/share/applications +} + +package_jdk7-openjdk() { + pkgdesc="Free Java environment based on OpenJDK 7.0 with IcedTea7 replacing binary plugs - SDK" + depends=('jre7-openjdk') + provides=('java-environment=7') + conflicts=('java-environment') + # replaces=('openjdk6') + backup=(etc/profile.d/jdk.sh etc/profile.d/jdk.csh) + + cd "${srcdir}/icedtea-${_icedtea_ver}/openjdk.build/j2sdk-image" + + # Main files + install -m755 -d ${pkgdir}/${_jvmdir}/ + + cp -a demo include lib sample ${pkgdir}/${_jvmdir} + + # 'bin' files + pushd bin + install -m755 -d ${pkgdir}/${_jvmdir}/bin/ \ + ${pkgdir}/usr/bin/ \ + ${pkgdir}/usr/share/man/{,ja/}man1/ + + # 'java-rmi.cgi' will be handled separately as it should not be in the PATH and has no man page + for b in $(ls | grep -v java-rmi.cgi); do + if [ -e ../jre/bin/${b} ]; then + # Provide a link of the jre binary in the jdk/bin/ directory + ln -s ../jre/bin/${b} ${pkgdir}/${_jvmdir}/bin/${b} + else + # Copy binary to jdk/bin/ + install -m755 ${b} ${pkgdir}/${_jvmdir}/bin/${b} + # Copy man page + install -m644 ../man/man1/${b}.1 ${pkgdir}/usr/share/man/man1/${b}.1 + install -m644 ../man/ja/man1/${b}.1 ${pkgdir}/usr/share/man/ja/man1/${b}.1 + # Link from /bin/ + ln -s ${_jvmdir}/bin/${b} ${pkgdir}/usr/bin/${b} + fi + done + popd + + # Handling 'java-rmi.cgi' separately + install -m755 -D bin/java-rmi.cgi ${pkgdir}/${_jvmdir}/bin/java-rmi.cgi + + # Set some variables + install -m755 -d ${pkgdir}/etc/profile.d/ + install -m755 ${srcdir}/${pkgname}.profile ${pkgdir}/etc/profile.d/jdk.sh + install -m755 ${srcdir}/${pkgname}.profile.csh ${pkgdir}/etc/profile.d/jdk.csh +} + +package_openjdk7-src() { + pkgdesc="Free Java environment based on OpenJDK 7.0 with IcedTea7 replacing binary plugs - sources" + + install -D ${srcdir}/icedtea-${_icedtea_ver}/openjdk.build/j2sdk-image/src.zip \ + ${pkgdir}/${_jvmdir}/src.zip +} diff --git a/staging/java7-openjdk/fix_corba_cmds_path.diff b/staging/java7-openjdk/fix_corba_cmds_path.diff new file mode 100644 index 000000000..842657880 --- /dev/null +++ b/staging/java7-openjdk/fix_corba_cmds_path.diff @@ -0,0 +1,33 @@ +--- openjdk/corba/make/common/shared/Defs-utils.gmk.old 2008-04-13 13:26:12.000000000 +0300 ++++ openjdk/corba/make/common/shared/Defs-utils.gmk 2008-04-14 15:35:13.000000000 +0300 +@@ -86,10 +86,10 @@ + CHMOD = $(UTILS_COMMAND_PATH)chmod + CMP = $(UTILS_USR_BIN_PATH)cmp + COMM = $(UTILS_USR_BIN_PATH)comm +-COMPRESS = $(UTILS_USR_BIN_PATH)compress ++COMPRESS = $(UTILS_COMMAND_PATH)compress + CP = $(UTILS_COMMAND_PATH)cp + CPIO = $(UTILS_COMMAND_PATH)cpio +-CUT = $(UTILS_USR_BIN_PATH)cut ++CUT = $(UTILS_COMMAND_PATH)cut + DATE = $(UTILS_COMMAND_PATH)date + DF = $(UTILS_COMMAND_PATH)df + DIFF = $(UTILS_USR_BIN_PATH)diff +@@ -136,7 +136,7 @@ + TAR = $(UTILS_COMMAND_PATH)tar + TEST = $(UTILS_USR_BIN_PATH)test + TOUCH = $(UTILS_COMMAND_PATH)touch +-TR = $(UTILS_USR_BIN_PATH)tr ++TR = $(UTILS_COMMAND_PATH)tr + TRUE = $(UTILS_COMMAND_PATH)true + UNAME = $(UTILS_COMMAND_PATH)uname + UNIQ = $(UTILS_USR_BIN_PATH)uniq +@@ -186,7 +186,7 @@ + # others have it in /usr/bin. + SORT=$(firstword $(wildcard $(UTILS_COMMAND_PATH)sort) \ + $(wildcard $(UTILS_USR_BIN_PATH)sort)) +- NAWK = $(USRBIN_PATH)gawk ++ NAWK = $(UTILS_COMMAND_PATH)gawk + # Intrinsic unix command, with backslash-escaped character interpretation + ECHO = /bin/echo -e + # These are really in UTILS_USR_BIN_PATH on Linux (only sccs is not) diff --git a/staging/java7-openjdk/fontconfig-paths.diff b/staging/java7-openjdk/fontconfig-paths.diff new file mode 100644 index 000000000..fa08db629 --- /dev/null +++ b/staging/java7-openjdk/fontconfig-paths.diff @@ -0,0 +1,134 @@ +--- openjdk/jdk/src/solaris/classes/sun/awt/fontconfigs/linux.fontconfig.Ubuntu.properties 2009-05-29 22:45:23.024341869 +0000 ++++ openjdk/jdk/src/solaris/classes/sun/awt/fontconfigs/linux.fontconfig.Ubuntu.properties.new 2009-05-29 22:55:13.681366890 +0000 +@@ -275,73 +275,61 @@ + + # Font File Names + +-filename.DejaVu_Sans=/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf +-filename.DejaVu_Sans_Bold=/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-Bold.ttf +-filename.DejaVu_Sans_Oblique=/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-Oblique.ttf +-filename.DejaVu_Sans_Bold_Oblique=/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-BoldOblique.ttf +- +-filename.DejaVu_Sans_Mono=/usr/share/fonts/truetype/ttf-dejavu/DejaVuSansMono.ttf +-filename.DejaVu_Sans_Mono_Bold=/usr/share/fonts/truetype/ttf-dejavu/DejaVuSansMono-Bold.ttf +-filename.DejaVu_Sans_Mono_Oblique=/usr/share/fonts/truetype/ttf-dejavu/DejaVuSansMono-Oblique.ttf +-filename.DejaVu_Sans_Mono_Bold_Oblique=/usr/share/fonts/truetype/ttf-dejavu/DejaVuSansMono-BoldOblique.ttf +- +-filename.DejaVu_Serif=/usr/share/fonts/truetype/ttf-dejavu/DejaVuSerif.ttf +-filename.DejaVu_Serif_Bold=/usr/share/fonts/truetype/ttf-dejavu/DejaVuSerif-Bold.ttf +-filename.DejaVu_Serif_Oblique=/usr/share/fonts/truetype/ttf-dejavu/DejaVuSerif-Oblique.ttf +-filename.DejaVu_Serif_Bold_Oblique=/usr/share/fonts/truetype/ttf-dejavu/DejaVuSerif-BoldOblique.ttf +- +-filename.AR_PL_UMing_CN=/usr/share/fonts/truetype/arphic/uming.ttc +-filename.AR_PL_UMing_HK=/usr/share/fonts/truetype/arphic/uming.ttc +-filename.AR_PL_UMing_TW=/usr/share/fonts/truetype/arphic/uming.ttc +-filename.AR_PL_ShanHeiSun_Uni=/usr/share/fonts/truetype/arphic/uming.ttf +- +-filename.WenQuanYi_Zen_Hei=/usr/share/fonts/truetype/wqy/wqy-zenhei.ttf +-filename.Baekmuk_Batang=/usr/share/fonts/truetype/baekmuk/batang.ttf +-filename.UnBatang=/usr/share/fonts/truetype/unfonts/UnBatang.ttf +-filename.UnBatang_Bold=/usr/share/fonts/truetype/unfonts/UnBatangBold.ttf +-filename.Baekmuk_Gulim=/usr/share/fonts/truetype/baekmuk/gulim.ttf +-filename.UnDotum=/usr/share/fonts/truetype/unfonts/UnDotum.ttf +-filename.UnDotum_Bold=/usr/share/fonts/truetype/unfonts/UnDotumBold.ttf +-filename.Kochi_Gothic=/usr/share/fonts/truetype/kochi/kochi-gothic.ttf +-filename.Sazanami_Gothic=/usr/share/fonts/truetype/sazanami/sazanami-gothic.ttf +-filename.Kochi_Mincho=/usr/share/fonts/truetype/kochi/kochi-mincho.ttf +-filename.Sazanami_Mincho=/usr/share/fonts/truetype/sazanami/sazanami-mincho.ttf +-filename.VL_Gothic=/usr/share/fonts/truetype/vlgothic/VL-Gothic-Regular.ttf +-filename.VL_PGothic=/usr/share/fonts/truetype/vlgothic/VL-PGothic-Regular.ttf +- +-filename.Lohit_Bengali=/usr/share/fonts/truetype/ttf-bengali-fonts/lohit_bn.ttf +-filename.Lohit_Gujarati=/usr/share/fonts/truetype/ttf-indic-fonts-core/lohit_gu.ttf +-filename.Lohit_Hindi=/usr/share/fonts/truetype/ttf-indic-fonts-core/lohit_hi.ttf +-filename.Lohit_Kannda=/usr/share/fonts/truetype/ttf-kannada-fonts/lohit_kn.ttf +-#filename.Lohit_Malayalam=/usr/share/fonts/lohit-malayalam/lohit_ml.ttf +-filename.Lohit_Oriya=/usr/share/fonts/truetype/ttf-oriya-fonts/lohit_or.ttf +-filename.Lohit_Punjabi=/usr/share/fonts/truetype/ttf-indic-fonts-core/lohit_pa.ttf +-filename.Lohit_Tamil=/usr/share/fonts/truetype/ttf-indic-fonts-core/lohit_ta.ttf +-filename.Lohit_Telugu=/usr/share/fonts/truetype/ttf-telugu-fonts/lohit_te.ttf +-filename.LKLUG=/usr/share/fonts/truetype/ttf-sinhala-lklug/lklug.ttf +- +-filename.LuxiSans-Regular=/usr/share/fonts/truetype/ttf-xfree86-nonfree/luxisr.ttf +-filename.LuxiSans-Bold=/usr/share/fonts/truetype/ttf-xfree86-nonfree/luxisb.ttf +-filename.LuxiSans-Oblique=/usr/share/fonts/truetype/ttf-xfree86-nonfree/luxisri.ttf +-filename.LuxiSans-BoldOblique=/usr/share/fonts/truetype/ttf-xfree86-nonfree/luxisbi.ttf +-filename.LuxiMono-Regular=/usr/share/fonts/truetype/ttf-xfree86-nonfree/luximr.ttf +-filename.LuxiMono-Bold=/usr/share/fonts/truetype/ttf-xfree86-nonfree/luximb.ttf +-filename.LuxiMono-Oblique=/usr/share/fonts/truetype/ttf-xfree86-nonfree/luximri.ttf +-filename.LuxiMono-BoldOblique=/usr/share/fonts/truetype/ttf-xfree86-nonfree/luximbi.ttf +-filename.LuxiSerif-Regular=/usr/share/fonts/truetype/ttf-xfree86-nonfree/luxirr.ttf +-filename.LuxiSerif-Bold=/usr/share/fonts/truetype/ttf-xfree86-nonfree/luxirb.ttf +-filename.LuxiSerif-Oblique=/usr/share/fonts/truetype/ttf-xfree86-nonfree/luxirri.ttf +-filename.LuxiSerif-BoldOblique=/usr/share/fonts/truetype/ttf-xfree86-nonfree/luxirbi.ttf +- +-# AWT X11 font paths +-awtfontpath.latin-1=/usr/share/fonts/X11/Type1 +-awtfontpath.umingcn=/usr/share/fonts/truetype/arphic +-awtfontpath.uminghk=/usr/share/fonts/truetype/arphic +-awtfontpath.umingtw=/usr/share/fonts/truetype/arphic +-awtfontpath.shanheisun=/usr/share/fonts/truetype/arphic +-awtfontpath.wqy-zenhei=/usr/share/fonts/truetype/wqy +-awtfontpath.japanese-kochi=/usr/share/fonts/truetype/kochi +-awtfontpath.japanese-sazanami=/usr/share/fonts/truetype/sazanami +-awtfontpath.japanese-vlgothic=/usr/share/fonts/truetype/vlgothic +-awtfontpath.korean-baekmuk=/usr/share/fonts/truetype/baekmuk +-awtfontpath.korean-un=/usr/share/fonts/truetype/unfonts ++filename.DejaVu_Sans=/usr/share/fonts/TTF/DejaVuSans.ttf ++filename.DejaVu_Sans_Bold=/usr/share/fonts/TTF/DejaVuSans-Bold.ttf ++filename.DejaVu_Sans_Oblique=/usr/share/fonts/TTF/DejaVuSans-Oblique.ttf ++filename.DejaVu_Sans_Bold_Oblique=/usr/share/fonts/TTF/DejaVuSans-BoldOblique.ttf ++ ++filename.DejaVu_Sans_Mono=/usr/share/fonts/TTF/DejaVuSansMono.ttf ++filename.DejaVu_Sans_Mono_Bold=/usr/share/fonts/TTF/DejaVuSansMono-Bold.ttf ++filename.DejaVu_Sans_Mono_Oblique=/usr/share/fonts/TTF/DejaVuSansMono-Oblique.ttf ++filename.DejaVu_Sans_Mono_Bold_Oblique=/usr/share/fonts/TTF/DejaVuSansMono-BoldOblique.ttf ++ ++filename.DejaVu_Serif=/usr/share/fonts/TTF/DejaVuSerif.ttf ++filename.DejaVu_Serif_Bold=/usr/share/fonts/TTF/DejaVuSerif-Bold.ttf ++filename.DejaVu_Serif_Oblique=/usr/share/fonts/TTF/DejaVuSerif-Oblique.ttf ++filename.DejaVu_Serif_Bold_Oblique=/usr/share/fonts/TTF/DejaVuSerif-BoldOblique.ttf ++ ++filename.AR_PL_UMing_CN=/usr/share/fonts/TTF/uming.ttc ++filename.AR_PL_UMing_HK=/usr/share/fonts/TTF/uming.ttc ++filename.AR_PL_UMing_TW=/usr/share/fonts/TTF/uming.ttc ++filename.AR_PL_ShanHeiSun_Uni=/usr/share/TTF/uming.ttf ++ ++filename.WenQuanYi_Zen_Hei=/usr/share/fonts/TTF/wqy-zenhei.ttf ++filename.Baekmuk_Batang=/usr/share/fonts/TTF/batang.ttf ++filename.UnBatang=/usr/share/fonts/TTF/UnBatang.ttf ++filename.UnBatang_Bold=/usr/share/fonts/TTF/UnBatangBold.ttf ++filename.Baekmuk_Gulim=/usr/share/fonts/TTF/gulim.ttf ++filename.UnDotum=/usr/share/fonts/TTF/UnDotum.ttf ++filename.UnDotum_Bold=/usr/share/fonts/TTF/UnDotumBold.ttf ++filename.Kochi_Gothic=/usr/share/fonts/TTF/kochi-gothic.ttf ++filename.Sazanami_Gothic=/usr/share/fonts/TTF/sazanami-gothic.ttf ++filename.Kochi_Mincho=/usr/share/fonts/TTF/kochi-mincho.ttf ++filename.Sazanami_Mincho=/usr/share/fonts/TTF/sazanami-mincho.ttf ++filename.VL_Gothic=/usr/share/fonts/TTF/VL-Gothic-Regular.ttf ++filename.VL_PGothic=/usr/share/fonts/TTF/VL-PGothic-Regular.ttf ++ ++filename.Lohit_Bengali=/usr/share/fonts/TTF/lohit_bn.ttf ++filename.Lohit_Gujarati=/usr/share/fonts/TTF/lohit_gu.ttf ++filename.Lohit_Hindi=/usr/share/fonts/TTF/lohit_hi.ttf ++filename.Lohit_Kannda=/usr/share/fonts/TTF/lohit_kn.ttf ++#filename.Lohit_Malayalam=/usr/share/fonts/TTF/lohit_ml.ttf ++filename.Lohit_Oriya=/usr/share/fonts/TTF/lohit_or.ttf ++filename.Lohit_Punjabi=/usr/share/fonts/TTF/lohit_pa.ttf ++filename.Lohit_Tamil=/usr/share/fonts/TTF/lohit_ta.ttf ++filename.Lohit_Telugu=/usr/share/fonts/TTF/lohit_te.ttf ++filename.LKLUG=/usr/share/fonts/TTF/lklug.ttf ++ ++filename.LuxiSans-Regular=/usr/share/fonts/TTF/luxisr.ttf ++filename.LuxiSans-Bold=/usr/share/fonts/TTF/luxisb.ttf ++filename.LuxiSans-Oblique=/usr/share/fonts/TTF/luxisri.ttf ++filename.LuxiSans-BoldOblique=/usr/share/fonts/TTF/luxisbi.ttf ++filename.LuxiMono-Regular=/usr/share/fonts/TTF/luximr.ttf ++filename.LuxiMono-Bold=/usr/share/fonts/TTF/luximb.ttf ++filename.LuxiMono-Oblique=/usr/share/fonts/TTF/luximri.ttf ++filename.LuxiMono-BoldOblique=/usr/share/fonts/TTF/luximbi.ttf ++filename.LuxiSerif-Regular=/usr/share/fonts/TTF/luxirr.ttf ++filename.LuxiSerif-Bold=/usr/share/fonts/TTF/luxirb.ttf ++filename.LuxiSerif-Oblique=/usr/share/fonts/TTF/luxirri.ttf ++filename.LuxiSerif-BoldOblique=/usr/share/fonts/TTF/luxirbi.ttf ++ diff --git a/staging/java7-openjdk/glibc2_15.diff b/staging/java7-openjdk/glibc2_15.diff new file mode 100644 index 000000000..c2fd6124b --- /dev/null +++ b/staging/java7-openjdk/glibc2_15.diff @@ -0,0 +1,232 @@ + +# HG changeset patch +# User never +# Date 1319555835 25200 +# Node ID a6eef545f1a2ceca6aeadf688a965df600ffef28 +# Parent 2ec638646e86e455978c31a9d47fc0ec271ed926 +7103224: collision between __LEAF define in interfaceSupport.hpp and /usr/include/sys/cdefs.h with gcc +Reviewed-by: never +Contributed-by: Omair Majid <omajid@redhat.com> + +--- openjdk/hotspot/src/share/vm/opto/addnode.cpp Tue Oct 25 04:07:20 2011 -0700 ++++ openjdk/hotspot/src/share/vm/opto/addnode.cpp Tue Oct 25 08:17:15 2011 -0700 +@@ -33,8 +33,6 @@ + #include "opto/subnode.hpp" + + // Portions of code courtesy of Clifford Click +- +-#define MAXFLOAT ((float)3.40282346638528860e+38) + + // Classic Add functionality. This covers all the usual 'add' behaviors for + // an algebraic ring. Add-integer, add-float, add-double, and binary-or are +--- openjdk/hotspot/src/share/vm/prims/jniCheck.cpp Tue Oct 25 04:07:20 2011 -0700 ++++ openjdk/hotspot/src/share/vm/prims/jniCheck.cpp Tue Oct 25 08:17:15 2011 -0700 +@@ -107,7 +107,7 @@ extern "C" { + if (env != xenv) { \ + NativeReportJNIFatalError(thr, warn_wrong_jnienv); \ + } \ +- __ENTRY(result_type, header, thr) ++ VM_ENTRY_BASE(result_type, header, thr) + + + #define UNCHECKED() (unchecked_jni_NativeInterface) +--- openjdk/hotspot/src/share/vm/prims/jvmtiEnter.xsl Tue Oct 25 04:07:20 2011 -0700 ++++ openjdk/hotspot/src/share/vm/prims/jvmtiEnter.xsl Tue Oct 25 08:17:15 2011 -0700 +@@ -426,7 +426,7 @@ struct jvmtiInterface_1_ jvmti</xsl:text + <xsl:value-of select="$space"/> + <xsl:text>ThreadInVMfromNative __tiv(current_thread);</xsl:text> + <xsl:value-of select="$space"/> +- <xsl:text>__ENTRY(jvmtiError, </xsl:text> ++ <xsl:text>VM_ENTRY_BASE(jvmtiError, </xsl:text> + <xsl:apply-templates select="." mode="functionid"/> + <xsl:text> , current_thread)</xsl:text> + <xsl:value-of select="$space"/> +--- openjdk/hotspot/src/share/vm/prims/jvmtiEnv.cpp Tue Oct 25 04:07:20 2011 -0700 ++++ openjdk/hotspot/src/share/vm/prims/jvmtiEnv.cpp Tue Oct 25 08:17:15 2011 -0700 +@@ -173,7 +173,7 @@ JvmtiEnv::GetThreadLocalStorage(jthread + // from native so as to resolve the jthread. + + ThreadInVMfromNative __tiv(current_thread); +- __ENTRY(jvmtiError, JvmtiEnv::GetThreadLocalStorage , current_thread) ++ VM_ENTRY_BASE(jvmtiError, JvmtiEnv::GetThreadLocalStorage , current_thread) + debug_only(VMNativeEntryWrapper __vew;) + + oop thread_oop = JNIHandles::resolve_external_guard(thread); +--- openjdk/hotspot/src/share/vm/prims/jvmtiExport.cpp Tue Oct 25 04:07:20 2011 -0700 ++++ openjdk/hotspot/src/share/vm/prims/jvmtiExport.cpp Tue Oct 25 08:17:15 2011 -0700 +@@ -373,7 +373,7 @@ JvmtiExport::get_jvmti_interface(JavaVM + JavaThread* current_thread = (JavaThread*) ThreadLocalStorage::thread(); + // transition code: native to VM + ThreadInVMfromNative __tiv(current_thread); +- __ENTRY(jvmtiEnv*, JvmtiExport::get_jvmti_interface, current_thread) ++ VM_ENTRY_BASE(jvmtiEnv*, JvmtiExport::get_jvmti_interface, current_thread) + debug_only(VMNativeEntryWrapper __vew;) + + JvmtiEnv *jvmti_env = JvmtiEnv::create_a_jvmti(version); +--- openjdk/hotspot/src/share/vm/runtime/interfaceSupport.hpp Tue Oct 25 04:07:20 2011 -0700 ++++ openjdk/hotspot/src/share/vm/runtime/interfaceSupport.hpp Tue Oct 25 08:17:15 2011 -0700 +@@ -72,9 +72,9 @@ class HandleMarkCleaner: public StackObj + } + }; + +-// InterfaceSupport provides functionality used by the __LEAF and __ENTRY +-// macros. These macros are used to guard entry points into the VM and +-// perform checks upon leave of the VM. ++// InterfaceSupport provides functionality used by the VM_LEAF_BASE and ++// VM_ENTRY_BASE macros. These macros are used to guard entry points into ++// the VM and perform checks upon leave of the VM. + + + class InterfaceSupport: AllStatic { +@@ -433,7 +433,7 @@ class RuntimeHistogramElement : public H + + // LEAF routines do not lock, GC or throw exceptions + +-#define __LEAF(result_type, header) \ ++#define VM_LEAF_BASE(result_type, header) \ + TRACE_CALL(result_type, header) \ + debug_only(NoHandleMark __hm;) \ + /* begin of body */ +@@ -441,7 +441,7 @@ class RuntimeHistogramElement : public H + + // ENTRY routines may lock, GC and throw exceptions + +-#define __ENTRY(result_type, header, thread) \ ++#define VM_ENTRY_BASE(result_type, header, thread) \ + TRACE_CALL(result_type, header) \ + HandleMarkCleaner __hm(thread); \ + Thread* THREAD = thread; \ +@@ -450,7 +450,7 @@ class RuntimeHistogramElement : public H + + // QUICK_ENTRY routines behave like ENTRY but without a handle mark + +-#define __QUICK_ENTRY(result_type, header, thread) \ ++#define VM_QUICK_ENTRY_BASE(result_type, header, thread) \ + TRACE_CALL(result_type, header) \ + debug_only(NoHandleMark __hm;) \ + Thread* THREAD = thread; \ +@@ -463,20 +463,20 @@ class RuntimeHistogramElement : public H + #define IRT_ENTRY(result_type, header) \ + result_type header { \ + ThreadInVMfromJava __tiv(thread); \ +- __ENTRY(result_type, header, thread) \ ++ VM_ENTRY_BASE(result_type, header, thread) \ + debug_only(VMEntryWrapper __vew;) + + + #define IRT_LEAF(result_type, header) \ + result_type header { \ +- __LEAF(result_type, header) \ ++ VM_LEAF_BASE(result_type, header) \ + debug_only(No_Safepoint_Verifier __nspv(true);) + + + #define IRT_ENTRY_NO_ASYNC(result_type, header) \ + result_type header { \ + ThreadInVMfromJavaNoAsyncException __tiv(thread); \ +- __ENTRY(result_type, header, thread) \ ++ VM_ENTRY_BASE(result_type, header, thread) \ + debug_only(VMEntryWrapper __vew;) + + // Another special case for nmethod_entry_point so the nmethod that the +@@ -487,7 +487,7 @@ class RuntimeHistogramElement : public H + result_type header { \ + nmethodLocker _nmlock(nm); \ + ThreadInVMfromJavaNoAsyncException __tiv(thread); \ +- __ENTRY(result_type, header, thread) ++ VM_ENTRY_BASE(result_type, header, thread) + + #define IRT_END } + +@@ -497,20 +497,20 @@ class RuntimeHistogramElement : public H + #define JRT_ENTRY(result_type, header) \ + result_type header { \ + ThreadInVMfromJava __tiv(thread); \ +- __ENTRY(result_type, header, thread) \ ++ VM_ENTRY_BASE(result_type, header, thread) \ + debug_only(VMEntryWrapper __vew;) + + + #define JRT_LEAF(result_type, header) \ + result_type header { \ +- __LEAF(result_type, header) \ ++ VM_LEAF_BASE(result_type, header) \ + debug_only(JRT_Leaf_Verifier __jlv;) + + + #define JRT_ENTRY_NO_ASYNC(result_type, header) \ + result_type header { \ + ThreadInVMfromJavaNoAsyncException __tiv(thread); \ +- __ENTRY(result_type, header, thread) \ ++ VM_ENTRY_BASE(result_type, header, thread) \ + debug_only(VMEntryWrapper __vew;) + + // Same as JRT Entry but allows for return value after the safepoint +@@ -543,11 +543,11 @@ extern "C" { + assert( !VerifyJNIEnvThread || (thread == Thread::current()), "JNIEnv is only valid in same thread"); \ + ThreadInVMfromNative __tiv(thread); \ + debug_only(VMNativeEntryWrapper __vew;) \ +- __ENTRY(result_type, header, thread) ++ VM_ENTRY_BASE(result_type, header, thread) + + + // Ensure that the VMNativeEntryWrapper constructor, which can cause +-// a GC, is called outside the NoHandleMark (set via __QUICK_ENTRY). ++// a GC, is called outside the NoHandleMark (set via VM_QUICK_ENTRY_BASE). + #define JNI_QUICK_ENTRY(result_type, header) \ + extern "C" { \ + result_type JNICALL header { \ +@@ -555,7 +555,7 @@ extern "C" { + assert( !VerifyJNIEnvThread || (thread == Thread::current()), "JNIEnv is only valid in same thread"); \ + ThreadInVMfromNative __tiv(thread); \ + debug_only(VMNativeEntryWrapper __vew;) \ +- __QUICK_ENTRY(result_type, header, thread) ++ VM_QUICK_ENTRY_BASE(result_type, header, thread) + + + #define JNI_LEAF(result_type, header) \ +@@ -563,7 +563,7 @@ extern "C" { + result_type JNICALL header { \ + JavaThread* thread=JavaThread::thread_from_jni_environment(env); \ + assert( !VerifyJNIEnvThread || (thread == Thread::current()), "JNIEnv is only valid in same thread"); \ +- __LEAF(result_type, header) ++ VM_LEAF_BASE(result_type, header) + + + // Close the routine and the extern "C" +@@ -579,7 +579,7 @@ extern "C" { + JavaThread* thread=JavaThread::thread_from_jni_environment(env); \ + ThreadInVMfromNative __tiv(thread); \ + debug_only(VMNativeEntryWrapper __vew;) \ +- __ENTRY(result_type, header, thread) ++ VM_ENTRY_BASE(result_type, header, thread) + + + #define JVM_ENTRY_NO_ENV(result_type, header) \ +@@ -588,7 +588,7 @@ extern "C" { + JavaThread* thread = (JavaThread*)ThreadLocalStorage::thread(); \ + ThreadInVMfromNative __tiv(thread); \ + debug_only(VMNativeEntryWrapper __vew;) \ +- __ENTRY(result_type, header, thread) ++ VM_ENTRY_BASE(result_type, header, thread) + + + #define JVM_QUICK_ENTRY(result_type, header) \ +@@ -597,14 +597,14 @@ extern "C" { + JavaThread* thread=JavaThread::thread_from_jni_environment(env); \ + ThreadInVMfromNative __tiv(thread); \ + debug_only(VMNativeEntryWrapper __vew;) \ +- __QUICK_ENTRY(result_type, header, thread) ++ VM_QUICK_ENTRY_BASE(result_type, header, thread) + + + #define JVM_LEAF(result_type, header) \ + extern "C" { \ + result_type JNICALL header { \ + VM_Exit::block_if_vm_exited(); \ +- __LEAF(result_type, header) ++ VM_LEAF_BASE(result_type, header) + + + #define JVM_END } } + diff --git a/staging/java7-openjdk/jdk7-openjdk.profile b/staging/java7-openjdk/jdk7-openjdk.profile new file mode 100644 index 000000000..91265cc86 --- /dev/null +++ b/staging/java7-openjdk/jdk7-openjdk.profile @@ -0,0 +1,6 @@ +export J2SDKDIR=/usr/lib/jvm/java-7-openjdk +export J2REDIR=$J2SDKDIR/jre +export JAVA_HOME=/usr/lib/jvm/java-7-openjdk + +# For non-reparenting window managers, enable '_JAVA_AWT_WM_NONREPARENTING' +# in /etc/profile.d/jre7.sh diff --git a/staging/java7-openjdk/jdk7-openjdk.profile.csh b/staging/java7-openjdk/jdk7-openjdk.profile.csh new file mode 100644 index 000000000..cc7dc8ab1 --- /dev/null +++ b/staging/java7-openjdk/jdk7-openjdk.profile.csh @@ -0,0 +1 @@ +setenv J2SDKDIR "/usr/lib/jvm/java-7-openjdk" diff --git a/staging/java7-openjdk/jre7-openjdk-headless.install b/staging/java7-openjdk/jre7-openjdk-headless.install new file mode 100644 index 000000000..45f52fe32 --- /dev/null +++ b/staging/java7-openjdk/jre7-openjdk-headless.install @@ -0,0 +1,15 @@ +post_install() { + if [ ! -f /etc/ssl/certs/java/cacerts ]; then + /usr/sbin/init-jks-keystore + fi +} + +post_upgrade() { + if [ ! -f /etc/ssl/certs/java/cacerts ]; then + /usr/sbin/init-jks-keystore + fi +} + +#post_remove() { +# +#} diff --git a/staging/java7-openjdk/jre7-openjdk.install b/staging/java7-openjdk/jre7-openjdk.install new file mode 100644 index 000000000..d98e79ec5 --- /dev/null +++ b/staging/java7-openjdk/jre7-openjdk.install @@ -0,0 +1,18 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor 2> /dev/null + echo "when you use a non-reparenting window manager" + echo "set _JAVA_AWT_WM_NONREPARENTING=1 in" + echo "/etc/profile.d/jre.sh" +# update-desktop-database -q +} + +post_upgrade() { + xdg-icon-resource forceupdate --theme hicolor 2> /dev/null +# update-desktop-database -q +} + + +post_remove() { + xdg-icon-resource forceupdate --theme hicolor 2> /dev/null +# update-desktop-database -q +} diff --git a/staging/java7-openjdk/jre7-openjdk.profile b/staging/java7-openjdk/jre7-openjdk.profile new file mode 100644 index 000000000..c86ce857a --- /dev/null +++ b/staging/java7-openjdk/jre7-openjdk.profile @@ -0,0 +1,5 @@ +export J2REDIR=/usr/lib/jvm/java-7-openjdk/jre +export JAVA_HOME=${JAVA_HOME:-/usr/lib/jvm/java-7-openjdk/jre} + +# enable this for non-reparenting window managers +#export _JAVA_AWT_WM_NONREPARENTING=1 diff --git a/staging/java7-openjdk/jre7-openjdk.profile.csh b/staging/java7-openjdk/jre7-openjdk.profile.csh new file mode 100644 index 000000000..a9aed27d1 --- /dev/null +++ b/staging/java7-openjdk/jre7-openjdk.profile.csh @@ -0,0 +1,5 @@ +setenv J2REDIR "/usr/lib/jvm/java-7-openjdk/jre" +setenv JAVA_HOME "/usr/lib/jvm/java-7-openjdk/jre" + +# enable this for non-reparenting window managers +#setenv _JAVA_AWT_WM_NONREPARENTING 1 diff --git a/staging/java7-openjdk/openjdk7_fix_jdk_cmds_path.diff b/staging/java7-openjdk/openjdk7_fix_jdk_cmds_path.diff new file mode 100644 index 000000000..c68bd4441 --- /dev/null +++ b/staging/java7-openjdk/openjdk7_fix_jdk_cmds_path.diff @@ -0,0 +1,24 @@ +--- openjdk/jdk/make/common/shared/Defs-utils.gmk.old 2011-08-06 15:46:01.000000000 +0200 ++++ openjdk/jdk/make/common/shared/Defs-utils.gmk 2011-08-06 15:59:26.000000000 +0200 +@@ -91,10 +91,10 @@ + CHMOD = $(UTILS_COMMAND_PATH)chmod + CMP = $(UTILS_USR_BIN_PATH)cmp + COMM = $(UTILS_USR_BIN_PATH)comm +-COMPRESS = $(UTILS_USR_BIN_PATH)compress ++COMPRESS = $(UTILS_COMMAND_PATH)compress + CP = $(UTILS_COMMAND_PATH)cp + CPIO = $(UTILS_COMMAND_PATH)cpio +-CUT = $(UTILS_USR_BIN_PATH)cut ++CUT = $(UTILS_COMMAND_PATH)cut + DATE = $(UTILS_COMMAND_PATH)date + DF = $(UTILS_COMMAND_PATH)df + DIFF = $(UTILS_USR_BIN_PATH)diff +@@ -141,7 +141,7 @@ + TAR = $(UTILS_COMMAND_PATH)tar + TEST = $(UTILS_USR_BIN_PATH)test + TOUCH = $(UTILS_COMMAND_PATH)touch +-TR = $(UTILS_USR_BIN_PATH)tr ++TR = $(UTILS_COMMAND_PATH)tr + TRUE = $(UTILS_COMMAND_PATH)true + UNAME = $(UTILS_COMMAND_PATH)uname + UNIQ = $(UTILS_USR_BIN_PATH)uniq diff --git a/staging/java7-openjdk/openjdk7_nonreparenting-wm.diff b/staging/java7-openjdk/openjdk7_nonreparenting-wm.diff new file mode 100644 index 000000000..ba1a588e1 --- /dev/null +++ b/staging/java7-openjdk/openjdk7_nonreparenting-wm.diff @@ -0,0 +1,58 @@ +--- openjdk/jdk/src/solaris/classes/sun/awt/X11/XWM.java.orig 2011-08-07 18:45:05.000000000 +0200 ++++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XWM.java 2011-08-07 18:45:54.000000000 +0200 +@@ -102,7 +102,8 @@ + METACITY_WM = 11, + COMPIZ_WM = 12, + LG3D_WM = 13, +- MUTTER_WM = 14; ++ MUTTER_WM = 14, ++ OTHER_NONREPARENTING_WM = 15; + public String toString() { + switch (WMID) { + case NO_WM: +@@ -576,7 +577,7 @@ + // TODO: according to wikipedia, compiz is now reparenting. This should + // probably be updated. + static boolean isNonReparentingWM() { +- return (XWM.getWMID() == XWM.COMPIZ_WM || XWM.getWMID() == XWM.LG3D_WM); ++ return (XWM.getWMID() == XWM.COMPIZ_WM || XWM.getWMID() == XWM.LG3D_WM || XWM.getWMID() == XWM.OTHER_NONREPARENTING_WM); + } + + /* +@@ -762,9 +763,17 @@ + * supports WIN or _NET wm spec. + */ + else if (l_net_protocol.active()) { +- awt_wmgr = XWM.OTHER_WM; ++ if (XToolkit.getEnv("_JAVA_AWT_WM_NONREPARENTING") != null) { ++ awt_wmgr = XWM.OTHER_NONREPARENTING_WM; ++ } else { ++ awt_wmgr = XWM.OTHER_WM; ++ } + } else if (win.active()) { +- awt_wmgr = XWM.OTHER_WM; ++ if (XToolkit.getEnv("_JAVA_AWT_WM_NONREPARENTING") != null) { ++ awt_wmgr = XWM.OTHER_NONREPARENTING_WM; ++ } else { ++ awt_wmgr = XWM.OTHER_WM; ++ } + } + /* + * Check for legacy WMs. +@@ -775,6 +784,8 @@ + awt_wmgr = XWM.MOTIF_WM; + } else if (isOpenLook()) { + awt_wmgr = XWM.OPENLOOK_WM; ++ } else if (XToolkit.getEnv("_JAVA_AWT_WM_NONREPARENTING") != null) { ++ awt_wmgr = XWM.OTHER_NONREPARENTING_WM; + } else { + awt_wmgr = XWM.OTHER_WM; + } +@@ -1289,6 +1300,7 @@ + res = new Insets(28, 6, 6, 6); + break; + case NO_WM: ++ case OTHER_NONREPARENTING_WM: + case LG3D_WM: + res = zeroInsets; + break; diff --git a/staging/libreoffice/PKGBUILD b/staging/libreoffice/PKGBUILD index de7307ef5..d9a941c88 100644 --- a/staging/libreoffice/PKGBUILD +++ b/staging/libreoffice/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 146062 2012-01-04 21:30:06Z andyrtr $ +# $Id: PKGBUILD 147059 2012-01-21 10:23:48Z andyrtr $ # Maintainer: AndyRTR <andyrtr@archlinux.org> pkgbase="libreoffice" @@ -35,9 +35,9 @@ pkgname=('libreoffice-common' 'libreoffice-extension-validator' 'libreoffice-extension-watch-window' 'libreoffice-extension-wiki-publisher') -_LOver=3.4.4.2 -pkgver=3.4.4 -pkgrel=5 +_LOver=3.4.5.2 +pkgver=3.4.5 +pkgrel=2 arch=('i686' 'x86_64') #_LO_tree="3.4" _OFFICEUPD="340" @@ -61,8 +61,11 @@ makedepends=( # makedepends _mirror="http://download.documentfoundation.org/libreoffice/src/${pkgver}" #_mirror="http://dev-builds.libreoffice.org/pre-releases/src" +#_mirror="http://dev-builds.libreoffice.org/pre-releases-3-4/src" _additional_source_url="http://hg.services.openoffice.org/binaries" +_additional_source_url="http://dev-www.libreoffice.org/src" source=(${_mirror}/${pkgbase}-{artwork,base,bootstrap,calc,components,extensions,extras,filters,help,impress,libs-core,libs-extern,libs-extern-sys,libs-gui,postprocess,sdk,testing,ure,writer}-${_LOver}.tar.bz2 #,translations + ${_additional_source_url}/f02578f5218f217a9f20e9c30e119c6a-boost_1_44_0.tar.bz2 ${_additional_source_url}/1f24ab1d39f4a51faf22244c94a6203f-xmlsec1-1.2.14.tar.gz ${_additional_source_url}/35c94d2df8893241173de1d16b6034c0-swingExSrc.zip ${_additional_source_url}/798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip @@ -102,11 +105,9 @@ source=(${_mirror}/${pkgbase}-{artwork,base,bootstrap,calc,components,extensions buildfix_boost.diff buildfix_ct2n.diff vbahelper.visibility.patch - scp2-more-reasonable-file-access-rights.diff - oracle-recognition.diff::http://cgit.freedesktop.org/libreoffice/core/patch/?id=549e54fb2f8113502743c443d6deadfe648dede1 - RemovetheoslSecuritygetHomeDircheck.diff::http://cgit.freedesktop.org/libreoffice/ure/patch/?id=bc9b86940a707e9e2e1076f2954f38075398b5d7 - gcc462_buildfix.diff) + scp2-more-reasonable-file-access-rights.diff) noextract=(185d60944ea767075d27247c3162b3bc-unowinreg.dll + f02578f5218f217a9f20e9c30e119c6a-boost_1_44_0.tar.bz2 0ff7d225d087793c8c2c680d77aac3e7-mdds_0.5.3.tar.bz2 ada24d37d8d638b3d8a9985e80bc2978-source-9.0.0.7-bj.zip 798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip @@ -142,25 +143,26 @@ noextract=(185d60944ea767075d27247c3162b3bc-unowinreg.dll dbaafd21de055e582d92d7d32fe9da13-gdocs_2.3.1.oxt b7b2d0e04e142f26dd96119c80757d1f-oooblogger_0.1.oxt 90401bca927835b6fbae4a707ed187c8-nlpsolver-0.9.tar.bz2) -md5sums=('be8b13f83045f0a53b69fe76d6d72e9c' - 'db423cbb1cee416b718138044a5de930' - '31944d2139d6d81ef1131bd513530621' - 'f447fd4ffe54aab9561c6caa262754b3' - '97fe698737a35c8803712d4e08007620' - 'acff44d97a5106d9b53c747dabeb0800' - '620d43a0b9f36388f423e030513864ef' - '4c5b1ed870363eca2602f0cb42a8415a' - '702c6ca31525d7d2c2ded86c77b0bd2e' - 'ac9b3acf78f43c1395d0e2dedc860f30' - 'd8d2c41cb86bc8ba2a07e001a5317abb' - '4d4af2fc06dbe33ec2307df812f7abe1' - '1398a566eb76598bf3005e187fc2386c' - 'dd962d2d57f88b9e07e665adad3cabbc' - 'fff0fc9cd16ef1eb2b2ed5d0a6e77f95' - 'e54d41d39e63d04ac4a88ce79e37af98' - 'dbc71403040f447683bf55d1f0be3cad' - '69ce5b72f44b008d0e78767c5b1dbf39' - '34a2e8ae6b81a042966740263c53e135' +md5sums=('a75d7d4ebefb4c9a4bb256acf866fa81' + 'c1e2dabdf4cfcd5957779014a7f9787e' + '79c9c7fc208e7f56af09f284f261a7da' + 'c83a8a374d3d5cc83c6ac3b5ff613e46' + 'fa64799ebad8cbd2c160ac2f87bd5599' + 'b24fba57aa4185934e86a0a8db4a3433' + '4f98020088ab9b597fc21b617121bd47' + '3c3be7c5f923339c90b0d1d6ecad0243' + '3a0bb4bb096b7488533ed2ee466a2bc9' + 'f2b180aa1eff3884b4ca81c048f1e327' + 'a9af488ef92ad4442eafba874249c529' + 'db6a67c96a9090bc5e21b64e202a984e' + 'e00187ae0840e1f6a00fa3290cacf0d1' + '20fbf6cffd2b06e90a52105b75a57828' + '4af055f590732ec19a2534b2278ac49c' + 'c84693796d2b1d9c8269425b1fa53aef' + 'd4926dc27b6884656feec6753f4fdf22' + '770678ca19cca0f7985c1c82b2dccf48' + '97a1e3de430b124faf35bf334248ad53' + 'f02578f5218f217a9f20e9c30e119c6a' '1f24ab1d39f4a51faf22244c94a6203f' '35c94d2df8893241173de1d16b6034c0' '798b2ffdc8bcfe7bca2cf92b62caf685' @@ -200,10 +202,7 @@ md5sums=('be8b13f83045f0a53b69fe76d6d72e9c' 'bc228237108cab7745897a9f466b6d39' 'eee273f501ff45dc5f1365e78c6d57c0' '43b145db28e6c0d73578ae6fd35e510d' - '37638431e7e40baf2e47966ebb9bc0e9' - '3c6c62e77c30649a3dfe73512947cc9a' - 'eb35d4c715e0dfc23bbc706996033829' - '10600d04ee81014bc9b5cc04e615d799') + '37638431e7e40baf2e47966ebb9bc0e9') build() { @@ -233,10 +232,6 @@ build() { patch -Np1 -i ${srcdir}/buildfix_ct2n.diff patch -Np0 -i ${srcdir}/vbahelper.visibility.patch patch -Np0 -i ${srcdir}/scp2-more-reasonable-file-access-rights.diff - patch -Np1 -i ${srcdir}/oracle-recognition.diff - patch -Np1 -i ${srcdir}/RemovetheoslSecuritygetHomeDircheck.diff - # https://www.libreoffice.org/bugzilla/show_bug.cgi?id=43139 - patch -Np1 -i ${srcdir}/gcc462_buildfix.diff # unset C(XX)FLAGS # http://www.openoffice.org/issues/show_bug.cgi?id=103205 @@ -290,7 +285,6 @@ build() { --enable-lockdown\ --enable-opengl \ --enable-odk\ - --enable-opengl\ --enable-ext-barcode \ --enable-ext-diagram \ --enable-ext-google-docs \ @@ -333,7 +327,7 @@ build() { --with-external-libtextcat-data \ --with-openldap\ --with-ant-home="/usr/share/java/apache-ant"\ - --with-system-boost\ + --without-system-boost\ --with-system-cairo\ --with-system-libs\ --with-system-mozilla\ diff --git a/staging/libreoffice/PKGBUILD.next_stable b/staging/libreoffice/PKGBUILD.next_stable index a25819863..a8cb4c5ad 100644 --- a/staging/libreoffice/PKGBUILD.next_stable +++ b/staging/libreoffice/PKGBUILD.next_stable @@ -18,9 +18,9 @@ pkgname=('libreoffice-common' 'libreoffice-extension-presenter-screen' 'libreoffice-extension-presentation-minimizer' 'libreoffice-extension-report-builder') -_LOver=3.4.99.2 -pkgver=3.5.0beta2 -pkgrel=2 +_LOver=3.4.99.3 +pkgver=3.5.0beta3 +pkgrel=1 arch=('i686' 'x86_64') license=('LGPL3') url="http://www.libreoffice.org/" @@ -44,7 +44,8 @@ makedepends=( # makedepends _mirror="http://dev-builds.libreoffice.org/pre-releases/src" _additional_source_url="http://dev-www.libreoffice.org/src" source=(${_mirror}/${pkgbase}-{core,help,translations}-${_LOver}.tar.xz - ${_additional_source_url}/a8b25a0bf696fd126a08319d88998492-libvisio-0.0.11.tar.bz2 + ${_additional_source_url}/f02578f5218f217a9f20e9c30e119c6a-boost_1_44_0.tar.bz2 + ${_additional_source_url}/053a35c244bf132f806e198ac4d960aa-libvisio-0.0.12.tar.bz2 ${_additional_source_url}/1f24ab1d39f4a51faf22244c94a6203f-xmlsec1-1.2.14.tar.gz ${_additional_source_url}/35c94d2df8893241173de1d16b6034c0-swingExSrc.zip ${_additional_source_url}/798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip @@ -73,8 +74,9 @@ source=(${_mirror}/${pkgbase}-{core,help,translations}-${_LOver}.tar.xz #${_additional_source_url}/cc8eb870d6a324d36575420efd856319-libcdr-0.0.0.tar.bz2 http://download.go-oo.org/extern/185d60944ea767075d27247c3162b3bc-unowinreg.dll gmake_install.diff::http://cgit.freedesktop.org/libreoffice/core/patch/?id=1048d8fa4abd3e55a45dfb6884db808da1d72c9e - fix_menuicons.diff::http://cgit.freedesktop.org/libreoffice/core/patch/?id=c3569696294bb264a0c645db12f027d44b4e033f) -noextract=(a8b25a0bf696fd126a08319d88998492-libvisio-0.0.11.tar.bz2 + smp_buildfix.diff::http://cgit.freedesktop.org/libreoffice/core/patch/?id=cf23f57ae6bb7af689a45e0a850c3c2f67a8f810) +noextract=(053a35c244bf132f806e198ac4d960aa-libvisio-0.0.12.tar.bz2 + f02578f5218f217a9f20e9c30e119c6a-boost_1_44_0.tar.bz2 185d60944ea767075d27247c3162b3bc-unowinreg.dll 0ff7d225d087793c8c2c680d77aac3e7-mdds_0.5.3.tar.bz2 ada24d37d8d638b3d8a9985e80bc2978-source-9.0.0.7-bj.zip @@ -103,10 +105,11 @@ noextract=(a8b25a0bf696fd126a08319d88998492-libvisio-0.0.11.tar.bz2 ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip # cc8eb870d6a324d36575420efd856319-libcdr-0.0.0.tar.bz2 ) -md5sums=('e80d9d4b6c6b2a8be882a46bc8757e69' - '31471ad86996629a8c20f3a4d24ee03e' - '3146b8522605d24ce4a259fe73ec3519' - 'a8b25a0bf696fd126a08319d88998492' +md5sums=('3f223ec797a100e557f7138c8ab4a91b' + 'bb08c856e5c9a7a8bcf22fefdb7cf13f' + '83bd4be3370840de3e535b2c974e8af5' + 'f02578f5218f217a9f20e9c30e119c6a' + '053a35c244bf132f806e198ac4d960aa' '1f24ab1d39f4a51faf22244c94a6203f' '35c94d2df8893241173de1d16b6034c0' '798b2ffdc8bcfe7bca2cf92b62caf685' @@ -134,7 +137,7 @@ md5sums=('e80d9d4b6c6b2a8be882a46bc8757e69' '7c2549f6b0a8bb604e6c4c729ffdcfe6' '185d60944ea767075d27247c3162b3bc' '60ce5dc9bd098f95c2e621a930c98dd9' - 'f9bd737527dafd3eeb451cf0dd95d7d6') + '661a52a02a31b3afbe4b3b3146061afd') build() { @@ -157,8 +160,8 @@ build() { # buildfixes & bugfixes # one late fix to solve make distro-pack-install issue patch -Np1 -i ${srcdir}/gmake_install.diff - patch -Np1 -i ${srcdir}/fix_menuicons.diff - + patch -Np1 -i ${srcdir}/smp_buildfix.diff + # unset C(XX)FLAGS # http://www.openoffice.org/issues/show_bug.cgi?id=103205 # unset CFLAGS @@ -180,7 +183,7 @@ build() { # non-SMP test build # export MAKEFLAGS="-j1" #./configure --with-build-version="${_LOver} ArchLinux build-${pkgrel}" --with-vendor="ArchLinux" \ - touch autogen.lastrun +# touch autogen.lastrun ./autogen.sh --with-build-version="${_LOver} ArchLinux build-${pkgrel}" --with-vendor="ArchLinux" \ --with-unix-wrapper="libreoffice" \ --enable-split-app-modules \ @@ -232,7 +235,7 @@ build() { --without-system-mozilla \ --without-system-mozilla-headers \ --with-ant-home="/usr/share/java/apache-ant"\ - --with-system-boost\ + --without-system-boost\ --with-system-cairo\ --with-system-libs\ --with-system-mythes\ @@ -258,8 +261,6 @@ build() { touch src.downloaded #./download -# unset MAKEFLAGS -# ./bootstrap make # fake installation to create split file lists mkdir $srcdir/fakeinstall diff --git a/staging/libwebkit/PKGBUILD b/staging/libwebkit/PKGBUILD new file mode 100644 index 000000000..389f67bb5 --- /dev/null +++ b/staging/libwebkit/PKGBUILD @@ -0,0 +1,52 @@ +# $Id: PKGBUILD 147026 2012-01-20 21:25:43Z eric $ +# Maintainer: Andreas Radke <andyrtr@archlinux.org> + +pkgbase=libwebkit +pkgname=(libwebkit libwebkit3) +pkgver=1.6.1 +pkgrel=2 +pkgdesc="An opensource web content engine" +arch=('i686' 'x86_64') +url="http://webkitgtk.org/" +license=('custom') +depends=('libxt' 'libxslt' 'sqlite3' 'icu' 'gstreamer0.10-base' 'libsoup' 'enchant') +makedepends=('gperf' 'gtk-doc' 'gobject-introspection' 'python2' 'gtk2' 'gtk3') +options=('!libtool' '!emptydirs') +install=libwebkit.install +source=(http://webkitgtk.org/webkit-${pkgver}.tar.gz) +md5sums=('c11743694b1b71dad287b2e7a9e73b05') + +build() { + cd "${srcdir}/webkit-${pkgver}" + mkdir build-gtk{2,3} + + ( cd build-gtk2 && _build --with-gtk=2.0 ) + ( cd build-gtk3 && _build --with-gtk=3.0 ) +} + +_build() { + PYTHON=/usr/bin/python2 ../configure --prefix=/usr \ + --enable-introspection \ + --with-font-backend=freetype --enable-gtk-doc \ + --with-unicode-backend=icu \ + --enable-spellcheck "$@" + make all stamp-po +} + +package_libwebkit() { + pkgdesc+=" (for GTK2)" + depends+=(gtk2) + + cd "$srcdir/webkit-$pkgver/build-gtk2" + make DESTDIR="${pkgdir}" install + install -Dm644 ../Source/WebKit/LICENSE "${pkgdir}/usr/share/licenses/libwebkit/LICENSE" +} + +package_libwebkit3() { + pkgdesc+=" (for GTK3)" + depends+=(gtk3) + + cd "${srcdir}/webkit-${pkgver}/build-gtk3" + make DESTDIR="${pkgdir}" install + install -Dm644 ../Source/WebKit/LICENSE "${pkgdir}/usr/share/licenses/libwebkit3/LICENSE" +} diff --git a/staging/libwebkit/libwebkit.install b/staging/libwebkit/libwebkit.install new file mode 100644 index 000000000..24072f316 --- /dev/null +++ b/staging/libwebkit/libwebkit.install @@ -0,0 +1,11 @@ +post_install() { + usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/staging/netpbm/PKGBUILD b/staging/netpbm/PKGBUILD new file mode 100644 index 000000000..e94519534 --- /dev/null +++ b/staging/netpbm/PKGBUILD @@ -0,0 +1,72 @@ +# $Id: PKGBUILD 147094 2012-01-21 19:51:59Z eric $ +# Maintainer: Kevin Piche <kevin@archlinux.org> + +pkgname=netpbm +pkgver=10.57.1 +pkgrel=1 +pkgdesc="A toolkit for manipulation of graphic images" +arch=('i686' 'x86_64') +license=('custom' 'BSD' 'GPL' 'LGPL') +url="http://netpbm.sourceforge.net/" +depends=('perl' 'libpng' 'libtiff' 'libxml2') +makedepends=('python2') +options=('!makeflags') +# Releases after 10.34 are available via SVN only. +# Get Advanced tarball here: http://netpbm.sourceforge.net/release.html#tarball +# Get version number from version.mk +# Get docs with: wget --recursive --relative -nH http://netpbm.sourceforge.net/doc/ +source=(ftp://ftp.archlinux.org/other/netpbm/${pkgname}-${pkgver}.tar.gz \ + ftp://ftp.archlinux.org/other/netpbm/netpbm-doc-22Feb2009.tar.xz \ + netpbm-CAN-2005-2471.patch netpbm-security-code.patch netpbm-security-scripts.patch) +sha1sums=('cd0b99333faf994a680d77c5d217034df35ebd4e' + 'dfeba9f9a5fe987d64db0aadb5ca8c1b20fcead2' + 'b79cf9d42488fea065ba16262ed97694c47af08d' + '4cd5b94a24886ecae3973c5ae104d8298fe5a1f5' + '2ac31f714121e08e47af9337c6bbaab3cbfc5c75') + +build() { + cd "${srcdir}/advanced" + patch -p1 < ../netpbm-CAN-2005-2471.patch + patch -p1 < ../netpbm-security-code.patch + patch -p1 < ../netpbm-security-scripts.patch + sed -i 's|#!/usr/bin/python|#!/usr/bin/python2|' buildtools/makeman + sed -i 's|@python|@python2|' buildtools/manpage.mk + + cp config.mk.in config.mk + [ "${CARCH}" = 'x86_64' ] && echo 'CFLAGS_SHLIB = -fPIC' >> config.mk + echo "NETPBM_DOCURL = file://${srcdir}/doc" >> config.mk + echo 'TIFFLIB = libtiff.so' >> config.mk + echo 'JPEGLIB = libjpeg.so' >> config.mk + echo 'PNGLIB = libpng.so' >> config.mk + echo 'ZLIB = libz.so' >> config.mk + + sed -i 's|misc|share/netpbm|' common.mk + sed -i 's|/link|/lib|' lib/Makefile + sed -i 's|install.manweb install.man|install.man|' GNUmakefile + + make + + # Generating useful man pages with html doc + cd "${srcdir}/doc" + make MAKEMAN="${srcdir}/advanced/buildtools/makeman" USERGUIDE=. \ + -f "${srcdir}/advanced/buildtools/manpage.mk" manpages +} + +package() { + cd "${srcdir}/advanced" + make pkgdir="${pkgdir}/usr" PKGMANDIR=share/man install-run install-dev + +# Removing dummy man pages + rm "${pkgdir}"/usr/share/man/man{1,3,5}/* + + cd "${srcdir}/doc" + make MAKEMAN="${srcdir}/advanced/buildtools/makeman" MANDIR="${pkgdir}/usr/share/man" \ + -f "${srcdir}/advanced/buildtools/manpage.mk" installman + +# Replace obsolete utility + echo -e '#!/bin/sh\npamditherbw $@ | pamtopnm\n' > "${pkgdir}/usr/bin/pgmtopbm" + +# Licensing. Note that each program in the package has a separate license. + install -D -m644 "${srcdir}/advanced/doc/copyright_summary" \ + "${pkgdir}/usr/share/licenses/${pkgname}/copyright_summary.txt" +} diff --git a/staging/netpbm/netpbm-CAN-2005-2471.patch b/staging/netpbm/netpbm-CAN-2005-2471.patch new file mode 100644 index 000000000..3759d7ebe --- /dev/null +++ b/staging/netpbm/netpbm-CAN-2005-2471.patch @@ -0,0 +1,16 @@ +--- netpbm-10.29/converter/other/pstopnm.c.CAN-2005-2471 2005-08-15 02:39:46.000000000 +0200 ++++ netpbm-10.29/converter/other/pstopnm.c 2005-08-16 15:38:15.000000000 +0200 +@@ -711,11 +711,11 @@ + ghostscriptProg, arg0, + deviceopt, outfileopt, gopt, ropt, textalphabitsopt, + "-q", "-dNOPAUSE", +- "-dSAFER", "-"); ++ "-dPARANOIDSAFER", "-"); + } + + execl(ghostscriptProg, arg0, deviceopt, outfileopt, gopt, ropt, "-q", +- "-dNOPAUSE", "-dSAFER", "-", NULL); ++ "-dNOPAUSE", "-dPARANOIDSAFER", "-", NULL); + + pm_error("execl() of Ghostscript ('%s') failed, errno=%d (%s)", + ghostscriptProg, errno, strerror(errno)); diff --git a/staging/netpbm/netpbm-security-code.patch b/staging/netpbm/netpbm-security-code.patch new file mode 100644 index 000000000..da67a8f92 --- /dev/null +++ b/staging/netpbm/netpbm-security-code.patch @@ -0,0 +1,1668 @@ +diff -up netpbm-10.47.04/analyzer/pgmtexture.c.security netpbm-10.47.04/analyzer/pgmtexture.c +--- netpbm-10.47.04/analyzer/pgmtexture.c.security 2009-10-21 13:38:55.000000000 +0200 ++++ netpbm-10.47.04/analyzer/pgmtexture.c 2009-10-21 15:09:33.000000000 +0200 +@@ -79,6 +79,9 @@ vector (int nl, int nh) + { + float *v; + ++ if(nh < nl) ++ pm_error("assert: h < l"); ++ overflow_add(nh - nl, 1); + MALLOCARRAY(v, (unsigned) (nh - nl + 1)); + if (v == NULL) + pm_error("Unable to allocate memory for a vector."); +@@ -95,6 +98,9 @@ matrix (int nrl, int nrh, int ncl, int n + float **m; + + /* allocate pointers to rows */ ++ if(nrh < nrl) ++ pm_error("assert: h < l"); ++ overflow_add(nrh - nrl, 1); + MALLOCARRAY(m, (unsigned) (nrh - nrl + 1)); + if (m == NULL) + pm_error("Unable to allocate memory for a matrix."); +@@ -102,6 +108,9 @@ matrix (int nrl, int nrh, int ncl, int n + assert (nch >= ncl); + + /* allocate rows and set pointers to them */ ++ if(nch < ncl) ++ pm_error("assert: h < l"); ++ overflow_add(nch - ncl, 1); + for (i = nrl; i <= nrh; ++i) { + MALLOCARRAY(m[i], (unsigned) (nch - ncl + 1)); + if (m[i] == NULL) +diff -up netpbm-10.47.04/converter/other/gemtopnm.c.security netpbm-10.47.04/converter/other/gemtopnm.c +--- netpbm-10.47.04/converter/other/gemtopnm.c.security 2009-10-21 13:39:06.000000000 +0200 ++++ netpbm-10.47.04/converter/other/gemtopnm.c 2009-10-21 15:09:33.000000000 +0200 +@@ -106,6 +106,7 @@ main(argc, argv) + + pnm_writepnminit( stdout, cols, rows, MAXVAL, type, 0 ); + ++ overflow_add(cols, padright); + { + /* allocate input row data structure */ + int plane; +diff -up netpbm-10.47.04/converter/other/jpegtopnm.c.security netpbm-10.47.04/converter/other/jpegtopnm.c +--- netpbm-10.47.04/converter/other/jpegtopnm.c.security 2009-10-21 13:39:06.000000000 +0200 ++++ netpbm-10.47.04/converter/other/jpegtopnm.c 2009-10-21 15:54:30.000000000 +0200 +@@ -861,6 +861,8 @@ convertImage(FILE * + /* Calculate output image dimensions so we can allocate space */ + jpeg_calc_output_dimensions(cinfoP); + ++ overflow2(cinfoP->output_width, cinfoP->output_components); ++ + /* Start decompressor */ + jpeg_start_decompress(cinfoP); + +diff -up netpbm-10.47.04/converter/other/pbmtopgm.c.security netpbm-10.47.04/converter/other/pbmtopgm.c +--- netpbm-10.47.04/converter/other/pbmtopgm.c.security 2009-10-21 13:39:06.000000000 +0200 ++++ netpbm-10.47.04/converter/other/pbmtopgm.c 2009-10-21 15:09:33.000000000 +0200 +@@ -47,6 +47,7 @@ main(int argc, char *argv[]) { + "than the image height (%u rows)", height, rows); + + outrow = pgm_allocrow(cols) ; ++ overflow2(width, height); + maxval = MIN(PGM_OVERALLMAXVAL, width*height); + pgm_writepgminit(stdout, cols, rows, maxval, 0) ; + +diff -up netpbm-10.47.04/converter/other/pngtopnm.c.security netpbm-10.47.04/converter/other/pngtopnm.c +diff -up netpbm-10.47.04/converter/other/pnmtoddif.c.security netpbm-10.47.04/converter/other/pnmtoddif.c +--- netpbm-10.47.04/converter/other/pnmtoddif.c.security 2009-10-21 13:39:06.000000000 +0200 ++++ netpbm-10.47.04/converter/other/pnmtoddif.c 2009-10-21 15:09:33.000000000 +0200 +@@ -632,6 +632,7 @@ main(int argc, char *argv[]) { + switch (PNM_FORMAT_TYPE(format)) { + case PBM_TYPE: + ip.bits_per_pixel = 1; ++ overflow_add(cols, 7); + ip.bytes_per_line = (cols + 7) / 8; + ip.spectral = 2; + ip.components = 1; +@@ -647,6 +648,7 @@ main(int argc, char *argv[]) { + ip.polarity = 2; + break; + case PPM_TYPE: ++ overflow2(cols, 3); + ip.bytes_per_line = 3 * cols; + ip.bits_per_pixel = 24; + ip.spectral = 5; +diff -up netpbm-10.47.04/converter/other/pnmtojpeg.c.security netpbm-10.47.04/converter/other/pnmtojpeg.c +--- netpbm-10.47.04/converter/other/pnmtojpeg.c.security 2009-10-21 13:39:06.000000000 +0200 ++++ netpbm-10.47.04/converter/other/pnmtojpeg.c 2009-10-21 15:56:32.000000000 +0200 +@@ -605,7 +605,11 @@ read_scan_script(j_compress_ptr const ci + want JPOOL_PERMANENT. + */ + const unsigned int scan_info_size = nscans * sizeof(jpeg_scan_info); +- jpeg_scan_info * const scan_info = ++ const jpeg_scan_info * scan_info; ++ ++ overflow2(nscans, sizeof(jpeg_scan_info)); ++ ++ scan_info = + (jpeg_scan_info *) + (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, + scan_info_size); +@@ -936,6 +940,8 @@ compute_rescaling_array(JSAMPLE ** const + const long half_maxval = maxval / 2; + long val; + ++ overflow_add(maxval, 1); ++ overflow2(maxval+1, sizeof(JSAMPLE)); + *rescale_p = (JSAMPLE *) + (cinfo.mem->alloc_small) ((j_common_ptr) &cinfo, JPOOL_IMAGE, + (size_t) (((long) maxval + 1L) * +@@ -1014,6 +1020,7 @@ convert_scanlines(struct jpeg_compress_s + */ + + /* Allocate the libpnm output and compressor input buffers */ ++ overflow2(cinfo_p->image_width, cinfo_p->input_components); + buffer = (*cinfo_p->mem->alloc_sarray) + ((j_common_ptr) cinfo_p, JPOOL_IMAGE, + (unsigned int) cinfo_p->image_width * cinfo_p->input_components, +diff -up netpbm-10.47.04/converter/other/pnmtosgi.c.security netpbm-10.47.04/converter/other/pnmtosgi.c +--- netpbm-10.47.04/converter/other/pnmtosgi.c.security 2009-10-21 13:39:06.000000000 +0200 ++++ netpbm-10.47.04/converter/other/pnmtosgi.c 2009-10-21 15:09:33.000000000 +0200 +@@ -213,6 +213,22 @@ write_channels(cols, rows, channels, put + } + } + ++static void * ++xmalloc2(int x, int y) ++{ ++ void *mem; ++ ++ overflow2(x,y); ++ if( x * y == 0 ) ++ return NULL; ++ ++ mem = malloc2(x, y); ++ if( mem == NULL ) ++ pm_error("out of memory allocating %d bytes", x * y); ++ return mem; ++} ++ ++ + static void + put_big_short(short s) + { +@@ -250,6 +266,7 @@ build_channels(FILE *ifp, int cols, int + #endif + + if( storage != STORAGE_VERBATIM ) { ++ overflow2(channels, rows); + MALLOCARRAY_NOFAIL(table, channels * rows); + MALLOCARRAY_NOFAIL(rletemp, WORSTCOMPR(cols)); + } +@@ -303,6 +320,8 @@ compress(temp, row, rows, cols, chan_no, + break; + case STORAGE_RLE: + tabrow = chan_no * rows + row; ++ overflow2(chan_no, rows); ++ overflow_add(chan_no* rows, row); + len = rle_compress(temp, cols); /* writes result into rletemp */ + channel[chan_no][row].length = len; + MALLOCARRAY(p, len); +diff -up netpbm-10.47.04/converter/other/rletopnm.c.security netpbm-10.47.04/converter/other/rletopnm.c +--- netpbm-10.47.04/converter/other/rletopnm.c.security 2009-10-21 13:39:06.000000000 +0200 ++++ netpbm-10.47.04/converter/other/rletopnm.c 2009-10-21 15:09:33.000000000 +0200 +@@ -19,6 +19,8 @@ + * If you modify this software, you should include a notice giving the + * name of the person performing the modification, the date of modification, + * and the reason for such modification. ++ * ++ * 2002-12-19: Fix maths wrapping bugs. Alan Cox <alan@redhat.com> + */ + /* + * rletopnm - A conversion program to convert from Utah's "rle" image format +diff -up netpbm-10.47.04/converter/other/sgitopnm.c.security netpbm-10.47.04/converter/other/sgitopnm.c +--- netpbm-10.47.04/converter/other/sgitopnm.c.security 2009-10-21 13:39:06.000000000 +0200 ++++ netpbm-10.47.04/converter/other/sgitopnm.c 2009-10-21 15:09:33.000000000 +0200 +@@ -252,10 +252,14 @@ read_channels(ifp, head, table, func, oc + MALLOCARRAY_NOFAIL(image, head->ysize); + } else { + maxchannel = MIN(3, head->zsize); ++ overflow2(head->ysize, maxchannel); + MALLOCARRAY_NOFAIL(image, head->ysize * maxchannel); + } +- if (table) ++ if (table) { ++ overflow2(head->xsize, 2); ++ overflow_add(head->xsize*2, 2); + MALLOCARRAY_NOFAIL(temp, WORSTCOMPR(head->xsize)); ++ } + + for(channel = 0; channel < maxchannel; ++channel) { + unsigned int row; +diff -up netpbm-10.47.04/converter/other/sirtopnm.c.security netpbm-10.47.04/converter/other/sirtopnm.c +--- netpbm-10.47.04/converter/other/sirtopnm.c.security 2009-10-21 13:39:06.000000000 +0200 ++++ netpbm-10.47.04/converter/other/sirtopnm.c 2009-10-21 15:09:33.000000000 +0200 +@@ -69,6 +69,7 @@ char* argv[]; + } + break; + case PPM_TYPE: ++ overflow3(cols, rows, 3); + picsize = cols * rows * 3; + planesize = cols * rows; + if ( !( sirarray = (unsigned char*) malloc( picsize ) ) ) +diff -up netpbm-10.47.04/converter/other/tifftopnm.c.security netpbm-10.47.04/converter/other/tifftopnm.c +--- netpbm-10.47.04/converter/other/tifftopnm.c.security 2009-10-21 13:39:06.000000000 +0200 ++++ netpbm-10.47.04/converter/other/tifftopnm.c 2009-10-21 15:49:29.000000000 +0200 +@@ -1291,7 +1291,9 @@ convertRasterByRows(pnmOut * const + if (scanbuf == NULL) + pm_error("can't allocate memory for scanline buffer"); + +- MALLOCARRAY(samplebuf, cols * spp); ++ /* samplebuf is unsigned int * !!! */ ++ samplebuf = (unsigned int *) malloc3(cols , sizeof(unsigned int) , spp); ++ + if (samplebuf == NULL) + pm_error("can't allocate memory for row buffer"); + +diff -up netpbm-10.47.04/converter/other/xwdtopnm.c.security netpbm-10.47.04/converter/other/xwdtopnm.c +--- netpbm-10.47.04/converter/other/xwdtopnm.c.security 2009-10-21 13:39:06.000000000 +0200 ++++ netpbm-10.47.04/converter/other/xwdtopnm.c 2009-10-21 15:53:27.000000000 +0200 +@@ -209,6 +209,10 @@ processX10Header(X10WDFileHeader * cons + *colorsP = pnm_allocrow(2); + PNM_ASSIGN1((*colorsP)[0], 0); + PNM_ASSIGN1((*colorsP)[1], *maxvalP); ++ overflow_add(h10P->pixmap_width, 15); ++ if(h10P->pixmap_width < 0) ++ pm_error("assert: negative width"); ++ overflow2((((h10P->pixmap_width + 15) / 16) * 16 - h10P->pixmap_width), 8); + *padrightP = + (((h10P->pixmap_width + 15) / 16) * 16 - h10P->pixmap_width) * 8; + *bits_per_itemP = 16; +@@ -634,6 +638,7 @@ processX11Header(X11WDFileHeader * cons + + *colsP = h11FixedP->pixmap_width; + *rowsP = h11FixedP->pixmap_height; ++ overflow2(h11FixedP->bytes_per_line, 8); + *padrightP = + h11FixedP->bytes_per_line * 8 - + h11FixedP->pixmap_width * h11FixedP->bits_per_pixel; +diff -up netpbm-10.47.04/converter/other/sunicontopnm.c.security netpbm-10.47.04/converter/other/sunicontopnm.c +--- netpbm-10.47.04/converter/other/sunicontopnm.c.security 2009-10-21 13:39:10.000000000 +0200 ++++ netpbm-10.47.04/converter/other/sunicontopnm.c 2009-10-21 15:09:33.000000000 +0200 +@@ -11,6 +11,7 @@ + */ + + #include <string.h> ++#include <limits.h> + + #include "nstring.h" + #include "pbm.h" +@@ -87,6 +88,11 @@ ReadIconFile(FILE * const + if (*heightP <= 0) + pm_error("invalid height (must be positive): %d", *heightP); + ++ if ( *widthP > INT_MAX - 16 || *widthP < 0) ++ pm_error( "invalid width: %d", *widthP); ++ ++ overflow2(*widthP + 16, *heightP); ++ + } + + +diff -up netpbm-10.47.04/converter/pbm/mdatopbm.c.security netpbm-10.47.04/converter/pbm/mdatopbm.c +--- netpbm-10.47.04/converter/pbm/mdatopbm.c.security 2009-10-21 13:39:10.000000000 +0200 ++++ netpbm-10.47.04/converter/pbm/mdatopbm.c 2009-10-21 15:09:33.000000000 +0200 +@@ -245,10 +245,13 @@ main(int argc, char **argv) { + pm_readlittleshort(infile, &yy); nInCols = yy; + } + ++ overflow2(nOutCols, 8); + nOutCols = 8 * nInCols; + nOutRows = nInRows; +- if (bScale) ++ if (bScale) { ++ overflow2(nOutRows, 2); + nOutRows *= 2; ++ } + + data = pbm_allocarray(nOutCols, nOutRows); + +diff -up netpbm-10.47.04/converter/pbm/mgrtopbm.c.security netpbm-10.47.04/converter/pbm/mgrtopbm.c +--- netpbm-10.47.04/converter/pbm/mgrtopbm.c.security 2009-10-21 13:39:10.000000000 +0200 ++++ netpbm-10.47.04/converter/pbm/mgrtopbm.c 2009-10-21 15:09:33.000000000 +0200 +@@ -65,6 +65,8 @@ readMgrHeader(FILE * const ifP, + if (head.h_high < ' ' || head.l_high < ' ') + pm_error("Invalid width field in MGR header"); + ++ overflow_add(*colsP, pad); ++ + *colsP = (((int)head.h_wide - ' ') << 6) + ((int)head.l_wide - ' '); + *rowsP = (((int)head.h_high - ' ') << 6) + ((int) head.l_high - ' '); + *padrightP = ( ( *colsP + pad - 1 ) / pad ) * pad - *colsP; +diff -up netpbm-10.47.04/converter/pbm/pbmto10x.c.security netpbm-10.47.04/converter/pbm/pbmto10x.c +--- netpbm-10.47.04/converter/pbm/pbmto10x.c.security 2009-10-21 13:39:10.000000000 +0200 ++++ netpbm-10.47.04/converter/pbm/pbmto10x.c 2009-10-21 15:09:33.000000000 +0200 +@@ -162,7 +162,7 @@ main(int argc, char * argv[]) { + res_60x72(); + + pm_close(ifp); +- exit(0); ++ return 0; + } + + +diff -up netpbm-10.47.04/converter/pbm/pbmto4425.c.security netpbm-10.47.04/converter/pbm/pbmto4425.c +--- netpbm-10.47.04/converter/pbm/pbmto4425.c.security 2009-10-21 13:39:10.000000000 +0200 ++++ netpbm-10.47.04/converter/pbm/pbmto4425.c 2009-10-21 15:09:33.000000000 +0200 +@@ -2,6 +2,7 @@ + + #include "nstring.h" + #include "pbm.h" ++#include <string.h> + + static char bit_table[2][3] = { + {1, 4, 0x10}, +@@ -160,7 +161,7 @@ main(int argc, char * argv[]) { + xres = vmap_width * 2; + yres = vmap_height * 3; + +- vmap = malloc(vmap_width * vmap_height * sizeof(char)); ++ vmap = malloc3(vmap_width, vmap_height, sizeof(char)); + if(vmap == NULL) + { + pm_error( "Cannot allocate memory" ); +diff -up netpbm-10.47.04/converter/pbm/pbmtogem.c.security netpbm-10.47.04/converter/pbm/pbmtogem.c +--- netpbm-10.47.04/converter/pbm/pbmtogem.c.security 2009-10-21 13:39:10.000000000 +0200 ++++ netpbm-10.47.04/converter/pbm/pbmtogem.c 2009-10-21 15:09:33.000000000 +0200 +@@ -123,6 +123,7 @@ putinit (rows, cols) + bitsperitem = 0; + bitshift = 7; + outcol = 0; ++ overflow_add(cols, 7); + outmax = (cols + 7) / 8; + outrow = (unsigned char *) pm_allocrow (outmax, sizeof (unsigned char)); + lastrow = (unsigned char *) pm_allocrow (outmax, sizeof (unsigned char)); +diff -up netpbm-10.47.04/converter/pbm/pbmtogo.c.security netpbm-10.47.04/converter/pbm/pbmtogo.c +--- netpbm-10.47.04/converter/pbm/pbmtogo.c.security 2009-10-21 13:39:10.000000000 +0200 ++++ netpbm-10.47.04/converter/pbm/pbmtogo.c 2009-10-21 15:09:33.000000000 +0200 +@@ -158,6 +158,7 @@ main(int argc, + bitrow = pbm_allocrow(cols); + + /* Round cols up to the nearest multiple of 8. */ ++ overflow_add(cols, 7); + rucols = ( cols + 7 ) / 8; + bytesperrow = rucols; /* GraphOn uses bytes */ + rucols = rucols * 8; +diff -up netpbm-10.47.04/converter/pbm/pbmtolj.c.security netpbm-10.47.04/converter/pbm/pbmtolj.c +--- netpbm-10.47.04/converter/pbm/pbmtolj.c.security 2009-10-21 13:39:10.000000000 +0200 ++++ netpbm-10.47.04/converter/pbm/pbmtolj.c 2009-10-21 15:09:33.000000000 +0200 +@@ -120,7 +120,11 @@ parseCommandLine(int argc, char ** argv, + static void + allocateBuffers(unsigned int const cols) { + ++ overflow_add(cols, 8); + rowBufferSize = (cols + 7) / 8; ++ overflow_add(rowBufferSize, 128); ++ overflow_add(rowBufferSize, rowBufferSize+128); ++ overflow_add(rowBufferSize+10, rowBufferSize/8); + packBufferSize = rowBufferSize + (rowBufferSize + 127) / 128 + 1; + deltaBufferSize = rowBufferSize + rowBufferSize / 8 + 10; + +diff -up netpbm-10.47.04/converter/pbm/pbmtomacp.c.security netpbm-10.47.04/converter/pbm/pbmtomacp.c +--- netpbm-10.47.04/converter/pbm/pbmtomacp.c.security 2009-10-21 13:39:10.000000000 +0200 ++++ netpbm-10.47.04/converter/pbm/pbmtomacp.c 2009-10-21 15:09:33.000000000 +0200 +@@ -101,6 +101,7 @@ char *argv[]; + if( !lflg ) + left = 0; + ++ overflow_add(left, MAX_COLS - 1); + if( rflg ) + { if( right - left >= MAX_COLS ) + right = left + MAX_COLS - 1; +@@ -111,6 +112,8 @@ char *argv[]; + if( !tflg ) + top = 0; + ++ overflow_add(top, MAX_LINES - 1); ++ + if( bflg ) + { if( bottom - top >= MAX_LINES ) + bottom = top + MAX_LINES - 1; +diff -up netpbm-10.47.04/converter/pbm/pbmtomda.c.security netpbm-10.47.04/converter/pbm/pbmtomda.c +--- netpbm-10.47.04/converter/pbm/pbmtomda.c.security 2009-10-21 13:39:10.000000000 +0200 ++++ netpbm-10.47.04/converter/pbm/pbmtomda.c 2009-10-21 15:09:33.000000000 +0200 +@@ -179,6 +179,7 @@ int main(int argc, char **argv) + + nOutRowsUnrounded = bScale ? nInRows/2 : nInRows; + ++ overflow_add(nOutRowsUnrounded, 3); + nOutRows = ((nOutRowsUnrounded + 3) / 4) * 4; + /* MDA wants rows a multiple of 4 */ + nOutCols = nInCols / 8; +diff -up netpbm-10.47.04/converter/pbm/pbmtomgr.c.security netpbm-10.47.04/converter/pbm/pbmtomgr.c +diff -up netpbm-10.47.04/converter/pbm/pbmtoppa/pbm.c.security netpbm-10.47.04/converter/pbm/pbmtoppa/pbm.c +--- netpbm-10.47.04/converter/pbm/pbmtoppa/pbm.c.security 2009-10-21 13:39:10.000000000 +0200 ++++ netpbm-10.47.04/converter/pbm/pbmtoppa/pbm.c 2009-10-21 15:09:33.000000000 +0200 +@@ -105,6 +105,7 @@ int pbm_readline(pbm_stat* pbm,unsigned + return 0; + + case P4: ++ overflow_add(pbm->width, 7); + tmp=(pbm->width+7)/8; + tmp2=fread(data,1,tmp,pbm->fptr); + if(tmp2 == tmp) +@@ -129,7 +130,8 @@ void pbm_unreadline (pbm_stat *pbm, void + return; + + pbm->unread = 1; +- pbm->revdata = malloc ((pbm->width+7)/8); ++ overflow_add(pbm->width, 7); ++ pbm->revdata = malloc((pbm->width+7)/8); + memcpy (pbm->revdata, data, (pbm->width+7)/8); + pbm->current_line--; + } +diff -up netpbm-10.47.04/converter/pbm/pbmtoppa/pbmtoppa.c.security netpbm-10.47.04/converter/pbm/pbmtoppa/pbmtoppa.c +--- netpbm-10.47.04/converter/pbm/pbmtoppa/pbmtoppa.c.security 2009-10-21 13:39:10.000000000 +0200 ++++ netpbm-10.47.04/converter/pbm/pbmtoppa/pbmtoppa.c 2009-10-21 15:09:33.000000000 +0200 +@@ -441,6 +441,7 @@ main(int argc, char *argv[]) { + pm_error("main(): unrecognized parameter '%s'", argv[argn]); + } + ++ overflow_add(Width, 7); + Pwidth=(Width+7)/8; + printer.fptr=out; + +diff -up netpbm-10.47.04/converter/pbm/pbmtoxbm.c.security netpbm-10.47.04/converter/pbm/pbmtoxbm.c +--- netpbm-10.47.04/converter/pbm/pbmtoxbm.c.security 2009-10-21 13:39:10.000000000 +0200 ++++ netpbm-10.47.04/converter/pbm/pbmtoxbm.c 2009-10-21 15:36:54.000000000 +0200 +@@ -335,6 +335,8 @@ convertRaster(FILE * const ifP, + + unsigned char * bitrow; + unsigned int row; ++ ++ overflow_add(cols, padright); + + putinit(xbmVersion); + +diff -up netpbm-10.47.04/converter/pbm/pbmtoybm.c.security netpbm-10.47.04/converter/pbm/pbmtoybm.c +--- netpbm-10.47.04/converter/pbm/pbmtoybm.c.security 2009-10-21 13:39:10.000000000 +0200 ++++ netpbm-10.47.04/converter/pbm/pbmtoybm.c 2009-10-21 15:09:33.000000000 +0200 +@@ -45,6 +45,7 @@ main( argc, argv ) + bitrow = pbm_allocrow(cols); + + /* Compute padding to round cols up to the nearest multiple of 16. */ ++ overflow_add(cols, 16); + padright = ((cols + 15) / 16) * 16 - cols; + + putinit(cols, rows); +diff -up netpbm-10.47.04/converter/pbm/pbmtozinc.c.security netpbm-10.47.04/converter/pbm/pbmtozinc.c +--- netpbm-10.47.04/converter/pbm/pbmtozinc.c.security 2009-10-21 13:39:10.000000000 +0200 ++++ netpbm-10.47.04/converter/pbm/pbmtozinc.c 2009-10-21 15:09:33.000000000 +0200 +@@ -65,6 +65,7 @@ main(int argc, char * argv[]) { + bitrow = pbm_allocrow( cols ); + + /* Compute padding to round cols up to the nearest multiple of 16. */ ++ overflow_add(cols, 16); + padright = ( ( cols + 15 ) / 16 ) * 16 - cols; + + printf( "USHORT %s[] = {\n",name); +diff -up netpbm-10.47.04/converter/pbm/pktopbm.c.security netpbm-10.47.04/converter/pbm/pktopbm.c +--- netpbm-10.47.04/converter/pbm/pktopbm.c.security 2009-10-21 13:39:10.000000000 +0200 ++++ netpbm-10.47.04/converter/pbm/pktopbm.c 2009-10-21 15:09:33.000000000 +0200 +@@ -277,6 +277,7 @@ main(int argc, char *argv[]) { + if (flagbyte == 7) { /* long form preamble */ + integer packetlength = get32() ; /* character packet length */ + car = get32() ; /* character number */ ++ overflow_add(packetlength, pktopbm_pkloc); + endofpacket = packetlength + pktopbm_pkloc; + /* calculate end of packet */ + if ((car >= MAXPKCHAR) || !filename[car]) { +diff -up netpbm-10.47.04/converter/pbm/thinkjettopbm.l.security netpbm-10.47.04/converter/pbm/thinkjettopbm.l +--- netpbm-10.47.04/converter/pbm/thinkjettopbm.l.security 2009-10-21 13:39:10.000000000 +0200 ++++ netpbm-10.47.04/converter/pbm/thinkjettopbm.l 2009-10-21 15:09:33.000000000 +0200 +@@ -107,7 +107,9 @@ DIG [0-9] + <RASTERMODE>\033\*b{DIG}+W { + int l; + if (rowCount >= rowCapacity) { ++ overflow_add(rowCapacity, 100); + rowCapacity += 100; ++ overflow2(rowCapacity, sizeof *rows); + rows = realloc (rows, rowCapacity * sizeof *rows); + if (rows == NULL) + pm_error ("Out of memory."); +@@ -217,6 +219,8 @@ yywrap (void) + /* + * Quite simple since ThinkJet bit arrangement matches PBM + */ ++ ++ overflow2(maxRowLength, 8); + pbm_writepbminit(stdout, maxRowLength*8, rowCount, 0); + + packed_bitrow = malloc(maxRowLength); +diff -up netpbm-10.47.04/converter/pbm/ybmtopbm.c.security netpbm-10.47.04/converter/pbm/ybmtopbm.c +--- netpbm-10.47.04/converter/pbm/ybmtopbm.c.security 2009-10-21 13:39:10.000000000 +0200 ++++ netpbm-10.47.04/converter/pbm/ybmtopbm.c 2009-10-21 15:09:33.000000000 +0200 +@@ -88,4 +88,5 @@ getinit( file, colsP, rowsP, depthP, pad + pm_error("EOF / read error"); + + *depthP = 1; ++ overflow_add(*colsP, 15); + *padrightP = ((*colsP + 15) / 16) * 16 - *colsP; +} + +diff -up netpbm-10.47.04/converter/pgm/lispmtopgm.c.security netpbm-10.47.04/converter/pgm/lispmtopgm.c +--- netpbm-10.47.04/converter/pgm/lispmtopgm.c.security 2009-10-21 13:39:06.000000000 +0200 ++++ netpbm-10.47.04/converter/pgm/lispmtopgm.c 2009-10-21 15:09:33.000000000 +0200 +@@ -58,6 +58,7 @@ main( argc, argv ) + pm_error( "depth (%d bits) is too large", depth); + + pgm_writepgminit( stdout, cols, rows, (gray) maxval, 0 ); ++ overflow_add(cols, 7); + grayrow = pgm_allocrow( ( cols + 7 ) / 8 * 8 ); + + for ( row = 0; row < rows; ++row ) +@@ -102,7 +103,9 @@ getinit( file, colsP, rowsP, depthP, pad + + if ( *depthP == 0 ) + *depthP = 1; /* very old file */ +- ++ ++ overflow_add((int)colsP, 31); ++ + *padrightP = ( ( *colsP + 31 ) / 32 ) * 32 - *colsP; + + if ( *colsP != (cols_32 - *padrightP) ) { +diff -up netpbm-10.47.04/converter/pgm/psidtopgm.c.security netpbm-10.47.04/converter/pgm/psidtopgm.c +--- netpbm-10.47.04/converter/pgm/psidtopgm.c.security 2009-10-21 13:39:06.000000000 +0200 ++++ netpbm-10.47.04/converter/pgm/psidtopgm.c 2009-10-21 15:09:33.000000000 +0200 +@@ -78,6 +78,7 @@ main(int argc, + pm_error("bits/sample (%d) is too large.", bitspersample); + + pgm_writepgminit(stdout, cols, rows, maxval, 0); ++ overflow_add(cols, 7); + grayrow = pgm_allocrow((cols + 7) / 8 * 8); + for (row = 0; row < rows; ++row) { + unsigned int col; +diff -up netpbm-10.47.04/converter/ppm/ilbmtoppm.c.security netpbm-10.47.04/converter/ppm/ilbmtoppm.c +--- netpbm-10.47.04/converter/ppm/ilbmtoppm.c.security 2009-10-21 13:39:10.000000000 +0200 ++++ netpbm-10.47.04/converter/ppm/ilbmtoppm.c 2009-10-21 15:09:33.000000000 +0200 +@@ -594,6 +594,7 @@ decode_row(FILE * const ifP, + rawtype *chp; + + cols = bmhdP->w; ++ overflow_add(cols, 15); + bytes = RowBytes(cols); + for( plane = 0; plane < nPlanes; plane++ ) { + int mask; +@@ -681,6 +682,23 @@ decode_mask(FILE * const ifP, + Multipalette handling + ****************************************************************************/ + ++static void * ++xmalloc2(x, y) ++ int x; ++ int y; ++{ ++ void *mem; ++ ++ overflow2(x,y); ++ if( x * y == 0 ) ++ return NULL; ++ ++ mem = malloc2(x,y); ++ if( mem == NULL ) ++ pm_error("out of memory allocating %d bytes", x * y); ++ return mem; ++} ++ + + static void + multi_adjust(cmap, row, palchange) +@@ -1300,6 +1318,9 @@ dcol_to_ppm(FILE * const ifP, + if( redmaxval != maxval || greenmaxval != maxval || bluemaxval != maxval ) + pm_message("scaling colors to %d bits", pm_maxvaltobits(maxval)); + ++ overflow_add(redmaxval, 1); ++ overflow_add(greenmaxval, 1); ++ overflow_add(bluemaxval, 1); + MALLOCARRAY_NOFAIL(redtable, redmaxval +1); + MALLOCARRAY_NOFAIL(greentable, greenmaxval +1); + MALLOCARRAY_NOFAIL(bluetable, bluemaxval +1); +@@ -1729,7 +1750,9 @@ PCHG_ConvertSmall(PCHG, cmap, mask, data + ChangeCount32 = *data++; + datasize -= 2; + ++ overflow_add(ChangeCount16, ChangeCount32); + changes = ChangeCount16 + ChangeCount32; ++ overflow_add(changes, 1); + for( i = 0; i < changes; i++ ) { + if( totalchanges >= PCHG->TotalChanges ) goto fail; + if( datasize < 2 ) goto fail; +@@ -1994,6 +2017,9 @@ read_pchg(FILE * const ifp, + cmap->mp_change[i] = NULL; + if( PCHG.StartLine < 0 ) { + int nch; ++ if(PCHG.MaxReg < PCHG.MinReg) ++ pm_error("assert: MinReg > MaxReg"); ++ overflow_add(PCHG.MaxReg-PCHG.MinReg, 2); + nch = PCHG.MaxReg - PCHG.MinReg +1; + MALLOCARRAY_NOFAIL(cmap->mp_init, nch + 1); + for( i = 0; i < nch; i++ ) +@@ -2070,6 +2096,7 @@ process_body( FILE * const ifp, + if( typeid == ID_ILBM ) { + int isdeep; + ++ overflow_add(bmhdP->w, 15); + MALLOCARRAY_NOFAIL(ilbmrow, RowBytes(bmhdP->w)); + *viewportmodesP |= fakeviewport; /* -isham/-isehb */ + +diff -up netpbm-10.47.04/converter/ppm/imgtoppm.c.security netpbm-10.47.04/converter/ppm/imgtoppm.c +--- netpbm-10.47.04/converter/ppm/imgtoppm.c.security 2009-10-21 13:39:10.000000000 +0200 ++++ netpbm-10.47.04/converter/ppm/imgtoppm.c 2009-10-21 15:09:33.000000000 +0200 +@@ -84,6 +84,7 @@ main(int argc, char ** argv) { + len = atoi((char*) buf ); + if ( fread( buf, len, 1, ifp ) != 1 ) + pm_error( "bad colormap buf" ); ++ overflow2(cmaplen, 3); + if ( cmaplen * 3 != len ) + { + pm_message( +@@ -105,6 +106,7 @@ main(int argc, char ** argv) { + pm_error( "bad pixel data header" ); + buf[8] = '\0'; + len = atoi((char*) buf ); ++ overflow2(cols, rows); + if ( len != cols * rows ) + pm_message( + "pixel data length (%d) does not match image size (%d)", +diff -up netpbm-10.47.04/converter/ppm/Makefile.security netpbm-10.47.04/converter/ppm/Makefile +--- netpbm-10.47.04/converter/ppm/Makefile.security 2009-10-21 13:39:10.000000000 +0200 ++++ netpbm-10.47.04/converter/ppm/Makefile 2009-10-21 15:09:33.000000000 +0200 +@@ -11,7 +11,7 @@ SUBDIRS = hpcdtoppm ppmtompeg + + PORTBINARIES = 411toppm eyuvtoppm gouldtoppm ilbmtoppm imgtoppm \ + leaftoppm mtvtoppm neotoppm \ +- pcxtoppm pc1toppm pi1toppm picttoppm pjtoppm \ ++ pcxtoppm pc1toppm pi1toppm pjtoppm \ + ppmtoacad ppmtoapplevol ppmtoarbtxt ppmtoascii \ + ppmtobmp ppmtoeyuv ppmtogif ppmtoicr ppmtoilbm \ + ppmtoleaf ppmtolj ppmtomitsu ppmtoneo \ +diff -up netpbm-10.47.04/converter/ppm/pcxtoppm.c.security netpbm-10.47.04/converter/ppm/pcxtoppm.c +--- netpbm-10.47.04/converter/ppm/pcxtoppm.c.security 2009-10-21 13:39:10.000000000 +0200 ++++ netpbm-10.47.04/converter/ppm/pcxtoppm.c 2009-10-21 15:09:33.000000000 +0200 +@@ -409,6 +409,7 @@ pcx_planes_to_pixels(pixels, bitplanes, + /* + * clear the pixel buffer + */ ++ overflow2(bytesperline, 8); + npixels = (bytesperline * 8) / bitsperpixel; + p = pixels; + while (--npixels >= 0) +@@ -470,6 +471,7 @@ pcx_16col_to_ppm(FILE * const ifP, + } + + /* BytesPerLine should be >= BitsPerPixel * cols / 8 */ ++ overflow2(BytesPerLine, 8); + rawcols = BytesPerLine * 8 / BitsPerPixel; + if (headerCols > rawcols) { + pm_message("warning - BytesPerLine = %d, " +diff -up netpbm-10.47.04/converter/ppm/picttoppm.c.security netpbm-10.47.04/converter/ppm/picttoppm.c +--- netpbm-10.47.04/converter/ppm/picttoppm.c.security 2009-10-21 13:39:10.000000000 +0200 ++++ netpbm-10.47.04/converter/ppm/picttoppm.c 2009-10-21 15:09:33.000000000 +0200 +@@ -1,3 +1,5 @@ ++#error "Unfixable. Don't ship me" ++ + /* + * picttoppm.c -- convert a MacIntosh PICT file to PPM format. + * +diff -up netpbm-10.47.04/converter/ppm/pjtoppm.c.security netpbm-10.47.04/converter/ppm/pjtoppm.c +--- netpbm-10.47.04/converter/ppm/pjtoppm.c.security 2009-10-21 13:39:10.000000000 +0200 ++++ netpbm-10.47.04/converter/ppm/pjtoppm.c 2009-10-21 15:09:33.000000000 +0200 +@@ -127,19 +127,21 @@ main(argc, argv) + case 'V': /* send plane */ + case 'W': /* send last plane */ + if (rows == -1 || r >= rows || image == NULL) { +- if (rows == -1 || r >= rows) ++ if (rows == -1 || r >= rows) { ++ overflow_add(rows, 100); + rows += 100; ++ } + if (image == NULL) { +- MALLOCARRAY(image, rows * planes); +- MALLOCARRAY(imlen, rows * planes); ++ image = (unsigned char **) ++ malloc3(rows , planes , sizeof(unsigned char *)); ++ imlen = (int *) malloc3(rows , planes, sizeof(int)); + } + else { ++ overflow2(rows,planes); + image = (unsigned char **) +- realloc(image, +- rows * planes * ++ realloc2(image, rows * planes, + sizeof(unsigned char *)); +- imlen = (int *) +- realloc(imlen, rows * planes * sizeof(int)); ++ imlen = (int *) realloc2(imlen, rows * planes, sizeof(int)); + } + } + if (image == NULL || imlen == NULL) +@@ -212,8 +214,10 @@ main(argc, argv) + for (i = 0, c = 0; c < imlen[p + r * planes]; c += 2) + for (cmd = image[p + r * planes][c], + val = image[p + r * planes][c+1]; +- cmd >= 0 && i < newcols; cmd--, i++) ++ cmd >= 0 && i < newcols; cmd--, i++) { + buf[i] = val; ++ overflow_add(i, 1); ++ } + cols = cols > i ? cols : i; + free(image[p + r * planes]); + /* +@@ -224,6 +228,7 @@ main(argc, argv) + image[p + r * planes] = (unsigned char *) realloc(buf, i); + } + } ++ overflow2(cols, 8); + cols *= 8; + } + +diff -up netpbm-10.47.04/converter/ppm/ppmtoeyuv.c.security netpbm-10.47.04/converter/ppm/ppmtoeyuv.c +--- netpbm-10.47.04/converter/ppm/ppmtoeyuv.c.security 2009-10-21 13:39:10.000000000 +0200 ++++ netpbm-10.47.04/converter/ppm/ppmtoeyuv.c 2009-10-21 15:09:33.000000000 +0200 +@@ -114,6 +114,7 @@ create_multiplication_tables(const pixva + + int index; + ++ overflow_add(maxval, 1); + MALLOCARRAY_NOFAIL(mult299 , maxval+1); + MALLOCARRAY_NOFAIL(mult587 , maxval+1); + MALLOCARRAY_NOFAIL(mult114 , maxval+1); +diff -up netpbm-10.47.04/converter/ppm/ppmtoicr.c.security netpbm-10.47.04/converter/ppm/ppmtoicr.c +--- netpbm-10.47.04/converter/ppm/ppmtoicr.c.security 2009-10-21 13:39:10.000000000 +0200 ++++ netpbm-10.47.04/converter/ppm/ppmtoicr.c 2009-10-21 15:09:33.000000000 +0200 +@@ -169,7 +169,7 @@ char* argv[]; + + if (rleflag) { + pm_message("sending run-length encoded picture data ..." ); +- testimage = (char*) malloc(rows*cols); ++ testimage = (char*) malloc2(rows, cols); + p = testimage; + for (i=0; i<rows; i++) + for (j=0; j<cols; j++) +diff -up netpbm-10.47.04/converter/ppm/ppmtoilbm.c.security netpbm-10.47.04/converter/ppm/ppmtoilbm.c +--- netpbm-10.47.04/converter/ppm/ppmtoilbm.c.security 2009-10-21 13:39:10.000000000 +0200 ++++ netpbm-10.47.04/converter/ppm/ppmtoilbm.c 2009-10-21 15:47:50.000000000 +0200 +@@ -1214,6 +1214,7 @@ ppm_to_rgb8(ifP, cols, rows, maxval) + + maskmethod = 0; /* no masking - RGB8 uses genlock bits */ + compmethod = 4; /* RGB8 files are always compressed */ ++ overflow2(cols, 4); + MALLOCARRAY_NOFAIL(compr_row, cols * 4); + + if( maxval != 255 ) { +@@ -1302,6 +1303,7 @@ ppm_to_rgbn(ifP, cols, rows, maxval) + + maskmethod = 0; /* no masking - RGBN uses genlock bits */ + compmethod = 4; /* RGBN files are always compressed */ ++ overflow2(cols, 2); + MALLOCARRAY_NOFAIL(compr_row, cols * 2); + + if( maxval != 15 ) { +@@ -1779,6 +1781,7 @@ make_val_table(oldmaxval, newmaxval) + unsigned int i; + int * table; + ++ overflow_add(oldmaxval, 1); + MALLOCARRAY_NOFAIL(table, oldmaxval + 1); + for (i = 0; i <= oldmaxval; ++i) + table[i] = ROUNDDIV(i * newmaxval, oldmaxval); +@@ -2283,8 +2286,11 @@ main(int argc, char ** argv) { + MALLOCARRAY_NOFAIL(coded_rowbuf, RowBytes(cols)); + for (i = 0; i < RowBytes(cols); ++i) + coded_rowbuf[i] = 0; +- if (DO_COMPRESS) ++ if (DO_COMPRESS) { ++ overflow2(cols,2); ++ overflow_add(cols*2,2); + MALLOCARRAY_NOFAIL(compr_rowbuf, WORSTCOMPR(RowBytes(cols))); ++ } + } + + switch (mode) { +diff -up netpbm-10.47.04/converter/ppm/ppmtolj.c.security netpbm-10.47.04/converter/ppm/ppmtolj.c +--- netpbm-10.47.04/converter/ppm/ppmtolj.c.security 2009-10-21 13:39:10.000000000 +0200 ++++ netpbm-10.47.04/converter/ppm/ppmtolj.c 2009-10-21 15:09:33.000000000 +0200 +@@ -181,7 +181,8 @@ int main(int argc, char *argv[]) { + + ppm_readppminit( ifp, &cols, &rows, &maxval, &format ); + pixelrow = ppm_allocrow( cols ); +- ++ ++ overflow2(cols, 6); + obuf = (unsigned char *) pm_allocrow(cols * 3, sizeof(unsigned char)); + cbuf = (unsigned char *) pm_allocrow(cols * 6, sizeof(unsigned char)); + if (mode == C_TRANS_MODE_DELTA) +diff -up netpbm-10.47.04/converter/ppm/ppmtomitsu.c.security netpbm-10.47.04/converter/ppm/ppmtomitsu.c +--- netpbm-10.47.04/converter/ppm/ppmtomitsu.c.security 2009-10-21 13:39:10.000000000 +0200 ++++ netpbm-10.47.04/converter/ppm/ppmtomitsu.c 2009-10-21 15:48:30.000000000 +0200 +@@ -685,6 +685,8 @@ main(int argc, char * argv[]) { + medias = MSize_User; + + if (dpi300) { ++ overflow2(medias.maxcols, 2); ++ overflow2(medias.maxrows, 2); + medias.maxcols *= 2; + medias.maxrows *= 2; + } +diff -up netpbm-10.47.04/converter/ppm/ppmtopcx.c.security netpbm-10.47.04/converter/ppm/ppmtopcx.c +--- netpbm-10.47.04/converter/ppm/ppmtopcx.c.security 2009-10-21 13:39:10.000000000 +0200 ++++ netpbm-10.47.04/converter/ppm/ppmtopcx.c 2009-10-21 15:09:33.000000000 +0200 +@@ -419,6 +419,8 @@ ppmTo16ColorPcx(pixel ** cons + else Planes = 1; + } + } ++ overflow2(BitsPerPixel, cols); ++ overflow_add(BitsPerPixel * cols, 7); + BytesPerLine = ((cols * BitsPerPixel) + 7) / 8; + MALLOCARRAY_NOFAIL(indexRow, cols); + MALLOCARRAY_NOFAIL(planesrow, BytesPerLine); +diff -up netpbm-10.47.04/converter/ppm/ppmtopict.c.security netpbm-10.47.04/converter/ppm/ppmtopict.c +--- netpbm-10.47.04/converter/ppm/ppmtopict.c.security 2009-10-21 13:39:10.000000000 +0200 ++++ netpbm-10.47.04/converter/ppm/ppmtopict.c 2009-10-21 15:09:33.000000000 +0200 +@@ -245,6 +245,8 @@ char *argv[]; + putShort(stdout, 0); /* mode */ + + /* Finally, write out the data. */ ++ overflow_add(cols/MAX_COUNT, 1); ++ overflow_add(cols, cols/MAX_COUNT+1); + packed = malloc((unsigned)(cols+cols/MAX_COUNT+1)); + for (row = 0, oc = 0; row < rows; row++) + oc += putRow(stdout, row, cols, pixels[row], packed); +diff -up netpbm-10.47.04/converter/ppm/ppmtopj.c.security netpbm-10.47.04/converter/ppm/ppmtopj.c +--- netpbm-10.47.04/converter/ppm/ppmtopj.c.security 2009-10-21 13:39:10.000000000 +0200 ++++ netpbm-10.47.04/converter/ppm/ppmtopj.c 2009-10-21 15:09:33.000000000 +0200 +@@ -179,6 +179,7 @@ char *argv[]; + pixels = ppm_readppm( ifp, &cols, &rows, &maxval ); + + pm_close( ifp ); ++ overflow2(cols,2); + obuf = (unsigned char *) pm_allocrow(cols, sizeof(unsigned char)); + cbuf = (unsigned char *) pm_allocrow(cols * 2, sizeof(unsigned char)); + +diff -up netpbm-10.47.04/converter/ppm/ppmtopjxl.c.security netpbm-10.47.04/converter/ppm/ppmtopjxl.c +--- netpbm-10.47.04/converter/ppm/ppmtopjxl.c.security 2009-10-21 13:39:10.000000000 +0200 ++++ netpbm-10.47.04/converter/ppm/ppmtopjxl.c 2009-10-21 15:43:31.000000000 +0200 +@@ -276,6 +276,8 @@ main(int argc, const char * argv[]) { + pm_error("image too large; reduce with ppmscale"); + if (maxval > PCL_MAXVAL) + pm_error("color range too large; reduce with ppmcscale"); ++ if (cols < 0 || rows < 0) ++ pm_error("negative size is not possible"); + + /* Figure out the colormap. */ + pm_message("Computing colormap..."); +@@ -296,6 +298,8 @@ main(int argc, const char * argv[]) { + case 0: /* direct mode (no palette) */ + bpp = bitsperpixel(maxval); /* bits per pixel */ + bpg = bpp; bpb = bpp; ++ overflow2(bpp, 3); ++ overflow_add(bpp*3, 7); + bpp = (bpp*3+7)>>3; /* bytes per pixel now */ + bpr = (bpp<<3)-bpg-bpb; + bpp *= cols; /* bytes per row now */ +@@ -305,9 +309,13 @@ main(int argc, const char * argv[]) { + case 3: case 7: pclindex++; + default: + bpp = 8/pclindex; ++ overflow_add(cols, bpp); ++ if(bpp == 0) ++ pm_error("assert: no bpp"); + bpp = (cols+bpp-1)/bpp; /* bytes per row */ + } + } ++ overflow2(bpp,2); + inrow = (char *)malloc((unsigned)bpp); + outrow = (char *)malloc((unsigned)bpp*2); + runcnt = (signed char *)malloc((unsigned)bpp); +diff -up netpbm-10.47.04/converter/ppm/ppmtowinicon.c.security netpbm-10.47.04/converter/ppm/ppmtowinicon.c +--- netpbm-10.47.04/converter/ppm/ppmtowinicon.c.security 2009-10-21 13:39:10.000000000 +0200 ++++ netpbm-10.47.04/converter/ppm/ppmtowinicon.c 2009-10-21 15:44:54.000000000 +0200 +@@ -12,6 +12,7 @@ + + #include <math.h> + #include <string.h> ++#include <stdlib.h> + + #include "pm_c_util.h" + #include "winico.h" +@@ -219,6 +220,7 @@ createAndBitmap (gray ** const ba, int c + MALLOCARRAY_NOFAIL(rowData, rows); + icBitmap->xBytes = xBytes; + icBitmap->data = rowData; ++ overflow2(xBytes, rows); + icBitmap->size = xBytes * rows; + for (y=0;y<rows;y++) { + u1 * row; +@@ -347,6 +349,7 @@ create4Bitmap (pixel ** const pa, int co + MALLOCARRAY_NOFAIL(rowData, rows); + icBitmap->xBytes = xBytes; + icBitmap->data = rowData; ++ overflow2(xBytes, rows); + icBitmap->size = xBytes * rows; + + for (y=0;y<rows;y++) { +@@ -407,6 +410,7 @@ create8Bitmap (pixel ** const pa, int co + MALLOCARRAY_NOFAIL(rowData, rows); + icBitmap->xBytes = xBytes; + icBitmap->data = rowData; ++ overflow2(xBytes, rows); + icBitmap->size = xBytes * rows; + + for (y=0;y<rows;y++) { +@@ -714,6 +718,10 @@ addEntryToIcon(MS_Ico const MSIcon + entry->bitcount = bpp; + entry->ih = createInfoHeader(entry, xorBitmap, andBitmap); + entry->colors = palette->colors; ++ overflow2(4, entry->color_count); ++ overflow_add(xorBitmap->size, andBitmap->size); ++ overflow_add(xorBitmap->size + andBitmap->size, 40); ++ overflow_add(xorBitmap->size + andBitmap->size + 40, 4 * entry->color_count); + entry->size_in_bytes = + xorBitmap->size + andBitmap->size + 40 + (4 * entry->color_count); + if (verbose) +diff -up netpbm-10.47.04/converter/ppm/ppmtoxpm.c.security netpbm-10.47.04/converter/ppm/ppmtoxpm.c +--- netpbm-10.47.04/converter/ppm/ppmtoxpm.c.security 2009-10-21 13:39:10.000000000 +0200 ++++ netpbm-10.47.04/converter/ppm/ppmtoxpm.c 2009-10-21 15:09:33.000000000 +0200 +@@ -197,6 +197,7 @@ genNumstr(unsigned int const input, int + unsigned int i; + + /* Allocate memory for printed number. Abort if error. */ ++ overflow_add(digits, 1); + if (!(str = (char *) malloc(digits + 1))) + pm_error("out of memory"); + +@@ -314,6 +315,7 @@ genCmap(colorhist_vector const chv, + unsigned int charsPerPixel; + unsigned int xpmMaxval; + ++ if (includeTransparent) overflow_add(ncolors, 1); + MALLOCARRAY(cmap, cmapSize); + if (cmapP == NULL) + pm_error("Out of memory allocating %u bytes for a color map.", +diff -up netpbm-10.47.04/converter/ppm/qrttoppm.c.security netpbm-10.47.04/converter/ppm/qrttoppm.c +--- netpbm-10.47.04/converter/ppm/qrttoppm.c.security 2009-10-21 13:39:10.000000000 +0200 ++++ netpbm-10.47.04/converter/ppm/qrttoppm.c 2009-10-21 15:09:33.000000000 +0200 +@@ -46,7 +46,7 @@ main( argc, argv ) + + ppm_writeppminit( stdout, cols, rows, maxval, 0 ); + pixelrow = ppm_allocrow( cols ); +- buf = (unsigned char *) malloc( 3 * cols ); ++ buf = (unsigned char *) malloc2( 3 , cols ); + if ( buf == (unsigned char *) 0 ) + pm_error( "out of memory" ); + +diff -up netpbm-10.47.04/converter/ppm/sldtoppm.c.security netpbm-10.47.04/converter/ppm/sldtoppm.c +--- netpbm-10.47.04/converter/ppm/sldtoppm.c.security 2009-10-21 13:39:10.000000000 +0200 ++++ netpbm-10.47.04/converter/ppm/sldtoppm.c 2009-10-21 15:44:11.000000000 +0200 +@@ -455,6 +455,8 @@ slider(slvecfn slvec, + + /* Allocate image buffer and clear it to black. */ + ++ overflow_add(ixdots,1); ++ overflow_add(iydots,1); + pixels = ppm_allocarray(pixcols = ixdots + 1, pixrows = iydots + 1); + PPM_ASSIGN(rgbcolor, 0, 0, 0); + ppmd_filledrectangle(pixels, pixcols, pixrows, pixmaxval, 0, 0, +diff -up netpbm-10.47.04/converter/ppm/ximtoppm.c.security netpbm-10.47.04/converter/ppm/ximtoppm.c +--- netpbm-10.47.04/converter/ppm/ximtoppm.c.security 2009-10-21 13:39:10.000000000 +0200 ++++ netpbm-10.47.04/converter/ppm/ximtoppm.c 2009-10-21 15:09:33.000000000 +0200 +@@ -117,6 +117,7 @@ ReadXimHeader(FILE * const in_fp, + header->bits_channel = atoi(a_head.bits_per_channel); + header->alpha_flag = atoi(a_head.alpha_channel); + if (strlen(a_head.author)) { ++ overflow_add(strlen(a_head.author),1); + if (!(header->author = calloc((unsigned int)strlen(a_head.author)+1, + 1))) { + pm_message("ReadXimHeader: can't calloc author string" ); +@@ -126,6 +127,7 @@ ReadXimHeader(FILE * const in_fp, + strncpy(header->author, a_head.author, strlen(a_head.author)); + } + if (strlen(a_head.date)) { ++ overflow_add(strlen(a_head.date),1); + if (!(header->date =calloc((unsigned int)strlen(a_head.date)+1,1))){ + pm_message("ReadXimHeader: can't calloc date string" ); + return(0); +@@ -134,6 +136,7 @@ ReadXimHeader(FILE * const in_fp, + strncpy(header->date, a_head.date, strlen(a_head.date)); + } + if (strlen(a_head.program)) { ++ overflow_add(strlen(a_head.program),1); + if (!(header->program = calloc( + (unsigned int)strlen(a_head.program) + 1, 1))) { + pm_message("ReadXimHeader: can't calloc program string" ); +@@ -160,6 +163,7 @@ ReadXimHeader(FILE * const in_fp, + if (header->nchannels == 3 && header->bits_channel == 8) + header->ncolors = 0; + else if (header->nchannels == 1 && header->bits_channel == 8) { ++ overflow2(header->ncolors, sizeof(Color)); + header->colors = (Color *)calloc((unsigned int)header->ncolors, + sizeof(Color)); + if (header->colors == NULL) { +diff -up netpbm-10.47.04/converter/ppm/xpmtoppm.c.security netpbm-10.47.04/converter/ppm/xpmtoppm.c +--- netpbm-10.47.04/converter/ppm/xpmtoppm.c.security 2009-10-21 13:39:10.000000000 +0200 ++++ netpbm-10.47.04/converter/ppm/xpmtoppm.c 2009-10-21 15:09:33.000000000 +0200 +@@ -701,6 +701,7 @@ ReadXPMFile(FILE * const stream, int * c + &ncolors, colorsP, &ptab); + *transparentP = -1; /* No transparency in version 1 */ + } ++ overflow2(*widthP, *heightP); + totalpixels = *widthP * *heightP; + MALLOCARRAY(*dataP, totalpixels); + if (*dataP == NULL) +diff -up netpbm-10.47.04/converter/ppm/yuvtoppm.c.security netpbm-10.47.04/converter/ppm/yuvtoppm.c +--- netpbm-10.47.04/converter/ppm/yuvtoppm.c.security 2009-10-21 13:39:10.000000000 +0200 ++++ netpbm-10.47.04/converter/ppm/yuvtoppm.c 2009-10-21 15:09:33.000000000 +0200 +@@ -72,6 +72,7 @@ main(argc, argv) + + ppm_writeppminit(stdout, cols, rows, (pixval) 255, 0); + pixrow = ppm_allocrow(cols); ++ overflow_add(cols, 1); + MALLOCARRAY(yuvbuf, (cols+1)/2); + if (yuvbuf == NULL) + pm_error("Unable to allocate YUV buffer for %d columns.", cols); +diff -up netpbm-10.47.04/editor/pamcut.c.security netpbm-10.47.04/editor/pamcut.c +--- netpbm-10.47.04/editor/pamcut.c.security 2009-10-21 13:38:57.000000000 +0200 ++++ netpbm-10.47.04/editor/pamcut.c 2009-10-21 15:29:36.000000000 +0200 +@@ -655,6 +655,8 @@ cutOneImage(FILE * const ifP + + outpam = inpam; /* Initial value -- most fields should be same */ + outpam.file = ofP; ++ overflow_add(rightcol, 1); ++ overflow_add(bottomrow, 1); + outpam.width = rightcol - leftcol + 1; + outpam.height = bottomrow - toprow + 1; + +diff -up netpbm-10.47.04/editor/pbmreduce.c.security netpbm-10.47.04/editor/pbmreduce.c +--- netpbm-10.47.04/editor/pbmreduce.c.security 2009-10-21 13:38:57.000000000 +0200 ++++ netpbm-10.47.04/editor/pbmreduce.c 2009-10-21 15:26:13.000000000 +0200 +@@ -94,6 +94,7 @@ main( argc, argv ) + if (halftone == QT_FS) { + unsigned int col; + /* Initialize Floyd-Steinberg. */ ++ overflow_add(newcols, 2); + MALLOCARRAY(thiserr, newcols + 2); + MALLOCARRAY(nexterr, newcols + 2); + if (thiserr == NULL || nexterr == NULL) +diff -up netpbm-10.47.04/editor/pnmgamma.c.security netpbm-10.47.04/editor/pnmgamma.c +--- netpbm-10.47.04/editor/pnmgamma.c.security 2009-10-21 13:38:57.000000000 +0200 ++++ netpbm-10.47.04/editor/pnmgamma.c 2009-10-21 15:09:34.000000000 +0200 +@@ -586,6 +586,7 @@ createGammaTables(enum transferFunction + xelval ** const btableP) { + + /* Allocate space for the tables. */ ++ overflow_add(maxval, 1); + MALLOCARRAY(*rtableP, maxval+1); + MALLOCARRAY(*gtableP, maxval+1); + MALLOCARRAY(*btableP, maxval+1); +diff -up netpbm-10.47.04/editor/pnmhisteq.c.security netpbm-10.47.04/editor/pnmhisteq.c +--- netpbm-10.47.04/editor/pnmhisteq.c.security 2009-10-21 13:38:57.000000000 +0200 ++++ netpbm-10.47.04/editor/pnmhisteq.c 2009-10-21 15:09:34.000000000 +0200 +@@ -103,6 +103,7 @@ computeLuminosityHistogram(xel * const * + unsigned int pixelCount; + unsigned int * lumahist; + ++ overflow_add(maxval, 1); + MALLOCARRAY(lumahist, maxval + 1); + if (lumahist == NULL) + pm_error("Out of storage allocating array for %u histogram elements", +diff -up netpbm-10.47.04/editor/pnmindex.csh.security netpbm-10.47.04/editor/pnmindex.csh +--- netpbm-10.47.04/editor/pnmindex.csh.security 2009-10-21 13:38:57.000000000 +0200 ++++ netpbm-10.47.04/editor/pnmindex.csh 2009-10-21 15:09:34.000000000 +0200 +@@ -1,5 +1,8 @@ + #!/bin/csh -f + # ++echo "Unsafe code, needs debugging, do not ship" ++exit 1 ++# + # pnmindex - build a visual index of a bunch of anymaps + # + # Copyright (C) 1991 by Jef Poskanzer. +diff -up netpbm-10.47.04/editor/pnmpad.c.security netpbm-10.47.04/editor/pnmpad.c +--- netpbm-10.47.04/editor/pnmpad.c.security 2009-10-21 13:38:57.000000000 +0200 ++++ netpbm-10.47.04/editor/pnmpad.c 2009-10-21 15:33:51.000000000 +0200 +@@ -527,6 +527,8 @@ main(int argc, const char ** argv) { + + computePadSizes(cmdline, cols, rows, &lpad, &rpad, &tpad, &bpad); + ++ overflow_add(cols, lpad); ++ overflow_add(cols + lpad, rpad); + newcols = cols + lpad + rpad; + + if (PNM_FORMAT_TYPE(format) == PBM_TYPE) +diff -up netpbm-10.47.04/editor/pnmpaste.c.security netpbm-10.47.04/editor/pnmpaste.c +diff -up netpbm-10.47.04/editor/pnmremap.c.security netpbm-10.47.04/editor/pnmremap.c +--- netpbm-10.47.04/editor/pnmremap.c.security 2009-10-21 13:38:57.000000000 +0200 ++++ netpbm-10.47.04/editor/pnmremap.c 2009-10-21 15:28:20.000000000 +0200 +@@ -408,7 +408,7 @@ initFserr(struct pam * const pamP, + unsigned int plane; + + unsigned int const fserrSize = pamP->width + 2; +- ++ overflow_add(pamP->width, 2); + fserrP->width = pamP->width; + + MALLOCARRAY(fserrP->thiserr, pamP->depth); +@@ -444,6 +444,7 @@ floydInitRow(struct pam * const pamP, st + + int col; + ++ overflow_add(pamP->width, 2); + for (col = 0; col < pamP->width + 2; ++col) { + unsigned int plane; + for (plane = 0; plane < pamP->depth; ++plane) +diff -up netpbm-10.47.04/editor/pnmscalefixed.c.security netpbm-10.47.04/editor/pnmscalefixed.c +--- netpbm-10.47.04/editor/pnmscalefixed.c.security 2009-10-21 13:38:57.000000000 +0200 ++++ netpbm-10.47.04/editor/pnmscalefixed.c 2009-10-21 15:09:34.000000000 +0200 +@@ -211,6 +211,8 @@ compute_output_dimensions(const struct c + const int rows, const int cols, + int * newrowsP, int * newcolsP) { + ++ overflow2(rows, cols); ++ + if (cmdline.pixels) { + if (rows * cols <= cmdline.pixels) { + *newrowsP = rows; +@@ -262,6 +264,8 @@ compute_output_dimensions(const struct c + + if (*newcolsP < 1) *newcolsP = 1; + if (*newrowsP < 1) *newrowsP = 1; ++ ++ overflow2(*newcolsP, *newrowsP); + } + + +@@ -443,6 +447,9 @@ main(int argc, char **argv ) { + unfilled. We can address that by stretching, whereas the other + case would require throwing away some of the input. + */ ++ ++ overflow2(newcols, SCALE); ++ overflow2(newrows, SCALE); + sxscale = SCALE * newcols / cols; + syscale = SCALE * newrows / rows; + +diff -up netpbm-10.47.04/editor/pnmshear.c.security netpbm-10.47.04/editor/pnmshear.c +--- netpbm-10.47.04/editor/pnmshear.c.security 2009-10-21 13:38:57.000000000 +0200 ++++ netpbm-10.47.04/editor/pnmshear.c 2009-10-21 15:31:26.000000000 +0200 +@@ -15,6 +15,7 @@ + #include <assert.h> + #include <math.h> + #include <string.h> ++#include <limits.h> + + #include "pm_c_util.h" + #include "ppm.h" +@@ -236,6 +237,11 @@ main(int argc, char * argv[]) { + + shearfac = fabs(tan(cmdline.angle)); + ++ if(rows * shearfac >= INT_MAX-1) ++ pm_error("image too large"); ++ ++ overflow_add(rows * shearfac, cols+1); ++ + newcols = rows * shearfac + cols + 0.999999; + + pnm_writepnminit(stdout, newcols, rows, newmaxval, newformat, 0); +diff -up netpbm-10.47.04/editor/specialty/pamoil.c.security netpbm-10.47.04/editor/specialty/pamoil.c +--- netpbm-10.47.04/editor/specialty/pamoil.c.security 2009-10-21 13:38:56.000000000 +0200 ++++ netpbm-10.47.04/editor/specialty/pamoil.c 2009-10-21 15:09:33.000000000 +0200 +@@ -112,6 +112,7 @@ main(int argc, char *argv[] ) { + tuples = pnm_readpam(ifp, &inpam, PAM_STRUCT_SIZE(tuple_type)); + pm_close(ifp); + ++ overflow_add(inpam.maxval, 1); + MALLOCARRAY(hist, inpam.maxval + 1); + if (hist == NULL) + pm_error("Unable to allocate memory for histogram."); +diff -up netpbm-10.47.04/generator/pbmtext.c.security netpbm-10.47.04/generator/pbmtext.c +--- netpbm-10.47.04/generator/pbmtext.c.security 2009-10-21 13:38:57.000000000 +0200 ++++ netpbm-10.47.04/generator/pbmtext.c 2009-10-21 15:23:15.000000000 +0200 +@@ -96,12 +96,14 @@ parseCommandLine(int argc, const char ** + + for (i = 1; i < argc; ++i) { + if (i > 1) { ++ overflow_add(totaltextsize, 1); + totaltextsize += 1; + text = realloc(text, totaltextsize); + if (text == NULL) + pm_error("out of memory allocating space for input text"); + strcat(text, " "); + } ++ overflow_add(totaltextsize, strlen(argv[i])); + totaltextsize += strlen(argv[i]); + text = realloc(text, totaltextsize); + if (text == NULL) +@@ -711,6 +713,7 @@ getText(const char cmdline_text + pm_error("A line of input text is longer than %u characters." + "Cannot process.", sizeof(buf)-1); + if (lineCount >= maxlines) { ++ overflow2(maxlines, 2); + maxlines *= 2; + REALLOCARRAY(text_array, maxlines); + if (text_array == NULL) +@@ -831,6 +834,7 @@ main(int argc, const char *argv[]) { + hmargin = fontP->maxwidth; + } else { + vmargin = fontP->maxheight; ++ overflow2(2, fontP->maxwidth); + hmargin = 2 * fontP->maxwidth; + } + } +diff -up netpbm-10.47.04/generator/pgmcrater.c.security netpbm-10.47.04/generator/pgmcrater.c +--- netpbm-10.47.04/generator/pgmcrater.c.security 2009-10-21 13:38:57.000000000 +0200 ++++ netpbm-10.47.04/generator/pgmcrater.c 2009-10-21 15:09:34.000000000 +0200 +@@ -130,7 +130,7 @@ static void gencraters() + /* Acquire the elevation array and initialize it to mean + surface elevation. */ + +- MALLOCARRAY(aux, SCRX * SCRY); ++ aux = (unsigned short *) malloc3(SCRX, SCRY, sizeof(short)); + if (aux == NULL) + pm_error("out of memory allocating elevation array"); + +diff -up netpbm-10.47.04/generator/pgmkernel.c.security netpbm-10.47.04/generator/pgmkernel.c +--- netpbm-10.47.04/generator/pgmkernel.c.security 2009-10-21 13:38:57.000000000 +0200 ++++ netpbm-10.47.04/generator/pgmkernel.c 2009-10-21 15:09:34.000000000 +0200 +@@ -68,7 +68,7 @@ main ( argc, argv ) + kycenter = (fysize - 1) / 2.0; + ixsize = fxsize + 0.999; + iysize = fysize + 0.999; +- MALLOCARRAY(fkernel, ixsize * iysize); ++ fkernel = (double *) malloc3 (ixsize, iysize, sizeof(double)); + for (i = 0; i < iysize; i++) + for (j = 0; j < ixsize; j++) { + fkernel[i*ixsize+j] = 1.0 / (1.0 + w * sqrt((double) +diff -up netpbm-10.47.04/lib/libpam.c.security netpbm-10.47.04/lib/libpam.c +--- netpbm-10.47.04/lib/libpam.c.security 2009-10-21 13:39:00.000000000 +0200 ++++ netpbm-10.47.04/lib/libpam.c 2009-10-21 15:09:34.000000000 +0200 +@@ -235,7 +235,8 @@ allocPamRow(const struct pam * const pam + int const bytesPerTuple = allocationDepth(pamP) * sizeof(sample); + tuple * tuplerow; + +- tuplerow = malloc(pamP->width * (sizeof(tuple *) + bytesPerTuple)); ++ overflow_add(sizeof(tuple *), bytesPerTuple); ++ tuplerow = malloc2(pamP->width, sizeof(tuple *) + bytesPerTuple); + + if (tuplerow != NULL) { + /* Now we initialize the pointers to the individual tuples +diff -up netpbm-10.47.04/lib/libpammap.c.security netpbm-10.47.04/lib/libpammap.c +--- netpbm-10.47.04/lib/libpammap.c.security 2009-10-21 13:39:00.000000000 +0200 ++++ netpbm-10.47.04/lib/libpammap.c 2009-10-21 15:09:34.000000000 +0200 +@@ -104,6 +104,8 @@ allocTupleIntListItem(struct pam * const + */ + struct tupleint_list_item * retval; + ++ overflow2(pamP->depth, sizeof(sample)); ++ overflow_add(sizeof(*retval)-sizeof(retval->tupleint.tuple), pamP->depth*sizeof(sample)); + unsigned int const size = + sizeof(*retval) - sizeof(retval->tupleint.tuple) + + pamP->depth * sizeof(sample); +diff -up netpbm-10.47.04/lib/libpbm1.c.security netpbm-10.47.04/lib/libpbm1.c +--- netpbm-10.47.04/lib/libpbm1.c.security 2009-10-21 13:39:00.000000000 +0200 ++++ netpbm-10.47.04/lib/libpbm1.c 2009-10-21 15:09:34.000000000 +0200 +@@ -77,6 +77,7 @@ pbm_check(FILE * file, const enum pm_che + pm_message("pm_filepos passed to pm_check() is %u bytes", + sizeof(pm_filepos)); + #endif ++ overflow2(bytes_per_row, rows); + pm_check(file, check_type, need_raster_size, retval_p); + } + } +--- netpbm-10.47.04/lib/libpm.c.security 2009-10-21 13:39:00.000000000 +0200 ++++ netpbm-10.47.04/lib/libpm.c 2009-10-21 15:09:34.000000000 +0200 +@@ -827,4 +827,53 @@ pm_parse_height(const char * const arg) + } + + ++/* ++ * Maths wrapping ++ */ ++ ++void __overflow2(int a, int b) ++{ ++ if(a < 0 || b < 0) ++ pm_error("object too large"); ++ if(b == 0) ++ return; ++ if(a > INT_MAX / b) ++ pm_error("object too large"); ++} ++ ++void overflow3(int a, int b, int c) ++{ ++ overflow2(a,b); ++ overflow2(a*b, c); ++} ++ ++void overflow_add(int a, int b) ++{ ++ if( a > INT_MAX - b) ++ pm_error("object too large"); ++} ++ ++void *malloc2(int a, int b) ++{ ++ overflow2(a, b); ++ if(a*b == 0) ++ pm_error("Zero byte allocation"); ++ return malloc(a*b); ++} ++ ++void *malloc3(int a, int b, int c) ++{ ++ overflow3(a, b, c); ++ if(a*b*c == 0) ++ pm_error("Zero byte allocation"); ++ return malloc(a*b*c); ++} ++ ++void *realloc2(void * a, int b, int c) ++{ ++ overflow2(b, c); ++ if(b*c == 0) ++ pm_error("Zero byte allocation"); ++ return realloc(a, b*c); ++} + +diff -up netpbm-10.47.04/lib/pm.h.security netpbm-10.47.04/lib/pm.h +--- netpbm-10.47.04/lib/pm.h.security 2009-10-21 13:39:00.000000000 +0200 ++++ netpbm-10.47.04/lib/pm.h 2009-10-21 15:09:34.000000000 +0200 +@@ -377,4 +377,11 @@ pm_parse_height(const char * const arg); + #endif + + ++void *malloc2(int, int); ++void *malloc3(int, int, int); ++#define overflow2(a,b) __overflow2(a,b) ++void __overflow2(int, int); ++void overflow3(int, int, int); ++void overflow_add(int, int); ++ + #endif +diff -up netpbm-10.47.04/other/pnmcolormap.c.security netpbm-10.47.04/other/pnmcolormap.c +--- netpbm-10.47.04/other/pnmcolormap.c.security 2009-10-21 13:38:54.000000000 +0200 ++++ netpbm-10.47.04/other/pnmcolormap.c 2009-10-21 15:09:34.000000000 +0200 +@@ -840,6 +840,7 @@ colormapToSquare(struct pam * const pamP + pamP->width = intsqrt; + else + pamP->width = intsqrt + 1; ++ overflow_add(intsqrt, 1); + } + { + unsigned int const intQuotient = colormap.size / pamP->width; +diff -up netpbm-10.47.04/urt/rle_addhist.c.security netpbm-10.47.04/urt/rle_addhist.c +--- netpbm-10.47.04/urt/rle_addhist.c.security 2009-10-21 13:39:11.000000000 +0200 ++++ netpbm-10.47.04/urt/rle_addhist.c 2009-10-21 15:09:34.000000000 +0200 +@@ -14,6 +14,8 @@ + * If you modify this software, you should include a notice giving the + * name of the person performing the modification, the date of modification, + * and the reason for such modification. ++ * ++ * 2002-12-19: Fix maths wrapping bugs. Alan Cox <alan@redhat.com> + */ + /* + * rle_addhist.c - Add to the HISTORY comment in header +@@ -76,13 +78,19 @@ rle_addhist(char * argv[], + return; + + length = 0; +- for (i = 0; argv[i]; ++i) ++ for (i = 0; argv[i]; ++i) { ++ overflow_add(length, strlen(argv[i])); ++ overflow_add(length+1, strlen(argv[i])); + length += strlen(argv[i]) +1; /* length of each arg plus space. */ ++ } + + time(&temp); + timedate = ctime(&temp); + length += strlen(timedate); /* length of date and time in ASCII. */ + ++ overflow_add(strlen(padding), 4); ++ overflow_add(strlen(histoire), strlen(padding) + 4); ++ overflow_add(length, strlen(histoire) + strlen(padding) + 4); + length += strlen(padding) + 3 + strlen(histoire) + 1; + /* length of padding, "on " and length of history name plus "="*/ + if (in_hdr) /* if we are interested in the old comments... */ +@@ -90,9 +98,12 @@ rle_addhist(char * argv[], + else + old = NULL; + +- if (old && *old) ++ if (old && *old) { ++ overflow_add(length, strlen(old)); + length += strlen(old); /* add length if there. */ ++ } + ++ overflow_add(length, 1); + ++length; /*Cater for the null. */ + + MALLOCARRAY(newc, length); +diff -up netpbm-10.47.04/urt/rle_getrow.c.security netpbm-10.47.04/urt/rle_getrow.c +--- netpbm-10.47.04/urt/rle_getrow.c.security 2009-10-21 13:39:11.000000000 +0200 ++++ netpbm-10.47.04/urt/rle_getrow.c 2009-10-21 15:09:34.000000000 +0200 +@@ -17,6 +17,8 @@ + * + * Modified at BRL 16-May-88 by Mike Muuss to avoid Alliant STDC desire + * to have all "void" functions so declared. ++ * ++ * 2002-12-19: Fix maths wrapping bugs. Alan Cox <alan@redhat.com> + */ + /* + * rle_getrow.c - Read an RLE file in. +@@ -168,6 +170,7 @@ rle_get_setup(rle_hdr * const the_hdr) { + register char * cp; + + VAXSHORT( comlen, infile ); /* get comment length */ ++ overflow_add(comlen, 1); + evenlen = (comlen + 1) & ~1; /* make it even */ + if ( evenlen ) + { +diff -up netpbm-10.47.04/urt/rle_hdr.c.security netpbm-10.47.04/urt/rle_hdr.c +--- netpbm-10.47.04/urt/rle_hdr.c.security 2009-10-21 13:39:11.000000000 +0200 ++++ netpbm-10.47.04/urt/rle_hdr.c 2009-10-21 15:09:34.000000000 +0200 +@@ -14,6 +14,8 @@ + * If you modify this software, you should include a notice giving the + * name of the person performing the modification, the date of modification, + * and the reason for such modification. ++ * ++ * 2002-12-19: Fix maths wrapping bugs. Alan Cox <alan@redhat.com> + */ + /* + * rle_hdr.c - Functions to manipulate rle_hdr structures. +@@ -79,7 +81,10 @@ int img_num; + /* Fill in with copies of the strings. */ + if ( the_hdr->cmd != pgmname ) + { +- char *tmp = (char *)malloc( strlen( pgmname ) + 1 ); ++ char *tmp ; ++ ++ overflow_add(strlen(pgmname), 1); ++ tmp = malloc( strlen( pgmname ) + 1 ); + RLE_CHECK_ALLOC( pgmname, tmp, 0 ); + strcpy( tmp, pgmname ); + the_hdr->cmd = tmp; +@@ -87,7 +92,9 @@ int img_num; + + if ( the_hdr->file_name != fname ) + { +- char *tmp = (char *)malloc( strlen( fname ) + 1 ); ++ char *tmp; ++ overflow_add(strlen(fname), 1); ++ tmp = malloc( strlen( fname ) + 1 ); + RLE_CHECK_ALLOC( pgmname, tmp, 0 ); + strcpy( tmp, fname ); + the_hdr->file_name = tmp; +@@ -152,6 +159,7 @@ rle_hdr *from_hdr, *to_hdr; + if ( to_hdr->bg_color ) + { + int size = to_hdr->ncolors * sizeof(int); ++ overflow2(to_hdr->ncolors, sizeof(int)); + to_hdr->bg_color = (int *)malloc( size ); + RLE_CHECK_ALLOC( to_hdr->cmd, to_hdr->bg_color, "background color" ); + memcpy( to_hdr->bg_color, from_hdr->bg_color, size ); +@@ -160,7 +168,7 @@ rle_hdr *from_hdr, *to_hdr; + if ( to_hdr->cmap ) + { + int size = to_hdr->ncmap * (1 << to_hdr->cmaplen) * sizeof(rle_map); +- to_hdr->cmap = (rle_map *)malloc( size ); ++ to_hdr->cmap = (rle_map *)malloc3( to_hdr->ncmap, 1<<to_hdr->cmaplen, sizeof(rle_map)); + RLE_CHECK_ALLOC( to_hdr->cmd, to_hdr->cmap, "color map" ); + memcpy( to_hdr->cmap, from_hdr->cmap, size ); + } +@@ -173,11 +181,16 @@ rle_hdr *from_hdr, *to_hdr; + int size = 0; + CONST_DECL char **cp; + for ( cp=to_hdr->comments; *cp; cp++ ) ++ { ++ overflow_add(size, 1); + size++; /* Count the comments. */ ++ } + /* Check if there are really any comments. */ + if ( size ) + { ++ overflow_add(size, 1); + size++; /* Copy the NULL pointer, too. */ ++ overflow2(size, sizeof(char *)); + size *= sizeof(char *); + to_hdr->comments = (CONST_DECL char **)malloc( size ); + RLE_CHECK_ALLOC( to_hdr->cmd, to_hdr->comments, "comments" ); +diff -up netpbm-10.47.04/urt/rle_open_f.c.security netpbm-10.47.04/urt/rle_open_f.c +--- netpbm-10.47.04/urt/rle_open_f.c.security 2009-10-21 13:39:11.000000000 +0200 ++++ netpbm-10.47.04/urt/rle_open_f.c 2009-10-21 15:15:38.000000000 +0200 +@@ -163,64 +163,7 @@ dealWithSubprocess(const char * const f + bool * const noSubprocessP, + const char ** const errorP) { + +-#ifdef NO_OPEN_PIPES + *noSubprocessP = TRUE; +-#else +- const char *cp; +- +- reapChildren(catchingChildrenP, pids); +- +- /* Real file, not stdin or stdout. If name ends in ".Z", +- * pipe from/to un/compress (depending on r/w mode). +- * +- * If it starts with "|", popen that command. +- */ +- +- cp = file_name + strlen(file_name) - 2; +- /* Pipe case. */ +- if (file_name[0] == '|') { +- pid_t thepid; /* PID from my_popen */ +- +- *noSubprocessP = FALSE; +- +- *fpP = my_popen(file_name + 1, mode, &thepid); +- if (*fpP == NULL) +- *errorP = "%s: can't invoke <<%s>> for %s: "; +- else { +- /* One more child to catch, eventually. */ +- if (*catchingChildrenP < MAX_CHILDREN) +- pids[(*catchingChildrenP)++] = thepid; +- } +- } else if (cp > file_name && *cp == '.' && *(cp + 1) == 'Z' ) { +- /* Compress case. */ +- pid_t thepid; /* PID from my_popen. */ +- const char * command; +- +- *noSubprocessP = FALSE; +- +- if (*mode == 'w') +- pm_asprintf(&command, "compress > %s", file_name); +- else if (*mode == 'a') +- pm_asprintf(&command, "compress >> %s", file_name); +- else +- pm_asprintf(&command, "compress -d < %s", file_name); +- +- *fpP = my_popen(command, mode, &thepid); +- +- if (*fpP == NULL) +- *errorP = "%s: can't invoke 'compress' program, " +- "trying to open %s for %s"; +- else { +- /* One more child to catch, eventually. */ +- if (*catchingChildrenP < MAX_CHILDREN) +- pids[(*catchingChildrenP)++] = thepid; +- } +- pm_strfree(command); +- } else { +- *noSubprocessP = TRUE; +- *errorP = NULL; +- } +-#endif + } + + +diff -up netpbm-10.47.04/urt/rle_putcom.c.security netpbm-10.47.04/urt/rle_putcom.c +--- netpbm-10.47.04/urt/rle_putcom.c.security 2009-10-21 13:39:11.000000000 +0200 ++++ netpbm-10.47.04/urt/rle_putcom.c 2009-10-21 15:09:34.000000000 +0200 +@@ -14,6 +14,8 @@ + * If you modify this software, you should include a notice giving the + * name of the person performing the modification, the date of modification, + * and the reason for such modification. ++ * ++ * 2002-12-19: Fix maths wrapping bugs. Alan Cox <alan@redhat.com> + */ + /* + * rle_putcom.c - Add a picture comment to the header struct. +@@ -98,12 +100,14 @@ rle_putcom(const char * const value, + const char * v; + const char ** old_comments; + int i; +- for (i = 2, cp = the_hdr->comments; *cp != NULL; ++i, ++cp) ++ for (i = 2, cp = the_hdr->comments; *cp != NULL; ++i, ++cp) { ++ overflow_add(i, 1); + if (match(value, *cp) != NULL) { + v = *cp; + *cp = value; + return v; + } ++ } + /* Not found */ + /* Can't realloc because somebody else might be pointing to this + * comments block. Of course, if this were true, then the +diff -up netpbm-10.47.04/urt/Runput.c.security netpbm-10.47.04/urt/Runput.c +--- netpbm-10.47.04/urt/Runput.c.security 2009-10-21 13:39:11.000000000 +0200 ++++ netpbm-10.47.04/urt/Runput.c 2009-10-21 15:09:34.000000000 +0200 +@@ -17,6 +17,8 @@ + * + * Modified at BRL 16-May-88 by Mike Muuss to avoid Alliant STDC desire + * to have all "void" functions so declared. ++ * ++ * 2002-12-19: Fix maths wrapping bugs. Alan Cox <alan@redhat.com> + */ + /* + * Runput.c - General purpose Run Length Encoding. +@@ -202,9 +204,11 @@ RunSetup(rle_hdr * the_hdr) + if ( the_hdr->background != 0 ) + { + register int i; +- register rle_pixel *background = +- (rle_pixel *)malloc( (unsigned)(the_hdr->ncolors + 1) ); ++ register rle_pixel *background; + register int *bg_color; ++ ++ overflow_add(the_hdr->ncolors,1); ++ background = (rle_pixel *)malloc( (unsigned)(the_hdr->ncolors + 1) ); + /* + * If even number of bg color bytes, put out one more to get to + * 16 bit boundary. +@@ -224,7 +228,7 @@ RunSetup(rle_hdr * the_hdr) + /* Big-endian machines are harder */ + register int i, nmap = (1 << the_hdr->cmaplen) * + the_hdr->ncmap; +- register char *h_cmap = (char *)malloc( nmap * 2 ); ++ register char *h_cmap = (char *)malloc2( nmap, 2 ); + if ( h_cmap == NULL ) + { + fprintf( stderr, +diff -up netpbm-10.47.04/urt/scanargs.c.security netpbm-10.47.04/urt/scanargs.c +--- netpbm-10.47.04/urt/scanargs.c.security 2009-10-21 13:39:11.000000000 +0200 ++++ netpbm-10.47.04/urt/scanargs.c 2009-10-21 15:09:34.000000000 +0200 +@@ -38,6 +38,8 @@ + * + * Modified at BRL 16-May-88 by Mike Muuss to avoid Alliant STDC desire + * to have all "void" functions so declared. ++ * ++ * 2002-12-19: Fix maths wrapping bugs. Alan Cox <alan@redhat.com> + */ + + #include "rle.h" +@@ -65,8 +67,8 @@ typedef int *ptr; + /* + * Storage allocation macros + */ +-#define NEW( type, cnt ) (type *) malloc( (cnt) * sizeof( type ) ) +-#define RENEW( type, ptr, cnt ) (type *) realloc( ptr, (cnt) * sizeof( type ) ) ++#define NEW( type, cnt ) (type *) malloc2( (cnt) , sizeof( type ) ) ++#define RENEW( type, ptr, cnt ) (type *) realloc2( ptr, (cnt), sizeof( type ) ) + + #if defined(c_plusplus) && !defined(USE_PROTOTYPES) + #define USE_PROTOTYPES +--- advanced/urt/rle_hdr.c.old 2012-01-21 05:57:25.000000000 -0500 ++++ advanced/urt/rle_hdr.c 2012-01-21 05:57:50.000000000 -0500 +@@ -29,6 +29,18 @@ + + #include <string.h> + ++/* ++ * Provided by pm library ++ */ ++ ++extern void overflow_add(int, int); ++#define overflow2(a,b) __overflow2(a,b) ++extern void __overflow2(int, int); ++extern void overflow3(int, int, int); ++extern void *malloc2(int, int); ++/*extern void *malloc3(int, int, int);*/ ++extern void *realloc2(void *, int, int); ++ + /***************************************************************** + * TAG( rle_names ) + * diff --git a/staging/netpbm/netpbm-security-scripts.patch b/staging/netpbm/netpbm-security-scripts.patch new file mode 100644 index 000000000..557914b66 --- /dev/null +++ b/staging/netpbm/netpbm-security-scripts.patch @@ -0,0 +1,393 @@ +diff -up netpbm-10.47.05/converter/other/anytopnm.security-scripts netpbm-10.47.05/converter/other/anytopnm +--- netpbm-10.47.05/converter/other/anytopnm.security-scripts 2009-12-10 08:34:36.000000000 +0100 ++++ netpbm-10.47.05/converter/other/anytopnm 2010-03-16 21:28:09.000000000 +0100 +@@ -510,10 +510,7 @@ else + inputFile="-" + fi + +-tempdir="${TMPDIR-/tmp}/anytopnm.$$" +-mkdir -m 0700 $tempdir || \ +- { echo "Could not create temporary file. Exiting."; exit 1;} +-trap 'rm -rf $tempdir' 0 ++tempdir=$(mktemp -d -t anytopnm.XXXXXXXXXX) || exit 1 + + # Take out all spaces + # Find the filename extension for last-ditch efforts later +@@ -539,9 +536,17 @@ if [ "$filetype" = "unknown" ]; then + echo "$progname: unknown file type. " \ + "'file' says mime type is '$mimeType', " 1>&2 + echo "type description is '$typeDescription'" 1>&2 ++ if [ -d "$tempdir" ] ; then ++ rm -rf "$tempdir" ++ fi ++ + exit 1 + fi + + convertIt $file $filetype + ++if [ -d "$tempdir" ] ; then ++ rm -rf "$tempdir" ++fi ++ + exit 0 +diff -up netpbm-10.47.05/editor/pamstretch-gen.security-scripts netpbm-10.47.05/editor/pamstretch-gen +--- netpbm-10.47.05/editor/pamstretch-gen.security-scripts 2009-12-10 08:34:32.000000000 +0100 ++++ netpbm-10.47.05/editor/pamstretch-gen 2010-03-16 21:28:47.000000000 +0100 +@@ -31,13 +31,9 @@ if [ "$1" = "" ]; then + exit 1 + fi + +-tempdir="${TMPDIR-/tmp}/pamstretch-gen.$$" +-mkdir -m 0700 $tempdir || \ +- { echo "Could not create temporary file. Exiting."; exit 1;} ++tempfile=$(mktemp /tmp/pnmig.XXXXXXXXXX) || exit 1 + trap 'rm -rf $tempdir' 0 1 3 15 + +-tempfile=$tempdir/pnmig +- + if ! cat $2 >$tempfile 2>/dev/null; then + echo 'pamstretch-gen: error reading file' 1>&2 + exit 1 +diff -up netpbm-10.47.05/editor/pnmmargin.security-scripts netpbm-10.47.05/editor/pnmmargin +--- netpbm-10.47.05/editor/pnmmargin.security-scripts 2009-12-10 08:34:32.000000000 +0100 ++++ netpbm-10.47.05/editor/pnmmargin 2010-03-16 21:28:09.000000000 +0100 +@@ -11,15 +11,11 @@ + # documentation. This software is provided "as is" without express or + # implied warranty. + +-tempdir="${TMPDIR-/tmp}/pnmmargin.$$" +-mkdir -m 0700 $tempdir || \ +- { echo "Could not create temporary file. Exiting." 1>&2; exit 1;} +-trap 'rm -rf $tempdir' 0 1 3 15 +- +-tmp1=$tempdir/pnmm1 +-tmp2=$tempdir/pnmm2 +-tmp3=$tempdir/pnmm3 +-tmp4=$tempdir/pnmm4 ++tmpdir=$(mktemp -d -t ppmmargin.XXXXXXX) || exit 1 ++tmp1="$tmpdir/tmp1" ++tmp2="$tmpdir/tmp2" ++tmp3="$tmpdir/tmp3" ++tmp4="$tmpdir/tmp4" + + color="-gofigure" + plainopt="" +@@ -90,6 +86,7 @@ else + -white | -black ) + pnmpad $plainopt $color \ + -left=$size -right=$size -top=$size -bottom=$size $tmp1 ++ rm -rf "$tmpdir" + exit + ;; + * ) +@@ -102,7 +99,4 @@ else + pnmcat -lr $tmp2 $tmp1 $tmp2 > $tmp4 + pnmcat -tb $plainopt $tmp3 $tmp4 $tmp3 + fi +- +- +- +- ++rm -rf "$tmpdir" +diff -up netpbm-10.47.05/editor/ppmfade.security-scripts netpbm-10.47.05/editor/ppmfade +--- netpbm-10.47.05/editor/ppmfade.security-scripts 2009-12-10 08:34:32.000000000 +0100 ++++ netpbm-10.47.05/editor/ppmfade 2010-03-16 21:28:09.000000000 +0100 +@@ -14,6 +14,7 @@ + # + #-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- + use strict; ++use File::Temp "tempdir"; + + my $SPREAD = 1; + my $SHIFT = 2; +@@ -111,20 +112,26 @@ if ($first_file ne "undefined") { + + print("Frames are " . $width . "W x " . $height . "H\n"); + ++# ++# We create a tmp-directory right here ++# ++my $tmpdir = tempdir("ppmfade.XXXXXX", CLEANUP => 1); ++ ++ + if ($first_file eq "undefined") { + print "Fading from black to "; +- system("ppmmake \\#000 $width $height >junk1$$.ppm"); ++ system("ppmmake \\#000 $width $height >$tmpdir/junk1$$.ppm"); + } else { + print "Fading from $first_file to "; +- system("cp", $first_file, "junk1$$.ppm"); ++ system("cp", $first_file, "$tmpdir/junk1$$.ppm"); + } + + if ($last_file eq "undefined") { + print "black.\n"; +- system("ppmmake \\#000 $width $height >junk2$$.ppm"); ++ system("ppmmake \\#000 $width $height >$tmpdir/junk2$$.ppm"); + } else { + print "$last_file\n"; +- system("cp", $last_file, "junk2$$.ppm"); ++ system("cp", $last_file, "$tmpdir/junk2$$.ppm"); + } + + # +@@ -132,14 +139,14 @@ if ($last_file eq "undefined") { + # + + # Here's what our temporary files are: +-# junk1$$.ppm: The original (fade-from) image +-# junk2$$.ppm: The target (fade-from) image +-# junk3$$.ppm: The frame of the fade for the current iteration of the +-# the for loop. +-# junk1a$$.ppm: If the fade involves a ppmmix sequence from one intermediate +-# image to another, this is the first frame of that +-# sequence. +-# junk2a$$.ppm: This is the last frame of the above-mentioned ppmmix sequence ++# $tmpdir/junk1$$.ppm: The original (fade-from) image ++# $tmpdir/junk2$$.ppm: The target (fade-from) image ++# $tmpdir/junk3$$.ppm: The frame of the fade for the current iteration of the ++# the for loop. ++# $tmpdir/junk1a$$.ppm: If the fade involves a ppmmix sequence from one intermediate ++# image to another, this is the first frame of that ++# sequence. ++# $tmpdir/junk2a$$.ppm: This is the last frame of the above-mentioned ppmmix sequence + + my $i; # Frame number + for ($i = 1; $i <= $nframes; $i++) { +@@ -147,147 +154,147 @@ for ($i = 1; $i <= $nframes; $i++) { + if ($mode eq $SPREAD) { + if ($i <= 10) { + my $n = $spline20[$i] * 100; +- system("ppmspread $n junk1$$.ppm >junk3$$.ppm"); ++ system("ppmspread $n $tmpdir/junk1$$.ppm >$tmpdir/junk3$$.ppm"); + } elsif ($i <= 20) { + my $n; + $n = $spline20[$i] * 100; +- system("ppmspread $n junk1$$.ppm >junk1a$$.ppm"); ++ system("ppmspread $n $tmpdir/junk1$$.ppm >$tmpdir/junk1a$$.ppm"); + $n = (1-$spline20[$i-10]) * 100; +- system("ppmspread $n junk2$$.ppm >junk2a$$.ppm"); ++ system("ppmspread $n $tmpdir/junk2$$.ppm >$tmpdir/junk2a$$.ppm"); + $n = $spline10[$i-10]; +- system("ppmmix $n junk1a$$.ppm junk2a$$.ppm >junk3$$.ppm"); ++ system("ppmmix $n $tmpdir/junk1a$$.ppm $tmpdir/junk2a$$.ppm >$tmpdir/junk3$$.ppm"); + } else { + my $n = (1-$spline20[$i-10])*100; +- system("ppmspread $n junk2$$.ppm >junk3$$.ppm"); ++ system("ppmspread $n $tmpdir/junk2$$.ppm >$tmpdir/junk3$$.ppm"); + } + } elsif ($mode eq $SHIFT) { + if ($i <= 10) { + my $n = $spline20[$i] * 100; +- system("ppmshift $n junk1$$.ppm >junk3$$.ppm"); ++ system("ppmshift $n $tmpdir/junk1$$.ppm >$tmpdir/junk3$$.ppm"); + } elsif ($i <= 20) { + my $n; + $n = $spline20[$i] * 100; +- system("ppmshift $n junk1$$.ppm >junk1a$$.ppm"); ++ system("ppmshift $n $tmpdir/junk1$$.ppm >$tmpdir/junk1a$$.ppm"); + $n = (1-$spline20[$i-10])*100; +- system("ppmshift $n junk2$$.ppm >junk2a$$.ppm"); ++ system("ppmshift $n $tmpdir/junk2$$.ppm >$tmpdir/junk2a$$.ppm"); + $n = $spline10[$i-10]; +- system("ppmmix $n junk1a$$.ppm junk2a$$.ppm >junk3$$.ppm"); ++ system("ppmmix $n $tmpdir/junk1a$$.ppm $tmpdir/junk2a$$.ppm >$tmpdir/junk3$$.ppm"); + } else { + my $n = (1-$spline20[$i-10]) * 100; +- system("ppmshift $n junk2$$.ppm >junk3$$.ppm"); ++ system("ppmshift $n $tmpdir/junk2$$.ppm >$tmpdir/junk3$$.ppm"); + } + } elsif ($mode eq $RELIEF) { + if ($i == 1) { +- system("ppmrelief junk1$$.ppm >junk1r$$.ppm"); ++ system("ppmrelief $tmpdir/junk1$$.ppm >$tmpdir/junk1r$$.ppm"); + } + if ($i <= 10) { + my $n = $spline10[$i]; +- system("ppmmix $n junk1$$.ppm junk1r$$.ppm >junk3$$.ppm"); ++ system("ppmmix $n $tmpdir/junk1$$.ppm $tmpdir/junk1r$$.ppm >$tmpdir/junk3$$.ppm"); + } elsif ($i <= 20) { + my $n = $spline10[$i-10]; +- system("ppmmix $n junk1r$$.ppm junk2r$$.ppm >junk3$$.ppm"); ++ system("ppmmix $n $tmpdir/junk1r$$.ppm $tmpdir/junk2r$$.ppm >$tmpdir/junk3$$.ppm"); + } else { + my $n = $spline10[$i-20]; +- system("ppmmix $n junk2r$$.ppm junk2$$.ppm >junk3$$.ppm"); ++ system("ppmmix $n $tmpdir/junk2r$$.ppm $tmpdir/junk2$$.ppm >$tmpdir/junk3$$.ppm"); + } + if ($i == 10) { +- system("ppmrelief junk2$$.ppm >junk2r$$.ppm"); ++ system("ppmrelief $tmpdir/junk2$$.ppm >$tmpdir/junk2r$$.ppm"); + } + } elsif ($mode eq $OIL) { + if ($i == 1) { +- system("ppmtopgm junk1$$.ppm | pgmoil >junko$$.ppm"); +- system("rgb3toppm junko$$.ppm junko$$.ppm junko$$.ppm " . +- ">junk1o$$.ppm"); ++ system("ppmtopgm $tmpdir/junk1$$.ppm | pgmoil >$tmpdir/junko$$.ppm"); ++ system("rgb3toppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm " . ++ ">$tmpdir/junk1o$$.ppm"); + } + if ($i <= 10) { + my $n = $spline10[$i]; +- system("ppmmix $n junk1$$.ppm junk1o$$.ppm >junk3$$.ppm"); ++ system("ppmmix $n $tmpdir/junk1$$.ppm $tmpdir/junk1o$$.ppm >$tmpdir/junk3$$.ppm"); + } elsif ($i <= 20) { + my $n = $spline10[$i-10]; +- system("ppmmix $n junk1o$$.ppm junk2o$$.ppm >junk3$$.ppm"); ++ system("ppmmix $n $tmpdir/junk1o$$.ppm $tmpdir/junk2o$$.ppm >$tmpdir/junk3$$.ppm"); + } else { + my $n = $spline10[$i-20]; +- system("ppmmix $n junk2o$$.ppm junk2$$.ppm >junk3$$.ppm"); ++ system("ppmmix $n $tmpdir/junk2o$$.ppm $tmpdir/junk2$$.ppm >$tmpdir/junk3$$.ppm"); + } + if ($i == 10) { +- system("ppmtopgm junk2$$.ppm | pgmoil >junko$$.ppm"); +- system("rgb3toppm junko$$.ppm junko$$.ppm junko$$.ppm " . +- ">junk2o$$.ppm"); ++ system("ppmtopgm $tmpdir/junk2$$.ppm | pgmoil >$tmpdir/junko$$.ppm"); ++ system("rgb3toppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm " . ++ ">$tmpdir/junk2o$$.ppm"); + } + } elsif ($mode eq $EDGE) { + if ($i == 1) { +- system("ppmtopgm junk1$$.ppm | pgmedge >junko$$.ppm"); +- system("rgb3toppm junko$$.ppm junko$$.ppm junko$$.ppm " . +- ">junk1o$$.ppm"); ++ system("ppmtopgm $tmpdir/junk1$$.ppm | pgmedge >$tmpdir/junko$$.ppm"); ++ system("rgb3toppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm " . ++ ">$tmpdir/junk1o$$.ppm"); + } + if ($i <= 10) { + my $n = $spline10[$i]; +- system("ppmmix $n junk1$$.ppm junk1o$$.ppm >junk3$$.ppm"); ++ system("ppmmix $n $tmpdir/junk1$$.ppm $tmpdir/junk1o$$.ppm >$tmpdir/junk3$$.ppm"); + } elsif ($i <= 20) { + my $n = $spline10[$i-10]; +- system("ppmmix $n junk1o$$.ppm junk2o$$.ppm >junk3$$.ppm"); ++ system("ppmmix $n $tmpdir/junk1o$$.ppm $tmpdir/junk2o$$.ppm >$tmpdir/junk3$$.ppm"); + } else { + my $n = $spline10[$i-20]; +- system("ppmmix $n junk2o$$.ppm junk2$$.ppm >junk3$$.ppm"); ++ system("ppmmix $n $tmpdir/junk2o$$.ppm $tmpdir/junk2$$.ppm >$tmpdir/junk3$$.ppm"); + } + if ($i == 10) { +- system("ppmtopgm junk2$$.ppm | pgmedge >junko$$.ppm"); +- system("rgb3toppm junko$$.ppm junko$$.ppm junko$$.ppm " . +- ">junk2o$$.ppm"); ++ system("ppmtopgm $tmpdir/junk2$$.ppm | pgmedge >$tmpdir/junko$$.ppm"); ++ system("rgb3toppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm " . ++ ">$tmpdir/junk2o$$.ppm"); + } + } elsif ($mode eq $BENTLEY) { + if ($i == 1) { +- system("ppmtopgm junk1$$.ppm | pgmbentley >junko$$.ppm"); +- system("rgb3toppm junko$$.ppm junko$$.ppm junko$$.ppm " . +- ">junk1o$$.ppm"); ++ system("ppmtopgm $tmpdir/junk1$$.ppm | pgmbentley >$tmpdir/junko$$.ppm"); ++ system("rgb3toppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm " . ++ ">$tmpdir/junk1o$$.ppm"); + } + if ($i <= 10) { + my $n = $spline10[$i]; +- system("ppmmix $n junk1$$.ppm junk1o$$.ppm >junk3$$.ppm"); ++ system("ppmmix $n $tmpdir/junk1$$.ppm $tmpdir/junk1o$$.ppm >$tmpdir/junk3$$.ppm"); + } elsif ($i <= 20) { + my $n = $spline10[$i-10]; +- system("ppmmix $n junk1o$$.ppm junk2o$$.ppm >junk3$$.ppm"); ++ system("ppmmix $n $tmpdir/junk1o$$.ppm $tmpdir/junk2o$$.ppm >$tmpdir/junk3$$.ppm"); + } else { + my $n = $spline10[$i-20]; +- system("ppmmix $n junk2o$$.ppm junk2$$.ppm >junk3$$.ppm"); ++ system("ppmmix $n $tmpdir/junk2o$$.ppm $tmpdir/junk2$$.ppm >$tmpdir/junk3$$.ppm"); + } + if ($i == 10) { +- system("ppmtopgm junk2$$.ppm | pgmbentley >junko$$.ppm"); +- system("rgb3toppm junko$$.ppm junko$$.ppm junko$$.ppm " . +- ">junk2o$$.ppm"); ++ system("ppmtopgm $tmpdir/junk2$$.ppm | pgmbentley >$tmpdir/junko$$.ppm"); ++ system("rgb3toppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm " . ++ ">$tmpdir/junk2o$$.ppm"); + } + } elsif ($mode eq $BLOCK) { + if ($i <= 10) { + my $n = 1 - 1.9*$spline20[$i]; +- system("pamscale $n junk1$$.ppm | " . +- "pamscale -width $width -height $height >junk3$$.ppm"); ++ system("pamscale $n $tmpdir/junk1$$.ppm | " . ++ "pamscale -width $width -height $height >$tmpdir/junk3$$.ppm"); + } elsif ($i <= 20) { + my $n = $spline10[$i-10]; +- system("ppmmix $n junk1a$$.ppm junk2a$$.ppm >junk3$$.ppm"); ++ system("ppmmix $n $tmpdir/junk1a$$.ppm $tmpdir/junk2a$$.ppm >$tmpdir/junk3$$.ppm"); + } else { + my $n = 1 - 1.9*$spline20[31-$i]; +- system("pamscale $n junk2$$.ppm | " . +- "pamscale -width $width -height $height >junk3$$.ppm"); ++ system("pamscale $n $tmpdir/junk2$$.ppm | " . ++ "pamscale -width $width -height $height >$tmpdir/junk3$$.ppm"); + } + if ($i == 10) { +- system("cp", "junk3$$.ppm", "junk1a$$.ppm"); +- system("pamscale $n junk2$$.ppm | " . +- "pamscale -width $width -height $height >junk2a$$.ppm"); ++ system("cp", "$tmpdir/junk3$$.ppm", "$tmpdir/junk1a$$.ppm"); ++ system("pamscale $n $tmpdir/junk2$$.ppm | " . ++ "pamscale -width $width -height $height >$tmpdir/junk2a$$.ppm"); + } + } elsif ($mode eq $MIX) { + my $fade_factor = sqrt(1/($nframes-$i+1)); +- system("ppmmix $fade_factor junk1$$.ppm junk2$$.ppm >junk3$$.ppm"); ++ system("ppmmix $fade_factor $tmpdir/junk1$$.ppm $tmpdir/junk2$$.ppm >$tmpdir/junk3$$.ppm"); + } else { + print("Internal error: impossible mode value '$mode'\n"); + } + + my $outfile = sprintf("%s.%04d.ppm", $base_name, $i); +- system("cp", "junk3$$.ppm", $outfile); ++ system("cp", "$tmpdir/junk3$$.ppm", $outfile); + } + + # + # Clean up shop. + # +-system("rm junk*$$.ppm"); ++system("rm $tmpdir/junk*$$.ppm"); + + exit(0); +diff -up netpbm-10.47.05/editor/ppmquantall.security-scripts netpbm-10.47.05/editor/ppmquantall +--- netpbm-10.47.05/editor/ppmquantall.security-scripts 2009-12-10 08:34:32.000000000 +0100 ++++ netpbm-10.47.05/editor/ppmquantall 2010-03-16 21:28:09.000000000 +0100 +@@ -70,12 +70,8 @@ for i in ${files[@]}; do + heights=(${heights[*]} `grep -v '^#' $i | sed '1d; s/.* //; 2q'`) + done + +-tempdir="${TMPDIR-/tmp}/ppmquantall.$$" +-mkdir -m 0700 $tempdir || \ +- { echo "Could not create temporary file. Exiting."; exit 1;} +-trap 'rm -rf $tempdir' 0 1 3 15 +- +-all=$tempdir/pqa.all.$$ ++all=$(mktemp -t pqa.all.XXXXXXXXXX) || exit 1 ++rm -f $all + + pnmcat -topbottom -jleft -white ${files[@]} | pnmquant $newcolors > $all + if [ $? != 0 ]; then +diff -up netpbm-10.47.05/editor/ppmshadow.security-scripts netpbm-10.47.05/editor/ppmshadow +--- netpbm-10.47.05/editor/ppmshadow.security-scripts 2009-12-10 08:34:32.000000000 +0100 ++++ netpbm-10.47.05/editor/ppmshadow 2010-03-16 21:28:09.000000000 +0100 +@@ -72,9 +72,10 @@ sub makeConvolutionKernel($$) { + + + my $tmpdir = $ENV{TMPDIR} || "/tmp"; +-my $ourtmp = "$tmpdir/ppmshadow$$"; +-mkdir($ourtmp, 0777) or +- die("Unable to create directory for temporary files '$ourtmp"); ++my $ourtmp; chomp($ourtmp = `mktemp -d -t PPMshadow.XXXXXX`); ++if ($? >> 8) { ++ die "Can't create directory for temporary files"; ++} + + # Process command line options + diff --git a/staging/nx-common/NXproto.h.64bit.diff b/staging/nx-common/NXproto.h.64bit.diff new file mode 100644 index 000000000..ac326ebcd --- /dev/null +++ b/staging/nx-common/NXproto.h.64bit.diff @@ -0,0 +1,66 @@ +--- nxcomp.old/NXproto.h 2006-06-19 19:55:56.000000000 +0200 ++++ nxcomp/NXproto.h 2007-02-12 18:17:41.000000000 +0100 +@@ -26,6 +26,30 @@ + #include <X11/Xmd.h> + #include <X11/Xproto.h> + ++/* ++ Copied from Xproto.h ++ */ ++ ++/* For the purpose of the structure definitions in this file, ++we must redefine the following types in terms of Xmd.h's types, which may ++include bit fields. All of these are #undef'd at the end of this file, ++restoring the definitions in X.h. */ ++ ++#define Window CARD32 ++#define Drawable CARD32 ++#define Font CARD32 ++#define Pixmap CARD32 ++#define Cursor CARD32 ++#define Colormap CARD32 ++#define GContext CARD32 ++#define Atom CARD32 ++#define VisualID CARD32 ++#define Time CARD32 ++#define KeyCode CARD8 ++#define KeySym CARD32 ++ ++/* End copied from Xproto.h */ ++ + #define sz_xNXGetControlParametersReq 4 + #define sz_xNXGetCleanupParametersReq 4 + #define sz_xNXGetImageParametersReq 4 +@@ -343,9 +367,9 @@ + CARD8 dstDepth; + CARD32 srcLength B32; + CARD32 dstLength B32; +- INT16 srcX B16, srcY B16; ++ CARD16 srcX B16, srcY B16; + CARD16 srcWidth B16, srcHeight B16; +- INT16 dstX B16, dstY B16; ++ CARD16 dstX B16, dstY B16; + CARD16 dstWidth B16, dstHeight B16; + } xNXPutPackedImageReq; + +@@ -463,4 +487,20 @@ + } + #endif + ++/* Copied from Xproto.h */ ++ ++/* restore these definitions back to the typedefs in X.h */ ++#undef Window ++#undef Drawable ++#undef Font ++#undef Pixmap ++#undef Cursor ++#undef Colormap ++#undef GContext ++#undef Atom ++#undef VisualID ++#undef Time ++#undef KeyCode ++#undef KeySym ++ + #endif /* NXproto_H */ diff --git a/staging/nx-common/PKGBUILD b/staging/nx-common/PKGBUILD new file mode 100644 index 000000000..372871404 --- /dev/null +++ b/staging/nx-common/PKGBUILD @@ -0,0 +1,59 @@ +# $Id: PKGBUILD 147024 2012-01-20 21:12:16Z andyrtr $ +# Maintainer: Tobias Powalowski <tpowa@archlinux.org> +# Contributed: eliott <eliott@solarblue.net>, Andre Naumann <anaumann@SPARCed.org> + +pkgname=nx-common +pkgver=3.5.0 +pkgrel=3 +pkgdesc="NoMachine NX common package for client and server" +arch=('i686' 'x86_64') +license=('GPL') +url="http://nomachine.com/" +depends=('libjpeg-turbo>=1.1.1' 'libpng>=1.5.7' 'openssl>=1.0.0' 'gcc-libs' 'bash') +makedepends=('xorg-server-devel') +source=( #Compression libs and proxy sources + http://64.34.161.181/download/$pkgver/sources/nxcomp-$pkgver-2.tar.gz + http://64.34.161.181/download/$pkgver/sources/nxcompsh-$pkgver-1.tar.gz + http://64.34.161.181/download/$pkgver/sources/nxssh-$pkgver-2.tar.gz + nxcompsh-gcc43.patch + nx-3.5.0-libpng15.patch) +options=(!libtool) +md5sums=('ad8c0f133122c6d07732ca69c8759410' + '84ade443b79ea079380b754aba9d392e' + 'f52fcdb38e09f8dcfb9ff0344dfbbbd6' + 'b6c279654dac421fc3dd1a27d66ff53c' + '2966353cabb96829eab291212ef078dc') + +build() { + # nxcomp + cd ${srcdir}/nxcomp + patch -Np1 -i ${srcdir}/nx-3.5.0-libpng15.patch + + ./configure --prefix=/opt/NX + make + # nxcompsh + cd ${srcdir}/nxcompsh + patch -Np1 -i ${srcdir}/nxcompsh-gcc43.patch + + ./configure --prefix=/opt/NX + make + # nxssh + cd ${srcdir}/nxssh + ./configure --prefix=/opt/NX + make +} + +package() { + mkdir -p ${pkgdir}/opt/NX/bin + mkdir -p ${pkgdir}/opt/NX/lib + + # nxcomp + cd ${srcdir}/nxcomp + cp -a libXcomp.so* ${pkgdir}/opt/NX/lib + # nxcompsh + cd ${srcdir}/nxcompsh + cp -a libXcompsh.so* ${pkgdir}/opt/NX/lib + # nxssh + cd ${srcdir}/nxssh + install -D -m755 nxssh ${pkgdir}/opt/NX/bin/nxssh +} diff --git a/staging/nx-common/nx-3.5.0-libpng15.patch b/staging/nx-common/nx-3.5.0-libpng15.patch new file mode 100644 index 000000000..c8f2a9559 --- /dev/null +++ b/staging/nx-common/nx-3.5.0-libpng15.patch @@ -0,0 +1,30 @@ +diff -ur nxcomp.orig/Pgn.cpp nxcomp/Pgn.cpp +--- nxcomp.orig/Pgn.cpp 2010-03-01 19:18:59.000000000 +0200 ++++ nxcomp/Pgn.cpp 2011-09-13 16:35:12.000000000 +0300 +@@ -414,7 +414,7 @@ + + png_read_info(pngPtr, infoPtr); + +- if (infoPtr -> color_type == PNG_COLOR_TYPE_PALETTE) ++ if (png_get_color_type(pngPtr, infoPtr) == PNG_COLOR_TYPE_PALETTE) + { + png_set_expand(pngPtr); + } +@@ -565,7 +565,7 @@ + + png_read_info( pngPtr, infoPtr ) ; + +- if (infoPtr -> color_type == PNG_COLOR_TYPE_PALETTE) ++ if (png_get_color_type(pngPtr, infoPtr) == PNG_COLOR_TYPE_PALETTE) + { + png_set_expand(pngPtr); + } +@@ -709,7 +709,7 @@ + png_read_info(pngPtr, infoPtr) ; + + +- if (infoPtr -> color_type == PNG_COLOR_TYPE_PALETTE) ++ if (png_get_color_type(pngPtr, infoPtr) == PNG_COLOR_TYPE_PALETTE) + { + png_set_expand(pngPtr); + } diff --git a/staging/nx-common/nxcompsh-gcc43.patch b/staging/nx-common/nxcompsh-gcc43.patch new file mode 100644 index 000000000..681a0dab5 --- /dev/null +++ b/staging/nx-common/nxcompsh-gcc43.patch @@ -0,0 +1,19 @@ +--- nxcompsh/Misc.h~ 2007-06-04 13:39:49.000000000 +0200 ++++ nxcompsh/Misc.h 2008-04-12 12:46:24.000000000 +0200 +@@ -18,10 +18,12 @@ + #ifndef Misc_H + #define Misc_H + +-#include <iostream.h> ++#include <iostream> + +-#include <errno.h> +-#include <string.h> ++#include <cerrno> ++#include <cstring> ++ ++using namespace std; + + // + // Error handling macros. + diff --git a/staging/nxserver/NXproto.h.64bit.diff b/staging/nxserver/NXproto.h.64bit.diff new file mode 100644 index 000000000..ac326ebcd --- /dev/null +++ b/staging/nxserver/NXproto.h.64bit.diff @@ -0,0 +1,66 @@ +--- nxcomp.old/NXproto.h 2006-06-19 19:55:56.000000000 +0200 ++++ nxcomp/NXproto.h 2007-02-12 18:17:41.000000000 +0100 +@@ -26,6 +26,30 @@ + #include <X11/Xmd.h> + #include <X11/Xproto.h> + ++/* ++ Copied from Xproto.h ++ */ ++ ++/* For the purpose of the structure definitions in this file, ++we must redefine the following types in terms of Xmd.h's types, which may ++include bit fields. All of these are #undef'd at the end of this file, ++restoring the definitions in X.h. */ ++ ++#define Window CARD32 ++#define Drawable CARD32 ++#define Font CARD32 ++#define Pixmap CARD32 ++#define Cursor CARD32 ++#define Colormap CARD32 ++#define GContext CARD32 ++#define Atom CARD32 ++#define VisualID CARD32 ++#define Time CARD32 ++#define KeyCode CARD8 ++#define KeySym CARD32 ++ ++/* End copied from Xproto.h */ ++ + #define sz_xNXGetControlParametersReq 4 + #define sz_xNXGetCleanupParametersReq 4 + #define sz_xNXGetImageParametersReq 4 +@@ -343,9 +367,9 @@ + CARD8 dstDepth; + CARD32 srcLength B32; + CARD32 dstLength B32; +- INT16 srcX B16, srcY B16; ++ CARD16 srcX B16, srcY B16; + CARD16 srcWidth B16, srcHeight B16; +- INT16 dstX B16, dstY B16; ++ CARD16 dstX B16, dstY B16; + CARD16 dstWidth B16, dstHeight B16; + } xNXPutPackedImageReq; + +@@ -463,4 +487,20 @@ + } + #endif + ++/* Copied from Xproto.h */ ++ ++/* restore these definitions back to the typedefs in X.h */ ++#undef Window ++#undef Drawable ++#undef Font ++#undef Pixmap ++#undef Cursor ++#undef Colormap ++#undef GContext ++#undef Atom ++#undef VisualID ++#undef Time ++#undef KeyCode ++#undef KeySym ++ + #endif /* NXproto_H */ diff --git a/staging/nxserver/PKGBUILD b/staging/nxserver/PKGBUILD new file mode 100644 index 000000000..5110e7097 --- /dev/null +++ b/staging/nxserver/PKGBUILD @@ -0,0 +1,95 @@ +# $Id: PKGBUILD 147028 2012-01-20 21:33:04Z andyrtr $ +# Maintainer: Tobias Powalowski <tpowa@archlinux.org> +# Contributed: eliott <eliott@solarblue.net>, Andre Naumann <anaumann@SPARCed.org> + +pkgname=nxserver +pkgver=3.5.0 +pkgrel=5 +pkgdesc="NoMachine NX is the next-generation X compression and roundtrip suppression scheme." +arch=(i686 x86_64) +url="http://nomachine.com/" +license=('GPL') +depends=("nx-common" 'libxaw' 'libxrender' 'libxp' 'gcc-libs' 'libjpeg>=8' #>=$pkgver + 'libxpm' 'libpng>=1.5.7' 'libxdamage' 'libxrandr' 'libxcomposite' 'libxtst' 'freetype2' + 'xorg-sessreg') +makedepends=('imake') +source=( +#X11 support programs and libraries +http://64.34.161.181/download/$pkgver/sources/nx-X11-$pkgver-2.tar.gz +http://64.34.161.181/download/$pkgver/sources/nxwin-$pkgver-2.tar.gz +http://64.34.161.181/download/$pkgver/sources/nxauth-$pkgver-1.tar.gz +http://64.34.161.181/download/$pkgver/sources/nxcomp-$pkgver-2.tar.gz # needed to provide NX.h and -LXcomp - part of nx-common +#X11 Agent sources +http://64.34.161.181/download/$pkgver/sources/nxagent-$pkgver-7.tar.gz +http://64.34.161.181/download/$pkgver/sources/nxcompsh-$pkgver-1.tar.gz # needed to get X11 built - part of nx-common +#Compression libs and proxy sources +http://64.34.161.181/download/$pkgver/sources/nxproxy-$pkgver-1.tar.gz +http://64.34.161.181/download/$pkgver/sources/nxcompext-$pkgver-1.tar.gz +http://64.34.161.181/download/$pkgver/sources/nxcompshad-$pkgver-2.tar.gz +# gcc 43 fix +nxcompsh-gcc43.patch +nx-3.5.0-libpng15.patch) +options=(!libtool) +md5sums=('12060433a74ac61a1c776d1d6d136117' + '84c7f1575d9a1506370125ed050514ab' + 'cf38ec1e5a5f6453946cd387c14f2684' + 'ad8c0f133122c6d07732ca69c8759410' + '0a36c7e6a86c6c741179464b8f79c487' + '84ade443b79ea079380b754aba9d392e' + '488bb4d9b8e9f82dc272b4e6e9c57d30' + 'abde2ccc33e31fc695031c2cfb60f3dd' + '90a762dd9eb19c8c97876ad837923857' + 'b6c279654dac421fc3dd1a27d66ff53c' + '2966353cabb96829eab291212ef078dc') + +build() { + cd ${srcdir} + + # nxcomp + cd ${srcdir}/nxcomp + patch -Np1 -i ${srcdir}/nx-3.5.0-libpng15.patch + ./configure --prefix=/opt/NX + make + # nxcompshad + cd ${srcdir}/nxcompshad + ./configure --prefix=/opt/NX + make + # nxcompsh + cd ${srcdir}/nxcompsh + patch -Np1 -i ${srcdir}/nxcompsh-gcc43.patch + ./configure --prefix=/opt/NX + make + # nxproxy + cd ${srcdir}/nxproxy + ./configure --prefix=/opt/NX + make + # nx-X11 + cd ${srcdir}/nx-X11 + make World + # nxcompext + cd ${srcdir}/nxcompext + ./configure --prefix=/opt/NX + make +} + +package() { + mkdir -p ${pkgdir}/opt/NX/bin + mkdir -p ${pkgdir}/opt/NX/lib + + # nxcompshad + cd ${srcdir}/nxcompshad + cp -a libXcompshad.so* ${pkgdir}/opt/NX/lib + # nxproxy + cd ${srcdir}/nxproxy + make prefix=${pkgdir}/opt/NX install + # nx-X11 + cd ${srcdir}/nx-X11 + cp -a lib/X11/libX11.so* ${pkgdir}/opt/NX/lib + cp -a lib/Xext/libXext.so* ${pkgdir}/opt/NX/lib + cp -a lib/Xrender/libXrender.so* ${pkgdir}/opt/NX/lib + install -D -m755 programs/Xserver/nxagent ${pkgdir}/opt/NX/bin/nxagent + install -D -m755 programs/nxauth/nxauth ${pkgdir}/opt/NX/bin/nxauth + # nxcompext + cd ${srcdir}/nxcompext + cp -a libXcompext.so* ${pkgdir}/opt/NX/lib +}
\ No newline at end of file diff --git a/staging/nxserver/nx-3.5.0-libpng15.patch b/staging/nxserver/nx-3.5.0-libpng15.patch new file mode 100644 index 000000000..c8f2a9559 --- /dev/null +++ b/staging/nxserver/nx-3.5.0-libpng15.patch @@ -0,0 +1,30 @@ +diff -ur nxcomp.orig/Pgn.cpp nxcomp/Pgn.cpp +--- nxcomp.orig/Pgn.cpp 2010-03-01 19:18:59.000000000 +0200 ++++ nxcomp/Pgn.cpp 2011-09-13 16:35:12.000000000 +0300 +@@ -414,7 +414,7 @@ + + png_read_info(pngPtr, infoPtr); + +- if (infoPtr -> color_type == PNG_COLOR_TYPE_PALETTE) ++ if (png_get_color_type(pngPtr, infoPtr) == PNG_COLOR_TYPE_PALETTE) + { + png_set_expand(pngPtr); + } +@@ -565,7 +565,7 @@ + + png_read_info( pngPtr, infoPtr ) ; + +- if (infoPtr -> color_type == PNG_COLOR_TYPE_PALETTE) ++ if (png_get_color_type(pngPtr, infoPtr) == PNG_COLOR_TYPE_PALETTE) + { + png_set_expand(pngPtr); + } +@@ -709,7 +709,7 @@ + png_read_info(pngPtr, infoPtr) ; + + +- if (infoPtr -> color_type == PNG_COLOR_TYPE_PALETTE) ++ if (png_get_color_type(pngPtr, infoPtr) == PNG_COLOR_TYPE_PALETTE) + { + png_set_expand(pngPtr); + } diff --git a/staging/nxserver/nxcompsh-gcc43.patch b/staging/nxserver/nxcompsh-gcc43.patch new file mode 100644 index 000000000..681a0dab5 --- /dev/null +++ b/staging/nxserver/nxcompsh-gcc43.patch @@ -0,0 +1,19 @@ +--- nxcompsh/Misc.h~ 2007-06-04 13:39:49.000000000 +0200 ++++ nxcompsh/Misc.h 2008-04-12 12:46:24.000000000 +0200 +@@ -18,10 +18,12 @@ + #ifndef Misc_H + #define Misc_H + +-#include <iostream.h> ++#include <iostream> + +-#include <errno.h> +-#include <string.h> ++#include <cerrno> ++#include <cstring> ++ ++using namespace std; + + // + // Error handling macros. + diff --git a/staging/opencv/PKGBUILD b/staging/opencv/PKGBUILD new file mode 100644 index 000000000..8829b6e70 --- /dev/null +++ b/staging/opencv/PKGBUILD @@ -0,0 +1,119 @@ +# $Id: PKGBUILD 147051 2012-01-21 05:36:50Z schiv $ +# Maintainer: Ray Rashif <schiv@archlinux.org> +# Contributor: Tobias Powalowski <tpowa@archlinux.org> + +pkgbase=opencv +pkgname=('opencv' 'opencv-docs' 'opencv-samples') +_realname=OpenCV +pkgver=2.3.1_a +_realver=2.3.1 +pkgrel=4 +pkgdesc="Open Source Computer Vision Library" +arch=('i686' 'x86_64') +license=('BSD') +url="http://opencv.willowgarage.com/" +depends=('jasper' 'gstreamer0.10-base' 'openexr' + 'gtk2' 'xine-lib' 'libdc1394' 'v4l-utils') +makedepends=('pkg-config' 'cmake' 'python2-numpy' 'eigen2') +optdepends=('opencv-docs' + 'opencv-samples' + 'eigen2' + 'python2-numpy: Python 2.x interface') +options=('!libtool') +source=("http://downloads.sourceforge.net/opencvlibrary/$_realname-${_realver}a.tar.bz2") +md5sums=('82e4b6bfa349777233eea09b075e931e') + +_cmakeopts=('-D CMAKE_BUILD_TYPE=Release' + '-D CMAKE_INSTALL_PREFIX=/usr' + '-D CMAKE_SKIP_RPATH=ON' + '-D BUILD_TESTS=OFF' + '-D ENABLE_SSE=ON' + '-D ENABLE_SSE2=ON' + '-D ENABLE_SSE3=OFF' + '-D ENABLE_SSSE3=OFF' + '-D ENABLE_SSE41=OFF' + '-D ENABLE_SSE42=OFF' + '-D BUILD_EXAMPLES=ON' + '-D INSTALL_C_EXAMPLES=ON' + '-D INSTALL_PYTHON_EXAMPLES=ON' + '-D WITH_XINE=ON' + '-D WITH_QT=OFF' + '-D WITH_QT_OPENGL=OFF' + '-D WITH_UNICAP=OFF' + '-D WITH_PVAPI=OFF' + '-D WITH_OPENNI=OFF' + '-D WITH_TBB=OFF' + '-D WITH_IPP=OFF' + '-D WITH_CUDA=OFF' + '-D USE_FAST_MATH=ON') + +build() { + cd "$srcdir/$_realname-$_realver" + + # x64, i.e "Athlon64" and upwards, can use SSE3 + [ $CARCH = x86_64 ] && \ + _cmakeopts=${_cmakeopts[@]/ENABLE_SSE3=OFF/ENABLE_SSE3=ON} + + cmake ${_cmakeopts[@]} . + + make +} + +package_opencv() { + cd "$srcdir/$_realname-$_realver" + + make DESTDIR="$pkgdir" install + + # install license file + install -Dm644 "$srcdir/$_realname-$_realver/doc/license.txt" \ + "$pkgdir/usr/share/licenses/$pkgname/LICENSE" + + cd "$pkgdir/usr/share" + + # prepare FSH-friendly dirs + if [ -d OpenCV ]; then + mv opencv/samples OpenCV/ + rm -r opencv + mv OpenCV opencv + fi + + # separate docs package; also be -R friendly + [ -d opencv/doc ] && mv opencv/doc "$srcdir/opencv-doc" + + # separate samples package + [ -d opencv/samples ] && mv opencv/samples "$srcdir/opencv-samples" +} + +package_opencv-docs() { + pkgdesc+=" (documentation)" + unset depends + unset optdepends + options=('docs') + + cd "$srcdir" + + mkdir -p "$pkgdir/usr/share/doc" + cp -r opencv-doc "$pkgdir/usr/share/doc/opencv" + + # install license file + install -Dm644 "$srcdir/$_realname-$_realver/doc/license.txt" \ + "$pkgdir/usr/share/licenses/$pkgname/LICENSE" +} + +package_opencv-samples() { + pkgdesc+=" (samples)" + depends=('bash') + unset optdepends + unset options + + cd "$srcdir" + + mkdir -p "$pkgdir/usr/share/opencv" + cp -r opencv-samples "$pkgdir/usr/share/opencv/samples" + + # install license file + install -Dm644 "$srcdir/$_realname-$_realver/doc/license.txt" \ + "$pkgdir/usr/share/licenses/$pkgname/LICENSE" +} + +# vim:set ts=2 sw=2 et: diff --git a/staging/openjdk6/PKGBUILD b/staging/openjdk6/PKGBUILD new file mode 100644 index 000000000..428f10348 --- /dev/null +++ b/staging/openjdk6/PKGBUILD @@ -0,0 +1,183 @@ +# $Id: PKGBUILD 147004 2012-01-20 15:47:29Z andyrtr $ +# Maintainer: Andreas Radke <andyrtr@archlinux.org> +# Contributor: Jan de Groot <jgc@archlinux.org> + +pkgname=('openjdk6' 'openjdk6-src') +pkgbase="openjdk6" +_javaver=6 +_icedteaver=1.10.5 +_openjdk_version=b22 +_openjdk_date=28_feb_2011 +pkgver=${_javaver}.${_openjdk_version}_${_icedteaver} +pkgrel=2 +url='http://icedtea.classpath.org' +arch=('i686' 'x86_64') +license=('custom') +makedepends=('gcc-libs' 'xdg-utils' 'hicolor-icon-theme' 'ca-certificates-java' 'libxtst' 'alsa-lib' 'giflib' 'libxp' 'gtk2' + 'nspr' 'zlib' 'freetype2' 'libjpeg>=8' 'libx11' 'libcups' 'patch' 'xalan-java' 'libxt' 'nss' + 'apache-ant' 'autoconf' 'unzip' 'rhino' 'mercurial' 'zip' 'cpio' 'openjdk6') +options=('!emptydirs') # 'force') # force needed for hg shots +source=(http://icedtea.classpath.org/download/source/icedtea6-${_icedteaver}.tar.gz + http://download.java.net/openjdk/jdk6/promoted/${_openjdk_version}/openjdk-6-src-${_openjdk_version}-${_openjdk_date}.tar.gz + http://icedtea.classpath.org/download/drops/jaxp144_01.zip + http://icedtea.classpath.org/download/drops/jdk6-jaxws-b20.zip + http://icedtea.classpath.org/download/drops/jdk6-jaf-b20.zip + fix_jdk_cmds_path.diff + fix_corba_cmds_path.diff + fontconfig-paths.diff + nonreparenting-wm.diff + openjdk6.profile + openjdk6.profile.csh + glibc2_15.diff) +noextract=(openjdk-6-src-${_openjdk_version}-${_openjdk_date}.tar.gz + jaxp144_01.zip + jdk6-jaxws-b20.zip + jdk6-jaf-b20.zip) +md5sums=('e2316f463b5d9f53f8c5c9020f2a7e5a' + '2d2bbbb0f9b81f1fec41ec730da8a933' + 'ef7a8b3624ea904bf584bc46d79b5e75' + '91adfd41e6f001add4f92ae31216b1e3' + 'bc95c133620bd68c161cac9891592901' + '5da3e39fa60985576c4f37d1491efbe2' + 'f7e7a212e50abb56a6ef1a2b1bd27405' + 'ee1afda124d5927345014ab382ef581e' + '9b4d368f5ee08de248eaf029303a446c' + '74c4a7adc782edd087802bf92ae3d6d0' + 'fdf295e2f186dfa4d308691a3d7ac8c5' + '0c8f0a398c88f85e0db44b4417562cf3') + +build() { + + unset JAVA_HOME + unset CLASSPATH + + [ -z "${ANT_HOME}" ] && . /etc/profile.d/apache-ant.sh + + _javaver=6 + _jvmdir=/usr/lib/jvm/java-${_javaver}-openjdk + + cd ${srcdir}/icedtea6-${_icedteaver} + + ln -s ${srcdir}/openjdk-6-src-${_openjdk_version}-${_openjdk_date}.tar.gz . + + cp ${srcdir}/*.diff ${srcdir}/icedtea6-${_icedteaver}/patches/ + + autoreconf -i + + export DISTRIBUTION_PATCHES="patches/fix_jdk_cmds_path.diff patches/fontconfig-paths.diff patches/fix_corba_cmds_path.diff patches/nonreparenting-wm.diff patches/glibc2_15.diff" + + export ALT_PARALLEL_COMPILE_JOBS="${MAKEFLAGS/-j}" + export HOTSPOT_BUILD_JOBS="${ALT_PARALLEL_COMPILE_JOBS}" + unset MAKEFLAGS + + ./configure --with-parallel-jobs=${HOTSPOT_BUILD_JOBS} \ + --with-xalan2-jar=/usr/share/java/xalan.jar \ + --with-ant-home=/usr/share/java/apache-ant \ + --with-pkgversion=ArchLinux-${pkgver}-${pkgrel}-$CARCH \ + --with-jaxp-drop-zip=${srcdir}/jaxp144_01.zip \ + --with-jaxws-drop-zip=${srcdir}/jdk6-jaxws-b20.zip \ + --with-jaf-drop-zip=${srcdir}/jdk6-jaf-b20.zip \ + --disable-bootstrap + LD_PRELOAD="" make +} + +package_openjdk6() { + pkgdesc='Free Java environment based on OpenJDK 6.0 with IcedTea6 replacing binary plugs.' + backup=(etc/profile.d/openjdk6.sh) + depends=('gcc-libs' 'xdg-utils' 'hicolor-icon-theme' 'ca-certificates-java' 'libxtst' 'libxt' 'nss' 'libjpeg' 'freetype2' 'libxrender' 'libpng>=1.5.7') + optdepends=('icedtea-web: web browser plugin + Java Web Start' + 'alsa-lib: for sound' + 'giflib: for gif format support') + conflicts=('java-environment' 'java-runtime') + provides=('java-environment=6' 'java-runtime=6') + install=openjdk6.install + + if [ "${CARCH}" = "x86_64" ]; then + _arch=amd64 + else + _arch=i586 + fi + + _javaver=6 + _jvmdir=/usr/lib/jvm/java-${_javaver}-openjdk + + cd ${srcdir}/icedtea6-${_icedteaver} + install -m755 -d ${pkgdir}/${_jvmdir}/jre + + pushd ${srcdir}/icedtea6-${_icedteaver}/openjdk.build/j2sdk-image + + # Install main files. + cp -a bin include lib ${pkgdir}/${_jvmdir}/ + cp -a jre/bin jre/lib ${pkgdir}/${_jvmdir}/jre/ + + mv ${pkgdir}/${_jvmdir}/jre/lib/fontconfig.Ubuntu.properties.src \ + ${pkgdir}/${_jvmdir}/jre/lib/fontconfig.properties.src + mv ${pkgdir}/${_jvmdir}/jre/lib/fontconfig.Ubuntu.bfc \ + ${pkgdir}/${_jvmdir}/jre/lib/fontconfig.bfc + rm -f ${pkgdir}/${_jvmdir}/jre/lib/fontconfig.*.bfc + rm -f ${pkgdir}/${_jvmdir}/jre/lib/fontconfig.*.properties.src + + # Install man pages. + install -m755 -d ${pkgdir}/usr/share/man/man1 + install -m644 man/man1/*.1 ${pkgdir}/usr/share/man/man1/ + + # Install demos and samples. + cp -a demo ${pkgdir}/${_jvmdir}/ + install -m755 -d sample/rmi + mv bin/java-rmi.cgi sample/rmi + cp -a sample ${pkgdir}/${_jvmdir}/ + popd + + # Install icons and menu entries. + for s in 16 24 32 48 ; do + install -m755 -d ${pkgdir}/usr/share/icons/hicolor/${s}x${s}/apps + install -m644 openjdk/jdk/src/solaris/classes/sun/awt/X11/java-icon${s}.png \ + ${pkgdir}/usr/share/icons/hicolor/${s}x${s}/apps/java.png + done + + # Install desktop files. + install -m755 -d ${pkgdir}/usr/share/applications + install -m644 {jconsole,policytool}.desktop ${pkgdir}/usr/share/applications + + # link binaries into /usr/bin + install -m755 -d ${pkgdir}/usr/bin + pushd ${pkgdir}/${_jvmdir}/bin + for file in *; do + ln -sf ${_jvmdir}/bin/${file} \ + ${pkgdir}/usr/bin + done + popd + + # link JKS keystore from ca-certificates-java + rm -f ${pkgdir}/${_jvmdir}/jre/lib/security/cacerts + ln -sf /etc/ssl/certs/java/cacerts "${pkgdir}/${_jvmdir}/jre/lib/security/cacerts" + + # set some variables + install -m755 -d ${pkgdir}/etc/profile.d + install -m755 ${srcdir}/openjdk6.profile ${pkgdir}/etc/profile.d/openjdk6.sh + install -m755 ${srcdir}/openjdk6.profile.csh ${pkgdir}/etc/profile.d/openjdk6.csh + + # install license + install -Dm644 ${srcdir}//icedtea6-${_icedteaver}/openjdk/LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE +} + +package_openjdk6-src() { + pkgdesc='Free Java environment based on OpenJDK 6.0 Source Bundle' + depends=('openjdk6') + + if [ "${CARCH}" = "x86_64" ]; then + _arch=amd64 + else + _arch=i586 + fi + + _javaver=6 + _jvmdir=/usr/lib/jvm/java-${_javaver}-openjdk + + cd ${srcdir}/icedtea6-${_icedteaver} + install -m755 -d ${pkgdir}/${_jvmdir}/jre + + pushd ${srcdir}/icedtea6-${_icedteaver}/openjdk.build/j2sdk-image + # Install src.zip file + cp -a src.zip ${pkgdir}/${_jvmdir}/ +} diff --git a/staging/openjdk6/fix_corba_cmds_path.diff b/staging/openjdk6/fix_corba_cmds_path.diff new file mode 100644 index 000000000..842657880 --- /dev/null +++ b/staging/openjdk6/fix_corba_cmds_path.diff @@ -0,0 +1,33 @@ +--- openjdk/corba/make/common/shared/Defs-utils.gmk.old 2008-04-13 13:26:12.000000000 +0300 ++++ openjdk/corba/make/common/shared/Defs-utils.gmk 2008-04-14 15:35:13.000000000 +0300 +@@ -86,10 +86,10 @@ + CHMOD = $(UTILS_COMMAND_PATH)chmod + CMP = $(UTILS_USR_BIN_PATH)cmp + COMM = $(UTILS_USR_BIN_PATH)comm +-COMPRESS = $(UTILS_USR_BIN_PATH)compress ++COMPRESS = $(UTILS_COMMAND_PATH)compress + CP = $(UTILS_COMMAND_PATH)cp + CPIO = $(UTILS_COMMAND_PATH)cpio +-CUT = $(UTILS_USR_BIN_PATH)cut ++CUT = $(UTILS_COMMAND_PATH)cut + DATE = $(UTILS_COMMAND_PATH)date + DF = $(UTILS_COMMAND_PATH)df + DIFF = $(UTILS_USR_BIN_PATH)diff +@@ -136,7 +136,7 @@ + TAR = $(UTILS_COMMAND_PATH)tar + TEST = $(UTILS_USR_BIN_PATH)test + TOUCH = $(UTILS_COMMAND_PATH)touch +-TR = $(UTILS_USR_BIN_PATH)tr ++TR = $(UTILS_COMMAND_PATH)tr + TRUE = $(UTILS_COMMAND_PATH)true + UNAME = $(UTILS_COMMAND_PATH)uname + UNIQ = $(UTILS_USR_BIN_PATH)uniq +@@ -186,7 +186,7 @@ + # others have it in /usr/bin. + SORT=$(firstword $(wildcard $(UTILS_COMMAND_PATH)sort) \ + $(wildcard $(UTILS_USR_BIN_PATH)sort)) +- NAWK = $(USRBIN_PATH)gawk ++ NAWK = $(UTILS_COMMAND_PATH)gawk + # Intrinsic unix command, with backslash-escaped character interpretation + ECHO = /bin/echo -e + # These are really in UTILS_USR_BIN_PATH on Linux (only sccs is not) diff --git a/staging/openjdk6/fix_jdk_cmds_path.diff b/staging/openjdk6/fix_jdk_cmds_path.diff new file mode 100644 index 000000000..7e16e1744 --- /dev/null +++ b/staging/openjdk6/fix_jdk_cmds_path.diff @@ -0,0 +1,33 @@ +--- openjdk/jdk/make/common/shared/Defs-utils.gmk.old 2008-04-13 13:33:23.000000000 +0300 ++++ openjdk/jdk/make/common/shared/Defs-utils.gmk 2008-04-14 15:37:34.000000000 +0300 +@@ -76,10 +76,10 @@ + CHMOD = $(UTILS_COMMAND_PATH)chmod + CMP = $(UTILS_USR_BIN_PATH)cmp + COMM = $(UTILS_USR_BIN_PATH)comm +-COMPRESS = $(UTILS_USR_BIN_PATH)compress ++COMPRESS = $(UTILS_COMMAND_PATH)compress + CP = $(UTILS_COMMAND_PATH)cp + CPIO = $(UTILS_COMMAND_PATH)cpio +-CUT = $(UTILS_USR_BIN_PATH)cut ++CUT = $(UTILS_COMMAND_PATH)cut + DATE = $(UTILS_COMMAND_PATH)date + DF = $(UTILS_COMMAND_PATH)df + DIFF = $(UTILS_USR_BIN_PATH)diff +@@ -126,7 +126,7 @@ + TAR = $(UTILS_COMMAND_PATH)tar + TEST = $(UTILS_USR_BIN_PATH)test + TOUCH = $(UTILS_COMMAND_PATH)touch +-TR = $(UTILS_USR_BIN_PATH)tr ++TR = $(UTILS_COMMAND_PATH)tr + TRUE = $(UTILS_COMMAND_PATH)true + UNAME = $(UTILS_COMMAND_PATH)uname + UNIQ = $(UTILS_USR_BIN_PATH)uniq +@@ -173,7 +173,7 @@ + BASENAME=$(firstword $(wildcard $(UTILS_COMMAND_PATH)basename) \ + $(wildcard $(UTILS_USR_BIN_PATH)basename)) + +- NAWK = $(USRBIN_PATH)gawk ++ NAWK = $(UTILS_COMMAND_PATH)gawk + # Intrinsic unix command, with backslash-escaped character interpretation + ECHO = /bin/echo -e + # These are really in UTILS_USR_BIN_PATH on Linux (only sccs is not) diff --git a/staging/openjdk6/fontconfig-paths.diff b/staging/openjdk6/fontconfig-paths.diff new file mode 100644 index 000000000..fa08db629 --- /dev/null +++ b/staging/openjdk6/fontconfig-paths.diff @@ -0,0 +1,134 @@ +--- openjdk/jdk/src/solaris/classes/sun/awt/fontconfigs/linux.fontconfig.Ubuntu.properties 2009-05-29 22:45:23.024341869 +0000 ++++ openjdk/jdk/src/solaris/classes/sun/awt/fontconfigs/linux.fontconfig.Ubuntu.properties.new 2009-05-29 22:55:13.681366890 +0000 +@@ -275,73 +275,61 @@ + + # Font File Names + +-filename.DejaVu_Sans=/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf +-filename.DejaVu_Sans_Bold=/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-Bold.ttf +-filename.DejaVu_Sans_Oblique=/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-Oblique.ttf +-filename.DejaVu_Sans_Bold_Oblique=/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-BoldOblique.ttf +- +-filename.DejaVu_Sans_Mono=/usr/share/fonts/truetype/ttf-dejavu/DejaVuSansMono.ttf +-filename.DejaVu_Sans_Mono_Bold=/usr/share/fonts/truetype/ttf-dejavu/DejaVuSansMono-Bold.ttf +-filename.DejaVu_Sans_Mono_Oblique=/usr/share/fonts/truetype/ttf-dejavu/DejaVuSansMono-Oblique.ttf +-filename.DejaVu_Sans_Mono_Bold_Oblique=/usr/share/fonts/truetype/ttf-dejavu/DejaVuSansMono-BoldOblique.ttf +- +-filename.DejaVu_Serif=/usr/share/fonts/truetype/ttf-dejavu/DejaVuSerif.ttf +-filename.DejaVu_Serif_Bold=/usr/share/fonts/truetype/ttf-dejavu/DejaVuSerif-Bold.ttf +-filename.DejaVu_Serif_Oblique=/usr/share/fonts/truetype/ttf-dejavu/DejaVuSerif-Oblique.ttf +-filename.DejaVu_Serif_Bold_Oblique=/usr/share/fonts/truetype/ttf-dejavu/DejaVuSerif-BoldOblique.ttf +- +-filename.AR_PL_UMing_CN=/usr/share/fonts/truetype/arphic/uming.ttc +-filename.AR_PL_UMing_HK=/usr/share/fonts/truetype/arphic/uming.ttc +-filename.AR_PL_UMing_TW=/usr/share/fonts/truetype/arphic/uming.ttc +-filename.AR_PL_ShanHeiSun_Uni=/usr/share/fonts/truetype/arphic/uming.ttf +- +-filename.WenQuanYi_Zen_Hei=/usr/share/fonts/truetype/wqy/wqy-zenhei.ttf +-filename.Baekmuk_Batang=/usr/share/fonts/truetype/baekmuk/batang.ttf +-filename.UnBatang=/usr/share/fonts/truetype/unfonts/UnBatang.ttf +-filename.UnBatang_Bold=/usr/share/fonts/truetype/unfonts/UnBatangBold.ttf +-filename.Baekmuk_Gulim=/usr/share/fonts/truetype/baekmuk/gulim.ttf +-filename.UnDotum=/usr/share/fonts/truetype/unfonts/UnDotum.ttf +-filename.UnDotum_Bold=/usr/share/fonts/truetype/unfonts/UnDotumBold.ttf +-filename.Kochi_Gothic=/usr/share/fonts/truetype/kochi/kochi-gothic.ttf +-filename.Sazanami_Gothic=/usr/share/fonts/truetype/sazanami/sazanami-gothic.ttf +-filename.Kochi_Mincho=/usr/share/fonts/truetype/kochi/kochi-mincho.ttf +-filename.Sazanami_Mincho=/usr/share/fonts/truetype/sazanami/sazanami-mincho.ttf +-filename.VL_Gothic=/usr/share/fonts/truetype/vlgothic/VL-Gothic-Regular.ttf +-filename.VL_PGothic=/usr/share/fonts/truetype/vlgothic/VL-PGothic-Regular.ttf +- +-filename.Lohit_Bengali=/usr/share/fonts/truetype/ttf-bengali-fonts/lohit_bn.ttf +-filename.Lohit_Gujarati=/usr/share/fonts/truetype/ttf-indic-fonts-core/lohit_gu.ttf +-filename.Lohit_Hindi=/usr/share/fonts/truetype/ttf-indic-fonts-core/lohit_hi.ttf +-filename.Lohit_Kannda=/usr/share/fonts/truetype/ttf-kannada-fonts/lohit_kn.ttf +-#filename.Lohit_Malayalam=/usr/share/fonts/lohit-malayalam/lohit_ml.ttf +-filename.Lohit_Oriya=/usr/share/fonts/truetype/ttf-oriya-fonts/lohit_or.ttf +-filename.Lohit_Punjabi=/usr/share/fonts/truetype/ttf-indic-fonts-core/lohit_pa.ttf +-filename.Lohit_Tamil=/usr/share/fonts/truetype/ttf-indic-fonts-core/lohit_ta.ttf +-filename.Lohit_Telugu=/usr/share/fonts/truetype/ttf-telugu-fonts/lohit_te.ttf +-filename.LKLUG=/usr/share/fonts/truetype/ttf-sinhala-lklug/lklug.ttf +- +-filename.LuxiSans-Regular=/usr/share/fonts/truetype/ttf-xfree86-nonfree/luxisr.ttf +-filename.LuxiSans-Bold=/usr/share/fonts/truetype/ttf-xfree86-nonfree/luxisb.ttf +-filename.LuxiSans-Oblique=/usr/share/fonts/truetype/ttf-xfree86-nonfree/luxisri.ttf +-filename.LuxiSans-BoldOblique=/usr/share/fonts/truetype/ttf-xfree86-nonfree/luxisbi.ttf +-filename.LuxiMono-Regular=/usr/share/fonts/truetype/ttf-xfree86-nonfree/luximr.ttf +-filename.LuxiMono-Bold=/usr/share/fonts/truetype/ttf-xfree86-nonfree/luximb.ttf +-filename.LuxiMono-Oblique=/usr/share/fonts/truetype/ttf-xfree86-nonfree/luximri.ttf +-filename.LuxiMono-BoldOblique=/usr/share/fonts/truetype/ttf-xfree86-nonfree/luximbi.ttf +-filename.LuxiSerif-Regular=/usr/share/fonts/truetype/ttf-xfree86-nonfree/luxirr.ttf +-filename.LuxiSerif-Bold=/usr/share/fonts/truetype/ttf-xfree86-nonfree/luxirb.ttf +-filename.LuxiSerif-Oblique=/usr/share/fonts/truetype/ttf-xfree86-nonfree/luxirri.ttf +-filename.LuxiSerif-BoldOblique=/usr/share/fonts/truetype/ttf-xfree86-nonfree/luxirbi.ttf +- +-# AWT X11 font paths +-awtfontpath.latin-1=/usr/share/fonts/X11/Type1 +-awtfontpath.umingcn=/usr/share/fonts/truetype/arphic +-awtfontpath.uminghk=/usr/share/fonts/truetype/arphic +-awtfontpath.umingtw=/usr/share/fonts/truetype/arphic +-awtfontpath.shanheisun=/usr/share/fonts/truetype/arphic +-awtfontpath.wqy-zenhei=/usr/share/fonts/truetype/wqy +-awtfontpath.japanese-kochi=/usr/share/fonts/truetype/kochi +-awtfontpath.japanese-sazanami=/usr/share/fonts/truetype/sazanami +-awtfontpath.japanese-vlgothic=/usr/share/fonts/truetype/vlgothic +-awtfontpath.korean-baekmuk=/usr/share/fonts/truetype/baekmuk +-awtfontpath.korean-un=/usr/share/fonts/truetype/unfonts ++filename.DejaVu_Sans=/usr/share/fonts/TTF/DejaVuSans.ttf ++filename.DejaVu_Sans_Bold=/usr/share/fonts/TTF/DejaVuSans-Bold.ttf ++filename.DejaVu_Sans_Oblique=/usr/share/fonts/TTF/DejaVuSans-Oblique.ttf ++filename.DejaVu_Sans_Bold_Oblique=/usr/share/fonts/TTF/DejaVuSans-BoldOblique.ttf ++ ++filename.DejaVu_Sans_Mono=/usr/share/fonts/TTF/DejaVuSansMono.ttf ++filename.DejaVu_Sans_Mono_Bold=/usr/share/fonts/TTF/DejaVuSansMono-Bold.ttf ++filename.DejaVu_Sans_Mono_Oblique=/usr/share/fonts/TTF/DejaVuSansMono-Oblique.ttf ++filename.DejaVu_Sans_Mono_Bold_Oblique=/usr/share/fonts/TTF/DejaVuSansMono-BoldOblique.ttf ++ ++filename.DejaVu_Serif=/usr/share/fonts/TTF/DejaVuSerif.ttf ++filename.DejaVu_Serif_Bold=/usr/share/fonts/TTF/DejaVuSerif-Bold.ttf ++filename.DejaVu_Serif_Oblique=/usr/share/fonts/TTF/DejaVuSerif-Oblique.ttf ++filename.DejaVu_Serif_Bold_Oblique=/usr/share/fonts/TTF/DejaVuSerif-BoldOblique.ttf ++ ++filename.AR_PL_UMing_CN=/usr/share/fonts/TTF/uming.ttc ++filename.AR_PL_UMing_HK=/usr/share/fonts/TTF/uming.ttc ++filename.AR_PL_UMing_TW=/usr/share/fonts/TTF/uming.ttc ++filename.AR_PL_ShanHeiSun_Uni=/usr/share/TTF/uming.ttf ++ ++filename.WenQuanYi_Zen_Hei=/usr/share/fonts/TTF/wqy-zenhei.ttf ++filename.Baekmuk_Batang=/usr/share/fonts/TTF/batang.ttf ++filename.UnBatang=/usr/share/fonts/TTF/UnBatang.ttf ++filename.UnBatang_Bold=/usr/share/fonts/TTF/UnBatangBold.ttf ++filename.Baekmuk_Gulim=/usr/share/fonts/TTF/gulim.ttf ++filename.UnDotum=/usr/share/fonts/TTF/UnDotum.ttf ++filename.UnDotum_Bold=/usr/share/fonts/TTF/UnDotumBold.ttf ++filename.Kochi_Gothic=/usr/share/fonts/TTF/kochi-gothic.ttf ++filename.Sazanami_Gothic=/usr/share/fonts/TTF/sazanami-gothic.ttf ++filename.Kochi_Mincho=/usr/share/fonts/TTF/kochi-mincho.ttf ++filename.Sazanami_Mincho=/usr/share/fonts/TTF/sazanami-mincho.ttf ++filename.VL_Gothic=/usr/share/fonts/TTF/VL-Gothic-Regular.ttf ++filename.VL_PGothic=/usr/share/fonts/TTF/VL-PGothic-Regular.ttf ++ ++filename.Lohit_Bengali=/usr/share/fonts/TTF/lohit_bn.ttf ++filename.Lohit_Gujarati=/usr/share/fonts/TTF/lohit_gu.ttf ++filename.Lohit_Hindi=/usr/share/fonts/TTF/lohit_hi.ttf ++filename.Lohit_Kannda=/usr/share/fonts/TTF/lohit_kn.ttf ++#filename.Lohit_Malayalam=/usr/share/fonts/TTF/lohit_ml.ttf ++filename.Lohit_Oriya=/usr/share/fonts/TTF/lohit_or.ttf ++filename.Lohit_Punjabi=/usr/share/fonts/TTF/lohit_pa.ttf ++filename.Lohit_Tamil=/usr/share/fonts/TTF/lohit_ta.ttf ++filename.Lohit_Telugu=/usr/share/fonts/TTF/lohit_te.ttf ++filename.LKLUG=/usr/share/fonts/TTF/lklug.ttf ++ ++filename.LuxiSans-Regular=/usr/share/fonts/TTF/luxisr.ttf ++filename.LuxiSans-Bold=/usr/share/fonts/TTF/luxisb.ttf ++filename.LuxiSans-Oblique=/usr/share/fonts/TTF/luxisri.ttf ++filename.LuxiSans-BoldOblique=/usr/share/fonts/TTF/luxisbi.ttf ++filename.LuxiMono-Regular=/usr/share/fonts/TTF/luximr.ttf ++filename.LuxiMono-Bold=/usr/share/fonts/TTF/luximb.ttf ++filename.LuxiMono-Oblique=/usr/share/fonts/TTF/luximri.ttf ++filename.LuxiMono-BoldOblique=/usr/share/fonts/TTF/luximbi.ttf ++filename.LuxiSerif-Regular=/usr/share/fonts/TTF/luxirr.ttf ++filename.LuxiSerif-Bold=/usr/share/fonts/TTF/luxirb.ttf ++filename.LuxiSerif-Oblique=/usr/share/fonts/TTF/luxirri.ttf ++filename.LuxiSerif-BoldOblique=/usr/share/fonts/TTF/luxirbi.ttf ++ diff --git a/staging/openjdk6/glibc2_15.diff b/staging/openjdk6/glibc2_15.diff new file mode 100644 index 000000000..8fe1b077a --- /dev/null +++ b/staging/openjdk6/glibc2_15.diff @@ -0,0 +1,236 @@ +# HG changeset patch +# User never +# Date 1319555835 25200 +# Node ID a6eef545f1a2ceca6aeadf688a965df600ffef28 +# Parent 2ec638646e86e455978c31a9d47fc0ec271ed926 +7103224: collision between __LEAF define in interfaceSupport.hpp and /usr/include/sys/cdefs.h with gcc +Reviewed-by: never +Contributed-by: Omair Majid <omajid@redhat.com> + +diff -r 2ec638646e86 -r a6eef545f1a2 src/share/vm/opto/addnode.cpp +--- openjdk/hotspot/src/share/vm/opto/addnode.cpp Tue Oct 25 04:07:20 2011 -0700 ++++ openjdk/hotspot/src/share/vm/opto/addnode.cpp Tue Oct 25 08:17:15 2011 -0700 +@@ -34,8 +34,6 @@ + + // Portions of code courtesy of Clifford Click + +-#define MAXFLOAT ((float)3.40282346638528860e+38) +- + // Classic Add functionality. This covers all the usual 'add' behaviors for + // an algebraic ring. Add-integer, add-float, add-double, and binary-or are + // all inherited from this class. The various identity values are supplied +diff -r 2ec638646e86 -r a6eef545f1a2 src/share/vm/prims/jniCheck.cpp +--- openjdk/hotspot/src/share/vm/prims/jniCheck.cpp Tue Oct 25 04:07:20 2011 -0700 ++++ openjdk/hotspot/src/share/vm/prims/jniCheck.cpp Tue Oct 25 08:17:15 2011 -0700 +@@ -107,7 +107,7 @@ + if (env != xenv) { \ + NativeReportJNIFatalError(thr, warn_wrong_jnienv); \ + } \ +- __ENTRY(result_type, header, thr) ++ VM_ENTRY_BASE(result_type, header, thr) + + + #define UNCHECKED() (unchecked_jni_NativeInterface) +diff -r 2ec638646e86 -r a6eef545f1a2 src/share/vm/prims/jvmtiEnter.xsl +--- openjdk/hotspot/src/share/vm/prims/jvmtiEnter.xsl Tue Oct 25 04:07:20 2011 -0700 ++++ openjdk/hotspot/src/share/vm/prims/jvmtiEnter.xsl Tue Oct 25 08:17:15 2011 -0700 +@@ -426,7 +426,7 @@ + <xsl:value-of select="$space"/> + <xsl:text>ThreadInVMfromNative __tiv(current_thread);</xsl:text> + <xsl:value-of select="$space"/> +- <xsl:text>__ENTRY(jvmtiError, </xsl:text> ++ <xsl:text>VM_ENTRY_BASE(jvmtiError, </xsl:text> + <xsl:apply-templates select="." mode="functionid"/> + <xsl:text> , current_thread)</xsl:text> + <xsl:value-of select="$space"/> +diff -r 2ec638646e86 -r a6eef545f1a2 src/share/vm/prims/jvmtiEnv.cpp +--- openjdk/hotspot/src/share/vm/prims/jvmtiEnv.cpp Tue Oct 25 04:07:20 2011 -0700 ++++ openjdk/hotspot/src/share/vm/prims/jvmtiEnv.cpp Tue Oct 25 08:17:15 2011 -0700 +@@ -173,7 +173,7 @@ + // from native so as to resolve the jthread. + + ThreadInVMfromNative __tiv(current_thread); +- __ENTRY(jvmtiError, JvmtiEnv::GetThreadLocalStorage , current_thread) ++ VM_ENTRY_BASE(jvmtiError, JvmtiEnv::GetThreadLocalStorage , current_thread) + debug_only(VMNativeEntryWrapper __vew;) + + oop thread_oop = JNIHandles::resolve_external_guard(thread); +diff -r 2ec638646e86 -r a6eef545f1a2 src/share/vm/prims/jvmtiExport.cpp +--- openjdk/hotspot/src/share/vm/prims/jvmtiExport.cpp Tue Oct 25 04:07:20 2011 -0700 ++++ openjdk/hotspot/src/share/vm/prims/jvmtiExport.cpp Tue Oct 25 08:17:15 2011 -0700 +@@ -373,7 +373,7 @@ + JavaThread* current_thread = (JavaThread*) ThreadLocalStorage::thread(); + // transition code: native to VM + ThreadInVMfromNative __tiv(current_thread); +- __ENTRY(jvmtiEnv*, JvmtiExport::get_jvmti_interface, current_thread) ++ VM_ENTRY_BASE(jvmtiEnv*, JvmtiExport::get_jvmti_interface, current_thread) + debug_only(VMNativeEntryWrapper __vew;) + + JvmtiEnv *jvmti_env = JvmtiEnv::create_a_jvmti(version); +diff -r 2ec638646e86 -r a6eef545f1a2 src/share/vm/runtime/interfaceSupport.hpp +--- openjdk/hotspot/src/share/vm/runtime/interfaceSupport.hpp Tue Oct 25 04:07:20 2011 -0700 ++++ openjdk/hotspot/src/share/vm/runtime/interfaceSupport.hpp Tue Oct 25 08:17:15 2011 -0700 +@@ -72,9 +72,9 @@ + } + }; + +-// InterfaceSupport provides functionality used by the __LEAF and __ENTRY +-// macros. These macros are used to guard entry points into the VM and +-// perform checks upon leave of the VM. ++// InterfaceSupport provides functionality used by the VM_LEAF_BASE and ++// VM_ENTRY_BASE macros. These macros are used to guard entry points into ++// the VM and perform checks upon leave of the VM. + + + class InterfaceSupport: AllStatic { +@@ -433,7 +433,7 @@ + + // LEAF routines do not lock, GC or throw exceptions + +-#define __LEAF(result_type, header) \ ++#define VM_LEAF_BASE(result_type, header) \ + TRACE_CALL(result_type, header) \ + debug_only(NoHandleMark __hm;) \ + /* begin of body */ +@@ -441,7 +441,7 @@ + + // ENTRY routines may lock, GC and throw exceptions + +-#define __ENTRY(result_type, header, thread) \ ++#define VM_ENTRY_BASE(result_type, header, thread) \ + TRACE_CALL(result_type, header) \ + HandleMarkCleaner __hm(thread); \ + Thread* THREAD = thread; \ +@@ -450,7 +450,7 @@ + + // QUICK_ENTRY routines behave like ENTRY but without a handle mark + +-#define __QUICK_ENTRY(result_type, header, thread) \ ++#define VM_QUICK_ENTRY_BASE(result_type, header, thread) \ + TRACE_CALL(result_type, header) \ + debug_only(NoHandleMark __hm;) \ + Thread* THREAD = thread; \ +@@ -463,20 +463,20 @@ + #define IRT_ENTRY(result_type, header) \ + result_type header { \ + ThreadInVMfromJava __tiv(thread); \ +- __ENTRY(result_type, header, thread) \ ++ VM_ENTRY_BASE(result_type, header, thread) \ + debug_only(VMEntryWrapper __vew;) + + + #define IRT_LEAF(result_type, header) \ + result_type header { \ +- __LEAF(result_type, header) \ ++ VM_LEAF_BASE(result_type, header) \ + debug_only(No_Safepoint_Verifier __nspv(true);) + + + #define IRT_ENTRY_NO_ASYNC(result_type, header) \ + result_type header { \ + ThreadInVMfromJavaNoAsyncException __tiv(thread); \ +- __ENTRY(result_type, header, thread) \ ++ VM_ENTRY_BASE(result_type, header, thread) \ + debug_only(VMEntryWrapper __vew;) + + // Another special case for nmethod_entry_point so the nmethod that the +@@ -487,7 +487,7 @@ + result_type header { \ + nmethodLocker _nmlock(nm); \ + ThreadInVMfromJavaNoAsyncException __tiv(thread); \ +- __ENTRY(result_type, header, thread) ++ VM_ENTRY_BASE(result_type, header, thread) + + #define IRT_END } + +@@ -497,20 +497,20 @@ + #define JRT_ENTRY(result_type, header) \ + result_type header { \ + ThreadInVMfromJava __tiv(thread); \ +- __ENTRY(result_type, header, thread) \ ++ VM_ENTRY_BASE(result_type, header, thread) \ + debug_only(VMEntryWrapper __vew;) + + + #define JRT_LEAF(result_type, header) \ + result_type header { \ +- __LEAF(result_type, header) \ ++ VM_LEAF_BASE(result_type, header) \ + debug_only(JRT_Leaf_Verifier __jlv;) + + + #define JRT_ENTRY_NO_ASYNC(result_type, header) \ + result_type header { \ + ThreadInVMfromJavaNoAsyncException __tiv(thread); \ +- __ENTRY(result_type, header, thread) \ ++ VM_ENTRY_BASE(result_type, header, thread) \ + debug_only(VMEntryWrapper __vew;) + + // Same as JRT Entry but allows for return value after the safepoint +@@ -543,11 +543,11 @@ + assert( !VerifyJNIEnvThread || (thread == Thread::current()), "JNIEnv is only valid in same thread"); \ + ThreadInVMfromNative __tiv(thread); \ + debug_only(VMNativeEntryWrapper __vew;) \ +- __ENTRY(result_type, header, thread) ++ VM_ENTRY_BASE(result_type, header, thread) + + + // Ensure that the VMNativeEntryWrapper constructor, which can cause +-// a GC, is called outside the NoHandleMark (set via __QUICK_ENTRY). ++// a GC, is called outside the NoHandleMark (set via VM_QUICK_ENTRY_BASE). + #define JNI_QUICK_ENTRY(result_type, header) \ + extern "C" { \ + result_type JNICALL header { \ +@@ -555,7 +555,7 @@ + assert( !VerifyJNIEnvThread || (thread == Thread::current()), "JNIEnv is only valid in same thread"); \ + ThreadInVMfromNative __tiv(thread); \ + debug_only(VMNativeEntryWrapper __vew;) \ +- __QUICK_ENTRY(result_type, header, thread) ++ VM_QUICK_ENTRY_BASE(result_type, header, thread) + + + #define JNI_LEAF(result_type, header) \ +@@ -563,7 +563,7 @@ + result_type JNICALL header { \ + JavaThread* thread=JavaThread::thread_from_jni_environment(env); \ + assert( !VerifyJNIEnvThread || (thread == Thread::current()), "JNIEnv is only valid in same thread"); \ +- __LEAF(result_type, header) ++ VM_LEAF_BASE(result_type, header) + + + // Close the routine and the extern "C" +@@ -579,7 +579,7 @@ + JavaThread* thread=JavaThread::thread_from_jni_environment(env); \ + ThreadInVMfromNative __tiv(thread); \ + debug_only(VMNativeEntryWrapper __vew;) \ +- __ENTRY(result_type, header, thread) ++ VM_ENTRY_BASE(result_type, header, thread) + + + #define JVM_ENTRY_NO_ENV(result_type, header) \ +@@ -588,7 +588,7 @@ + JavaThread* thread = (JavaThread*)ThreadLocalStorage::thread(); \ + ThreadInVMfromNative __tiv(thread); \ + debug_only(VMNativeEntryWrapper __vew;) \ +- __ENTRY(result_type, header, thread) ++ VM_ENTRY_BASE(result_type, header, thread) + + + #define JVM_QUICK_ENTRY(result_type, header) \ +@@ -597,14 +597,14 @@ + JavaThread* thread=JavaThread::thread_from_jni_environment(env); \ + ThreadInVMfromNative __tiv(thread); \ + debug_only(VMNativeEntryWrapper __vew;) \ +- __QUICK_ENTRY(result_type, header, thread) ++ VM_QUICK_ENTRY_BASE(result_type, header, thread) + + + #define JVM_LEAF(result_type, header) \ + extern "C" { \ + result_type JNICALL header { \ + VM_Exit::block_if_vm_exited(); \ +- __LEAF(result_type, header) ++ VM_LEAF_BASE(result_type, header) + + + #define JVM_END } }
\ No newline at end of file diff --git a/staging/openjdk6/nonreparenting-wm.diff b/staging/openjdk6/nonreparenting-wm.diff new file mode 100644 index 000000000..65fa66e89 --- /dev/null +++ b/staging/openjdk6/nonreparenting-wm.diff @@ -0,0 +1,60 @@ +diff --git a/jdk/src/solaris/classes/sun/awt/X11/XWM.java b/jdk/src/solaris/classes/sun/awt/X11/XWM.java +index 68d1ff7..878327e 100644 +--- openjdk/jdk/src/solaris/classes/sun/awt/X11/XWM.java ++++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XWM.java +@@ -99,7 +99,8 @@ + METACITY_WM = 11, + COMPIZ_WM = 12, + LG3D_WM = 13, +- MUTTER_WM = 14; ++ MUTTER_WM = 14, ++ OTHER_NONREPARENTING_WM = 15; + public String toString() { + switch (WMID) { + case NO_WM: +@@ -564,7 +567,7 @@ class XWM implements MWMConstants, XUtilConstants { + } + + static boolean isNonReparentingWM() { +- return (XWM.getWMID() == XWM.COMPIZ_WM || XWM.getWMID() == XWM.LG3D_WM); ++ return (XWM.getWMID() == XWM.COMPIZ_WM || XWM.getWMID() == XWM.LG3D_WM || XWM.getWMID() == XWM.OTHER_NONREPARENTING_WM); + } + + /* +@@ -764,9 +767,17 @@ class XWM implements MWMConstants, XUtilConstants { + * supports WIN or _NET wm spec. + */ + else if (l_net_protocol.active()) { +- awt_wmgr = XWM.OTHER_WM; ++ if (XToolkit.getEnv("_JAVA_AWT_WM_NONREPARENTING") != null) { ++ awt_wmgr = XWM.OTHER_NONREPARENTING_WM; ++ } else { ++ awt_wmgr = XWM.OTHER_WM; ++ } + } else if (win.active()) { +- awt_wmgr = XWM.OTHER_WM; ++ if (XToolkit.getEnv("_JAVA_AWT_WM_NONREPARENTING") != null) { ++ awt_wmgr = XWM.OTHER_NONREPARENTING_WM; ++ } else { ++ awt_wmgr = XWM.OTHER_WM; ++ } + } + /* + * Check for legacy WMs. +@@ -777,6 +788,8 @@ class XWM implements MWMConstants, XUtilConstants { + awt_wmgr = XWM.MOTIF_WM; + } else if (isOpenLook()) { + awt_wmgr = XWM.OPENLOOK_WM; ++ } else if (XToolkit.getEnv("_JAVA_AWT_WM_NONREPARENTING") != null) { ++ awt_wmgr = XWM.OTHER_NONREPARENTING_WM; + } else { + awt_wmgr = XWM.OTHER_WM; + } +@@ -1298,6 +1311,7 @@ class XWM implements MWMConstants, XUtilConstants { + res = new Insets(28, 6, 6, 6); + break; + case NO_WM: ++ case OTHER_NONREPARENTING_WM: + case LG3D_WM: + res = zeroInsets; + break; diff --git a/staging/openjdk6/openjdk6.install b/staging/openjdk6/openjdk6.install new file mode 100644 index 000000000..653c8fe2f --- /dev/null +++ b/staging/openjdk6/openjdk6.install @@ -0,0 +1,24 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor 2> /dev/null + if [ ! -f /etc/ssl/certs/java/cacerts ]; then + /usr/sbin/init-jks-keystore + fi + echo "when you use a non-reparenting window manager" + echo "set _JAVA_AWT_WM_NONREPARENTING=1 in" + echo "/etc/profile.d/openjdk6.sh" +# update-desktop-database -q +} + +post_upgrade() { + xdg-icon-resource forceupdate --theme hicolor 2> /dev/null + if [ ! -f /etc/ssl/certs/java/cacerts ]; then + /usr/sbin/init-jks-keystore + fi +# update-desktop-database -q +} + + +post_remove() { + xdg-icon-resource forceupdate --theme hicolor 2> /dev/null +# update-desktop-database -q +} diff --git a/staging/openjdk6/openjdk6.profile b/staging/openjdk6/openjdk6.profile new file mode 100644 index 000000000..9da4421ef --- /dev/null +++ b/staging/openjdk6/openjdk6.profile @@ -0,0 +1,6 @@ +export J2SDKDIR=/usr/lib/jvm/java-6-openjdk +export J2REDIR=$J2SDKDIR/jre +export JAVA_HOME=/usr/lib/jvm/java-6-openjdk + +# enable this for non-reparenting window managers +#export _JAVA_AWT_WM_NONREPARENTING=1 diff --git a/staging/openjdk6/openjdk6.profile.csh b/staging/openjdk6/openjdk6.profile.csh new file mode 100644 index 000000000..3cb15fd49 --- /dev/null +++ b/staging/openjdk6/openjdk6.profile.csh @@ -0,0 +1,6 @@ +setenv J2SDKDIR "/usr/lib/jvm/java-6-openjdk" +setenv J2REDIR "$J2SDKDIR/jre" +setenv JAVA_HOME "/usr/lib/jvm/java-6-openjdk" + +# enable this for non-reparenting window managers +#setenv _JAVA_AWT_WM_NONREPARENTING 1 diff --git a/staging/perl-tk/PKGBUILD b/staging/perl-tk/PKGBUILD new file mode 100644 index 000000000..5e195a545 --- /dev/null +++ b/staging/perl-tk/PKGBUILD @@ -0,0 +1,41 @@ +# $Id: PKGBUILD 146993 2012-01-20 05:40:57Z eric $ +# Maintainer: François Charette <francois ατ archlinux δοτ org> +# Contributor: Jason Chu <jchu@xentac.net> +# Contributor: Juergen Hoetzel <juergen@archlinux.org> + +pkgname=perl-tk +_cpanname=Tk +pkgver=804.030 +pkgrel=2 +pkgdesc="A graphical user interface toolkit for Perl" +arch=('i686' 'x86_64') +url="http://search.cpan.org/dist/${_cpanname}" +license=('PerlArtistic' 'GPL' 'custom') +depends=('libpng' 'libjpeg' 'tk' 'perl') +options=('!emptydirs') +replaces=('perltk') +provides=('perltk') +source=(http://www.cpan.org/authors/id/S/SR/SREZIC/${_cpanname}-${pkgver}.tar.gz) +md5sums=('13275e85f99ee467a86d9598a437abff') + +build() { + cd "$srcdir/${_cpanname}-$pkgver" + PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor + make +} + +#check() { +# cd "$srcdir/${_cpanname}-$pkgver" +# make test +#} + +package() { + cd "$srcdir/${_cpanname}-$pkgver" + make install DESTDIR="$pkgdir" + + # license + install -D -m644 pTk/license.terms \ + "${pkgdir}/usr/share/licenses/${pkgname}/tk.license" + install -D -m644 pTk/Tix.license \ + "${pkgdir}/usr/share/licenses/${pkgname}/tix.license" +} diff --git a/staging/poppler/PKGBUILD b/staging/poppler/PKGBUILD new file mode 100644 index 000000000..a34a01a83 --- /dev/null +++ b/staging/poppler/PKGBUILD @@ -0,0 +1,83 @@ +# $Id: PKGBUILD 147049 2012-01-21 04:25:49Z eric $ +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgbase=poppler +pkgname=('poppler' 'poppler-glib' 'poppler-qt') +pkgver=0.18.2 +pkgrel=2 +arch=(i686 x86_64) +license=('GPL') +makedepends=('libjpeg' 'gcc-libs' 'cairo' 'fontconfig' 'openjpeg' 'gtk2' 'qt' 'pkgconfig' 'lcms' 'gobject-introspection') +options=('!libtool' '!emptydirs') +url="http://poppler.freedesktop.org/" +_testtag=0d2bfd4af4c76a3bac27ccaff793d9129df7b57a +source=(http://poppler.freedesktop.org/${pkgbase}-${pkgver}.tar.gz + http://cgit.freedesktop.org/poppler/test/snapshot/test-${_testtag}.tar.bz2 + git-fixes.patch) +md5sums=('38616927823ef01937aab26872e957e4' + '9dc64c254a31e570507bdd4ad4ba629a' + 'af56b7b1b24a08f7498a0c7f5e862b93') + +build() { + cd "${srcdir}/${pkgbase}-${pkgver}" + sed -i -e '/AC_PATH_XTRA/d' configure.ac + patch -Np1 -i "${srcdir}/git-fixes.patch" + + autoreconf -fi + + ./configure --prefix=/usr --sysconfdir=/etc \ + --localstatedir=/var --disable-static \ + --enable-cairo-output \ + --enable-xpdf-headers \ + --enable-libjpeg --enable-zlib \ + --enable-poppler-qt4 \ + --enable-poppler-glib + make +} + +check() { + cd "${srcdir}" + ln -sf test-${_testtag} test + cd ${pkgbase}-${pkgver} + LANG=en_US.UTF8 make check +} + +package_poppler() { + pkgdesc="PDF rendering library based on xpdf 3.0" + depends=('libjpeg' 'gcc-libs' 'cairo' 'fontconfig' 'openjpeg' 'lcms' 'poppler-data') + conflicts=("poppler-qt3<${pkgver}") + + cd "${srcdir}/${pkgbase}-${pkgver}" + sed -e 's/^glib_subdir =.*/glib_subdir =/' \ + -e 's/^qt4_subdir =.*/qt4_subdir =/' -i Makefile + make DESTDIR="${pkgdir}" install + + rm -f "${pkgdir}"/usr/lib/pkgconfig/poppler-{glib,qt4}.pc +} + +package_poppler-glib() { + pkgdesc="Poppler glib bindings" + depends=("poppler=${pkgver}" 'glib2') + + cd "${srcdir}/${pkgbase}-${pkgver}/poppler" + make DESTDIR="${pkgdir}" install-libLTLIBRARIES + cd "${srcdir}/${pkgbase}-${pkgver}/glib" + make DESTDIR="${pkgdir}" install + install -m755 -d "${pkgdir}/usr/lib/pkgconfig" + install -m644 ../poppler-glib.pc "${pkgdir}/usr/lib/pkgconfig/" + rm -f "${pkgdir}"/usr/lib/libpoppler.* + rm -f "${pkgdir}/usr/bin/poppler-glib-demo" +} + +package_poppler-qt() { + pkgdesc="Poppler Qt bindings" + depends=("poppler=${pkgver}" 'qt') + + cd "${srcdir}/${pkgbase}-${pkgver}/poppler" + make DESTDIR="${pkgdir}" install-libLTLIBRARIES + cd "${srcdir}/${pkgbase}-${pkgver}/qt4" + make DESTDIR="${pkgdir}" install + install -m755 -d "${pkgdir}/usr/lib/pkgconfig" + install -m644 ../poppler-qt4.pc "${pkgdir}/usr/lib/pkgconfig/" + rm -f "${pkgdir}"/usr/lib/libpoppler.* +} diff --git a/staging/poppler/git-fixes.patch b/staging/poppler/git-fixes.patch new file mode 100644 index 000000000..24a66b84f --- /dev/null +++ b/staging/poppler/git-fixes.patch @@ -0,0 +1,110 @@ +From 74f4299e8f9e2d204979479f6579dd784db678a4 Mon Sep 17 00:00:00 2001 +From: Albert Astals Cid <aacid@kde.org> +Date: Sun, 04 Dec 2011 16:29:45 +0000 +Subject: Do not fail if we are trying to save a file with Encrypt but that we have not modified at all + +Fixes KDE bug #288045 +(cherry picked from commit 63c942a45227ef28fb94ef4765171d9812fffafa) +--- +diff --git a/poppler/PDFDoc.cc b/poppler/PDFDoc.cc +index 01d2759..2758206 100644 +--- a/poppler/PDFDoc.cc ++++ b/poppler/PDFDoc.cc +@@ -707,35 +707,44 @@ int PDFDoc::saveAs(GooString *name, PDFWriteMode mode) { + + int PDFDoc::saveAs(OutStream *outStr, PDFWriteMode mode) { + +- // we don't support files with Encrypt at the moment ++ // find if we have updated objects ++ GBool updated = gFalse; ++ for(int i=0; i<xref->getNumObjects(); i++) { ++ if (xref->getEntry(i)->updated) { ++ updated = gTrue; ++ break; ++ } ++ } ++ ++ // we don't support rewriting files with Encrypt at the moment + Object obj; + xref->getTrailerDict()->getDict()->lookupNF("Encrypt", &obj); + if (!obj.isNull()) + { + obj.free(); +- return errEncrypted; ++ if (!updated && mode == writeStandard) { ++ // simply copy the original file ++ saveWithoutChangesAs (outStr); ++ } else { ++ return errEncrypted; ++ } + } +- obj.free(); ++ else ++ { ++ obj.free(); + +- if (mode == writeForceRewrite) { +- saveCompleteRewrite(outStr); +- } else if (mode == writeForceIncremental) { +- saveIncrementalUpdate(outStr); +- } else { // let poppler decide +- // find if we have updated objects +- GBool updated = gFalse; +- for(int i=0; i<xref->getNumObjects(); i++) { +- if (xref->getEntry(i)->updated) { +- updated = gTrue; +- break; ++ if (mode == writeForceRewrite) { ++ saveCompleteRewrite(outStr); ++ } else if (mode == writeForceIncremental) { ++ saveIncrementalUpdate(outStr); ++ } else { // let poppler decide ++ if(updated) { ++ saveIncrementalUpdate(outStr); ++ } else { ++ // simply copy the original file ++ saveWithoutChangesAs (outStr); + } + } +- if(updated) { +- saveIncrementalUpdate(outStr); +- } else { +- // simply copy the original file +- saveWithoutChangesAs (outStr); +- } + } + + return errNone; +-- +cgit v0.9.0.2-2-gbebe +From 03544e2f602319f0b381f5f357e14cc2cc77d2c1 Mon Sep 17 00:00:00 2001 +From: Albert Astals Cid <aacid@kde.org> +Date: Tue, 06 Dec 2011 22:21:15 +0000 +Subject: include strings.h as we use memcpy + +Fixes bug 43558 +(cherry picked from commit 388d72ac27ae98fe3a1ebd21760f2b0fa0249a9b) +--- +diff --git a/goo/PNGWriter.cc b/goo/PNGWriter.cc +index f88c3a7..1fb8cab 100644 +--- a/goo/PNGWriter.cc ++++ b/goo/PNGWriter.cc +@@ -6,7 +6,7 @@ + // + // Copyright (C) 2009 Warren Toomey <wkt@tuhs.org> + // Copyright (C) 2009 Shen Liang <shenzhuxi@gmail.com> +-// Copyright (C) 2009 Albert Astals Cid <aacid@kde.org> ++// Copyright (C) 2009, 2011 Albert Astals Cid <aacid@kde.org> + // Copyright (C) 2009 Stefan Thomas <thomas@eload24.com> + // Copyright (C) 2010, 2011 Adrian Johnson <ajohnson@redneon.com> + // Copyright (C) 2011 Thomas Klausner <wiz@danbala.tuwien.ac.at> +@@ -19,6 +19,7 @@ + + #include <zlib.h> + #include <stdlib.h> ++#include <string.h> + + #include "poppler/Error.h" + #include "goo/gmem.h" +-- +cgit v0.9.0.2-2-gbebe diff --git a/staging/qiv/PKGBUILD b/staging/qiv/PKGBUILD new file mode 100644 index 000000000..520b5847e --- /dev/null +++ b/staging/qiv/PKGBUILD @@ -0,0 +1,25 @@ +# $Id: PKGBUILD 147092 2012-01-21 19:18:31Z eric $ +# Contributor: Tom Newsom <Jeepster@gmx.co.uk> +# Maintainer: Paul Mattal <paul@archlinux.org> + +pkgname=qiv +pkgver=2.2.4 +pkgrel=2 +pkgdesc="Quick Image Viewer (qiv) is a very small and fast GDK/Imlib image viewer" +arch=('i686' 'x86_64') +url="http://spiegl.de/qiv/" +license=('GPL2') +depends=('file' 'gtk2' 'imlib2') +source=(http://spiegl.de/qiv/download/$pkgname-$pkgver.tgz) +md5sums=('1425f89c90f9c045858fccf24d894c97') + +build() { + cd "$srcdir/$pkgname-$pkgver" + make +} + +package() { + cd "$srcdir/$pkgname-$pkgver" + install -D -m 0755 qiv "$pkgdir/usr/bin/qiv" + install -D -m 0644 qiv.1 "$pkgdir/usr/share/man/man1/qiv.1" +} diff --git a/staging/streamtuner/PKGBUILD b/staging/streamtuner/PKGBUILD new file mode 100644 index 000000000..d25ae0451 --- /dev/null +++ b/staging/streamtuner/PKGBUILD @@ -0,0 +1,49 @@ +# $Id: PKGBUILD 147014 2012-01-20 18:50:13Z andyrtr $ +# Contributor: Greg Grabinski <greg@grabinski.ch> +# Maintainer: ndreas Radke <andyrtr@archlinux.org> + +pkgname=streamtuner +pkgver=0.99.99 +pkgrel=12 +pkgdesc="A stream directory browser" +arch=('i686' 'x86_64') +url="http://www.nongnu.org/streamtuner/" +license=('custom') +depends=('taglib' 'libxml2' 'gtk2' 'curl>=7.16.2' 'pygtk>=2.13.0-2') +conflicts=('streamtuner-live365') +replaces=('streamtuner-live365') +source=(http://savannah.nongnu.org/download/streamtuner/$pkgname-$pkgver.tar.gz \ + http://savannah.nongnu.org/download/streamtuner/streamtuner-0.99.99-live365.diff \ + http://savannah.nongnu.org/download/streamtuner/streamtuner-0.99.99-pygtk-2.6.diff + streamtuner-0.99.99-shoutcast.diff + shoutcast-redesign-patch.diff) +options=('!libtool' '!emptydirs') +md5sums=('2027b7c34e85b594524b0b4351c14362' + '8aa1994a849b05d2b8fffbda702b8a25' + '7aff45a41c60358cb2332c7ce644f661' + '1eab6edce130e1a1e5f208cd3ed6766a' + '8a3a17a1719a79353d6ad7ac8564947b') + +build() { + cd ${srcdir}/${pkgname}-${pkgver} + patch -p0 -i ${srcdir}/streamtuner-0.99.99-live365.diff + patch -p0 -i ${srcdir}/streamtuner-0.99.99-pygtk-2.6.diff + # fix http://bugs.archlinux.org/task/10308 + patch -p0 -i ${srcdir}/streamtuner-0.99.99-shoutcast.diff + # fix http://bugs.archlinux.org/task/11463 + patch -p1 -i ${srcdir}/shoutcast-redesign-patch.diff + + # python2 fixes + sed -i "s:^for ac_prog in python:for ac_prog in python2:" ${srcdir}/${pkgname}-${pkgver}/configure + + ./configure --prefix=/usr + make +} + +package() { + cd ${srcdir}/${pkgname}-${pkgver} + make prefix=${pkgdir}/usr install + + #Add license file + install -Dm0644 ${srcdir}/${pkgname}-${pkgver}/COPYING ${pkgdir}/usr/share/licenses/${pkgname}/COPYING +} diff --git a/staging/streamtuner/shoutcast-redesign-patch.diff b/staging/streamtuner/shoutcast-redesign-patch.diff new file mode 100644 index 000000000..644e2273e --- /dev/null +++ b/staging/streamtuner/shoutcast-redesign-patch.diff @@ -0,0 +1,12 @@ +diff -uar streamtuner-0.99.99-orig/src/plugins/shoutcast/shoutcast.c streamtuner-0.99.99-patched/src/plugins/shoutcast/shoutcast.c +--- streamtuner-0.99.99-orig/src/plugins/shoutcast/shoutcast.c 2008-09-12 18:04:00.229785732 -0400 ++++ streamtuner-0.99.99-patched/src/plugins/shoutcast/shoutcast.c 2008-09-12 18:05:56.716440720 -0400 +@@ -37,7 +37,7 @@ + + /*** cpp *********************************************************************/ + +-#define SHOUTCAST_ROOT "http://www.shoutcast.com/" ++#define SHOUTCAST_ROOT "http://classic.shoutcast.com/" + + #define MAX_STREAMS_PER_PAGE 100 /* enforced by SHOUTcast */ + diff --git a/staging/streamtuner/streamtuner-0.99.99-shoutcast.diff b/staging/streamtuner/streamtuner-0.99.99-shoutcast.diff new file mode 100644 index 000000000..e7fcbca94 --- /dev/null +++ b/staging/streamtuner/streamtuner-0.99.99-shoutcast.diff @@ -0,0 +1,41 @@ +--- src/plugins/shoutcast/shoutcast.c.orig 2004-12-19 15:21:00.000000000 +0000 ++++ src/plugins/shoutcast/shoutcast.c 2008-03-16 10:39:24.000000000 +0000 +@@ -94,6 +94,8 @@ + + GNode *parent_node; + SHOUTcastStream *stream; ++ ++ int parse_genres; + } ReloadInfo; + + /*** variable declarations ***************************************************/ +@@ -518,6 +520,7 @@ + info.npages = 0; + info.parent_node = NULL; + info.stream = NULL; ++ info.parse_genres = 0; + + status = st_transfer_session_get_by_line(session, + url, +@@ -565,10 +568,16 @@ + info->stream = stream_new_cb(NULL); + info->stream->url_postfix = st_sgml_ref_expand_len(s1, s2 - s1); + } +- else if (info->page < 2 +- && (((s1 = st_str_has_prefix_span(line, "\t<OPTION VALUE=\"")) +- || (s1 = st_str_has_prefix_span(line, "\t\t<OPTION VALUE=\""))) +- && (s2 = strstr(s1, "\">")))) ++ else if (info->page < 2 && (s1 = st_strstr_span(line, "<OPTION VALUE=\"TopTen\">"))) ++ { ++ info->parse_genres = 1; ++ } ++ else if (info->page < 2 && info->parse_genres == 1 && (s1 = st_strstr_span(line, "</SELECT>"))) ++ { ++ info->parse_genres = 0; ++ } ++ else if (info->page < 2 && info->parse_genres == 1 ++ && ((s1 = st_strstr_span(line, "<OPTION VALUE=\"")) && (s2 = strstr(s1, "\">")))) + { + STCategory *category; + GNode *node; + diff --git a/staging/transcode/PKGBUILD b/staging/transcode/PKGBUILD new file mode 100644 index 000000000..82e0d15fc --- /dev/null +++ b/staging/transcode/PKGBUILD @@ -0,0 +1,57 @@ +# $Id: PKGBUILD 147020 2012-01-20 20:01:07Z giovanni $ +# Maintainer: +# Contributor: Sarah Hay <sarahhay@mb.sympatico.ca> +# Contributor: roberto <roberto@archlinux.org> + +pkgname=transcode +_sripver=0.3-4 +pkgver=1.1.7 +pkgrel=2 +pkgdesc="A video/DVD ripper and encoder for the terminal/console" +arch=('i686' 'x86_64') +url="http://tcforge.berlios.de/" +license=('GPL') +depends=('gawk' 'imagemagick' 'lzo2' 'libdvdread' 'ffmpeg' 'mjpegtools' + 'libmpeg2' 'libxaw' 'libxml2' 'libxv' 'a52dec') +makedepends=('nasm') +options=('!libtool') +source=(https://bitbucket.org/france/transcode-tcforge/downloads/${pkgname}-${pkgver}.tar.bz2 + http://downloads.sourceforge.net/sourceforge/subtitleripper/subtitleripper-${_sripver}.tgz + subtitleripper-0.3.4-linkingorder.patch subtitleripper-0.3.4-respect-ldflags.patch) +sha1sums=('e35df68b960eb56ef0a59a4cdbed1491be56aee6' + 'd93ff3578dd5f722c8f4ef16bc0903eec5781a0d' + 'fa05aa1770d9350d90b7cf315aa7c4a1fd921ac7' + '591943a33235342a66c3df0625a164a1479c09ae') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr \ + --disable-sse --disable-sse2 --disable-altivec --enable-mmx \ + --enable-lame --enable-ogg --enable-vorbis --enable-theora \ + --enable-libdv --enable-libxml2 --enable-v4l \ + --enable-imagemagick --enable-libjpeg --enable-lzo --enable-mjpegtools \ + --enable-sdl --enable-freetype2 --enable-a52 --enable-libpostproc \ + --enable-xvid --enable-x264 --enable-alsa --enable-libmpeg2 --enable-libmpeg2convert + make + + cd "${srcdir}/subtitleripper" + patch -p1 -i "${srcdir}/subtitleripper-0.3.4-linkingorder.patch" + patch -p1 -i "${srcdir}/subtitleripper-0.3.4-respect-ldflags.patch" + sed -e 's|^\(.*lppm.*\)$|#\1|' \ + -e 's|^\(.*D_HAVE_LIB_PPM.*\)$|#\1|' \ + -e 's/DEFINES :=/DEFINES = -DHAVE_GETLINE/' \ + -i Makefile + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install + + cd "${srcdir}/subtitleripper" + install -m 755 pgm2txt "${pkgdir}/usr/bin/" + install -m 755 srttool "${pkgdir}/usr/bin/" + install -m 755 subtitle2pgm "${pkgdir}/usr/bin/" + install -m 755 subtitle2vobsub "${pkgdir}/usr/bin/" + install -m 755 vobsub2pgm "${pkgdir}/usr/bin/" +} diff --git a/staging/transcode/subtitleripper-0.3.4-linkingorder.patch b/staging/transcode/subtitleripper-0.3.4-linkingorder.patch new file mode 100644 index 000000000..7efe22346 --- /dev/null +++ b/staging/transcode/subtitleripper-0.3.4-linkingorder.patch @@ -0,0 +1,28 @@ +Index: subtitleripper/Makefile +=================================================================== +--- subtitleripper.orig/Makefile ++++ subtitleripper/Makefile +@@ -70,19 +70,19 @@ vobsub2pgm.o: vobsub2pgm.c vobsub.h spud + # Target + subtitle2pgm: subtitle2pgm.o spudec.o + @echo "Linking $@" +- @$(CC) $(LIBS) $^ -o $@ ++ @$(CC) $^ -o $@ $(LIBS) + + subtitle2vobsub: subtitle2vobsub.o vobsub.o + @echo "Linking $@" +- @$(CC) $(LIBS) $^ -o $@ ++ @$(CC) $^ -o $@ $(LIBS) + + srttool: srttool.o + @echo "Linking $@" +- @$(CC) $(LIBS) -g $^ -o $@ ++ @$(CC) -g $^ -o $@ $(LIBS) + + vobsub2pgm: vobsub2pgm.o vobsub.o spudec.o + @echo "Linking $@" +- @$(CC) $(LIBS) -g $^ -o $@ ++ @$(CC) -g $^ -o $@ $(LIBS) + + .PHONY: clean dist rpm + clean: diff --git a/staging/transcode/subtitleripper-0.3.4-respect-ldflags.patch b/staging/transcode/subtitleripper-0.3.4-respect-ldflags.patch new file mode 100644 index 000000000..2af11d257 --- /dev/null +++ b/staging/transcode/subtitleripper-0.3.4-respect-ldflags.patch @@ -0,0 +1,28 @@ +Index: subtitleripper/Makefile +=================================================================== +--- subtitleripper.orig/Makefile ++++ subtitleripper/Makefile +@@ -70,19 +70,19 @@ vobsub2pgm.o: vobsub2pgm.c vobsub.h spud + # Target + subtitle2pgm: subtitle2pgm.o spudec.o + @echo "Linking $@" +- @$(CC) $^ -o $@ $(LIBS) ++ @$(CC) $(LDFLAGS) $^ -o $@ $(LIBS) + + subtitle2vobsub: subtitle2vobsub.o vobsub.o + @echo "Linking $@" +- @$(CC) $^ -o $@ $(LIBS) ++ @$(CC) $(LDFLAGS) $^ -o $@ $(LIBS) + + srttool: srttool.o + @echo "Linking $@" +- @$(CC) -g $^ -o $@ $(LIBS) ++ @$(CC) $(LDFLAGS) $^ -o $@ $(LIBS) + + vobsub2pgm: vobsub2pgm.o vobsub.o spudec.o + @echo "Linking $@" +- @$(CC) -g $^ -o $@ $(LIBS) ++ @$(CC) $(LDFLAGS) $^ -o $@ $(LIBS) + + .PHONY: clean dist rpm + clean: diff --git a/staging/tuxpuck/PKGBUILD b/staging/tuxpuck/PKGBUILD new file mode 100644 index 000000000..19f50020a --- /dev/null +++ b/staging/tuxpuck/PKGBUILD @@ -0,0 +1,41 @@ +# $Id: PKGBUILD 147018 2012-01-20 19:49:39Z giovanni $ +# Maintainer: Tobias Powalowski <tpowa@archlinux.org> + +pkgname=tuxpuck +pkgver=0.8.2 +pkgrel=5 +pkgdesc="Airhockey with tux" +arch=('i686' 'x86_64') +url="http://home.no.net/munsuun/tuxpuck/" +license=('GPL2') +depends=('libjpeg' 'sdl' 'libpng' 'libvorbis') +makedepends=('freetype2') +options=('!makeflags') +source=("http://ftp.de.debian.org/debian/pool/main/t/${pkgname}/${pkgname}_$pkgver.orig.tar.gz" + 'tuxpuck-0.8.2-ldflags.patch' + 'tuxpuck-0.8.2-libpng15.patch') +md5sums=('fc839abc2b1f3eafae397e1ed6487079' + 'cb914d211bf3f519b7700fda180612b0' + 'a4da530d670a0c30ac0840aab1db0dca') + +build() { + cd $srcdir/$pkgname-$pkgver + + sed -i 's|usr/man|usr/share/man|' Makefile + sed -i -e 's/-Werror//' \ + -e '/^CC/d' \ + Makefile \ + utils/Makefile \ + data/Makefile + + patch -Np0 -i "${srcdir}/tuxpuck-0.8.2-ldflags.patch" + patch -Np0 -i "${srcdir}/tuxpuck-0.8.2-libpng15.patch" + + make +} + +package() { + cd $srcdir/$pkgname-$pkgver + + make DESTDIR=$pkgdir install +} diff --git a/staging/tuxpuck/tuxpuck-0.8.2-ldflags.patch b/staging/tuxpuck/tuxpuck-0.8.2-ldflags.patch new file mode 100644 index 000000000..28fcef48a --- /dev/null +++ b/staging/tuxpuck/tuxpuck-0.8.2-ldflags.patch @@ -0,0 +1,11 @@ +--- Makefile.old 2010-10-05 10:34:57.000000000 +0200 ++++ Makefile 2010-10-05 10:35:28.000000000 +0200 +@@ -20,7 +20,7 @@ + + $(NAME) : $(OBJS) + cd data; $(MAKE) +- $(CC) $(CFLAGS) $(OBJS) data/libdata.a `sdl-config --libs` -lm -lpng \ ++ $(CC) $(LDFLAGS) $(CFLAGS) $(OBJS) data/libdata.a `sdl-config --libs` -lm -lpng \ + -ljpeg -lz -lvorbisfile -lvorbis -logg -o $(NAME) + + w32icon.o : data/icons/tuxpuck.ico diff --git a/staging/tuxpuck/tuxpuck-0.8.2-libpng15.patch b/staging/tuxpuck/tuxpuck-0.8.2-libpng15.patch new file mode 100644 index 000000000..ca9539f39 --- /dev/null +++ b/staging/tuxpuck/tuxpuck-0.8.2-libpng15.patch @@ -0,0 +1,63 @@ +--- png.c.old 2011-09-14 16:25:54.415338149 +0200 ++++ png.c 2011-09-14 17:41:02.190803110 +0200 +@@ -38,6 +38,8 @@ + png_color_16 *transv; + SDL_RWops *src = NULL; + Uint32 size; ++ int num_palette; ++ png_colorp png_palette; + + memcpy(&size, data, sizeof(Uint32)); + if (memcounter) +@@ -74,7 +76,7 @@ + * the normal method of doing things with libpng). REQUIRED unless you + * set up your own error handlers in png_create_read_struct() earlier. + */ +- if (setjmp(png_ptr->jmpbuf)) { ++ if (setjmp(png_jmpbuf(png_ptr))) { + SDL_SetError("Error reading the PNG file."); + goto done; + } +@@ -142,9 +144,9 @@ + Rmask = 0x000000FF; + Gmask = 0x0000FF00; + Bmask = 0x00FF0000; +- Amask = (info_ptr->channels == 4) ? 0xFF000000 : 0; ++ Amask = (png_get_channels(png_ptr, info_ptr) == 4) ? 0xFF000000 : 0; + } else { +- int s = (info_ptr->channels == 4) ? 0 : 8; ++ int s = (png_get_channels(png_ptr, info_ptr) == 4) ? 0 : 8; + Rmask = 0xFF000000 >> s; + Gmask = 0x00FF0000 >> s; + Bmask = 0x0000FF00 >> s; +@@ -152,7 +154,7 @@ + } + } + surface = SDL_AllocSurface(SDL_SWSURFACE, width, height, +- bit_depth * info_ptr->channels, Rmask, Gmask, ++ bit_depth * png_get_channels(png_ptr, info_ptr), Rmask, Gmask, + Bmask, Amask); + if (surface == NULL) { + SDL_SetError("Out of memory"); +@@ -197,12 +199,15 @@ + palette->colors[i].g = i; + palette->colors[i].b = i; + } +- } else if (info_ptr->num_palette > 0) { +- palette->ncolors = info_ptr->num_palette; +- for (i = 0; i < info_ptr->num_palette; ++i) { +- palette->colors[i].b = info_ptr->palette[i].blue; +- palette->colors[i].g = info_ptr->palette[i].green; +- palette->colors[i].r = info_ptr->palette[i].red; ++ } else { ++ png_get_PLTE(png_ptr, info_ptr, &png_palette, &num_palette); ++ if (num_palette > 0) { ++ palette->ncolors = num_palette; ++ for (i = 0; i < num_palette; ++i) { ++ palette->colors[i].b = png_palette[i].blue; ++ palette->colors[i].g = png_palette[i].green; ++ palette->colors[i].r = png_palette[i].red; ++ } + } + } + } diff --git a/staging/vigra/PKGBUILD b/staging/vigra/PKGBUILD new file mode 100644 index 000000000..ebc7f60a6 --- /dev/null +++ b/staging/vigra/PKGBUILD @@ -0,0 +1,69 @@ +# $Id: PKGBUILD 147002 2012-01-20 14:21:18Z andyrtr $ +# Maintainer: AndyRTR <andyrtr@archlinux.org> +# Contributor: Lukas Jirkovsky <l.jirkovsky@gmail.com> + +pkgbase=vigra +pkgname=('vigra' 'vigra-doc') +pkgver=1.8.0 +pkgrel=3 +arch=('i686' 'x86_64') +url="http://hci.iwr.uni-heidelberg.de/vigra/" +license=('custom:MIT') +makedepends=(# runtime deps + 'libpng>=1.5.7' 'libtiff>=4.0.0' 'gcc-libs' 'sh' 'hdf5>=1.8.7' 'fftw' + # additional makedeps + 'cmake' 'python-nose' 'doxygen' 'python-sphinx' 'boost' 'python-numpy') +options=('!libtool') +source=(http://kogs-www.informatik.uni-hamburg.de/~koethe/vigra/${pkgname}-${pkgver}-src.tar.gz + vigra-1.7.1.gcc460.patch) +md5sums=('15c5544448e529ee60020758ab6be264' + '25ef8bc26bc38ee67e5b512d2acd0166') +sha1sums=('09f1d506c2748ebeb7d9f1c77ce387f9e7b837d2' + '1de6381a74dd136ea25df5a27f249187b0dbd17e') + +build() { + cd "${srcdir}"/${pkgbase}-${pkgver} + patch -Np1 -i ${srcdir}/vigra-1.7.1.gcc460.patch + cmake -DCMAKE_INSTALL_PREFIX=/usr \ + -DPYTHON_EXECUTABLE=/usr/bin/python2 \ + -DWITH_VIGRANUMPY=1 \ + -DDOCINSTALL=share/doc + make +} + +check() { + cd "${srcdir}"/${pkgname}-${pkgver} + make -k check || /bin/true # i686 fails +} + +package_vigra() { + pkgdesc="Computer vision library" + depends=('libpng>=1.5.7' 'libtiff>=4.0.0' 'gcc-libs' 'sh' 'hdf5>=1.8.7' 'fftw') + optdepends=('python2: for python bindings' + 'boost-libs: for python bindings') + + cd "${srcdir}"/${pkgbase}-${pkgver} + make DESTDIR="${pkgdir}" install + # license + install -D -m644 LICENSE.txt "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE + + # remove doc + rm -rf "${pkgdir}"/usr/share/doc + + #fix shebang for python2 + sed -i 's|python$|python2|' "$pkgdir"/usr/bin/vigra-config +} + +package_vigra-doc() { + pkgdesc="Computer vision library - documentation and examples" + #depends=('vigra') + #arch=('any') + + cd "${srcdir}"/${pkgbase}-${pkgver} + make DESTDIR="${pkgdir}" install + # cleanup + rm -rf "${pkgdir}"/usr/{bin,include,lib} + + # license + install -D -m644 LICENSE.txt "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE +} diff --git a/staging/vigra/vigra-1.7.1.gcc460.patch b/staging/vigra/vigra-1.7.1.gcc460.patch new file mode 100644 index 000000000..46f194dbc --- /dev/null +++ b/staging/vigra/vigra-1.7.1.gcc460.patch @@ -0,0 +1,33 @@ +diff -baur vigra-1.7.1.old/include/vigra/random_forest.hxx vigra-1.7.1/include/vigra/random_forest.hxx +--- vigra-1.7.1.old/include/vigra/random_forest.hxx 2010-12-03 17:40:34.000000000 +0000 ++++ vigra-1.7.1/include/vigra/random_forest.hxx 2011-01-28 00:16:32.000000000 +0000 +@@ -43,6 +43,7 @@ + #include <set> + #include <list> + #include <numeric> ++#include <stddef.h> + #include "mathutil.hxx" + #include "array_vector.hxx" + #include "sized_int.hxx" +diff -baur vigra-1.7.1.old/include/vigra/sifImport.hxx vigra-1.7.1/include/vigra/sifImport.hxx +--- vigra-1.7.1.old/include/vigra/sifImport.hxx 2010-12-03 17:40:34.000000000 +0000 ++++ vigra-1.7.1/include/vigra/sifImport.hxx 2011-01-28 00:23:31.000000000 +0000 +@@ -57,6 +57,7 @@ + #include <fstream> + #include <cstring> + #include <vector> ++#include <stddef.h> + #include "vigra/multi_array.hxx" + + namespace vigra { +diff -baur vigra-1.7.1.old/include/vigra/multi_iterator.hxx vigra-1.7.1/include/vigra/multi_iterator.hxx +--- vigra-1.7.1.old/include/vigra/multi_iterator.hxx 2010-12-03 17:40:34.000000000 +0000 ++++ vigra-1.7.1/include/vigra/multi_iterator.hxx 2011-01-28 00:23:31.000000000 +0000 +@@ -41,6 +41,7 @@ + #define VIGRA_MULTI_ITERATOR_HXX + + #include <sys/types.h> ++#include <stddef.h> + #include "tinyvector.hxx" + #include "iteratortags.hxx" + diff --git a/testing/freeglut/PKGBUILD b/testing/freeglut/PKGBUILD new file mode 100644 index 000000000..b817a6a43 --- /dev/null +++ b/testing/freeglut/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 147022 2012-01-20 20:50:51Z heftig $ +# Maintainer: Eric Belanger <eric@archlinux.org> +# Contributor: Tom Newsom <Jeepster@gmx.co.uk> + +pkgname=freeglut +pkgver=2.8.0 +pkgrel=1 +pkgdesc="Provides functionality for small OpenGL programs" +arch=('i686' 'x86_64') +url="http://freeglut.sourceforge.net/" +license=('MIT') +depends=('libxxf86vm' 'mesa' 'libxi') +replaces=('glut') +provides=('glut') +conflicts=('glut') +options=('!libtool') +source=(http://downloads.sourceforge.net/freeglut/${pkgname}-${pkgver}.tar.gz) +md5sums=('5db8651af306bc403fbfd36934a20e1d') +sha1sums=('4debbe559c6c9841ce1abaddc9d461d17c6083b1') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr --disable-static + make all +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install + install -Dm644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" +} diff --git a/testing/iproute2/PKGBUILD b/testing/iproute2/PKGBUILD index 56c035bbc..1295549c3 100644 --- a/testing/iproute2/PKGBUILD +++ b/testing/iproute2/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 146339 2012-01-09 18:52:29Z stephane $ +# $Id: PKGBUILD 147098 2012-01-21 22:46:26Z ibiru $ # Maintainer: Ronald van Haren <ronald.archlinux.org> # Contributor: Judd Vinet <jvinet@zeroflux.org> pkgname=iproute2 pkgver=3.2.0 -pkgrel=1 +pkgrel=2 pkgdesc="IP Routing Utilities" arch=('i686' 'x86_64') license=('GPL2') @@ -19,10 +19,11 @@ options=('!makeflags') backup=('etc/iproute2/ematch_map' 'etc/iproute2/rt_dsfield' 'etc/iproute2/rt_protos' \ 'etc/iproute2/rt_realms' 'etc/iproute2/rt_scopes' 'etc/iproute2/rt_tables') source=(http://www.kernel.org/pub/linux/utils/net/$pkgname/$pkgname-$pkgver.tar.xz - iproute2-fhs.patch) + iproute2-fhs.patch + fix-ip-l.patch) sha1sums=('1e217f22b0bbfc870ddf746de883ee375cd9e533' - '2416b11252364d7a6c742eabb4a6924a75637a46') - + '2416b11252364d7a6c742eabb4a6924a75637a46' + '2ec5513c44f89046438d65e2cda1a014010e3b73') build() { cd $srcdir/$pkgname-$pkgver @@ -30,6 +31,9 @@ build() { # set correct fhs structure patch -Np1 -i "$srcdir/iproute2-fhs.patch" + #upstream fixes + patch -Np1 -i "$srcdir/fix-ip-l.patch" + ./configure make diff --git a/testing/iproute2/fix-ip-l.patch b/testing/iproute2/fix-ip-l.patch new file mode 100644 index 000000000..7f1749cbb --- /dev/null +++ b/testing/iproute2/fix-ip-l.patch @@ -0,0 +1,27 @@ +From 5aa08f6bf4107f8aec43c0678466a314dbd0d054 Mon Sep 17 00:00:00 2001 +From: Stephen Hemminger <shemminger@vyatta.com> +Date: Fri, 20 Jan 2012 08:16:02 -0800 +Subject: [PATCH] ip: make 'ip l' be 'ip link' + +Restore compatiablity for those lazy typists. +--- + ip/ip.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/ip/ip.c b/ip/ip.c +index 7b4bacb..20dc3b5 100644 +--- a/ip/ip.c ++++ b/ip/ip.c +@@ -72,8 +72,8 @@ static const struct cmd { + { "neighbour", do_ipneigh }, + { "ntable", do_ipntable }, + { "ntbl", do_ipntable }, +- { "l2tp", do_ipl2tp }, + { "link", do_iplink }, ++ { "l2tp", do_ipl2tp }, + { "tunnel", do_iptunnel }, + { "tunl", do_iptunnel }, + { "tuntap", do_iptuntap }, +-- +1.7.6.5 + diff --git a/testing/mdadm/PKGBUILD b/testing/mdadm/PKGBUILD new file mode 100644 index 000000000..cc524eb63 --- /dev/null +++ b/testing/mdadm/PKGBUILD @@ -0,0 +1,53 @@ +# $Id: PKGBUILD 147000 2012-01-20 13:40:09Z tpowa $ +# Maintainer: Tobias Powalowski <tpowa@archlinux.org> +# Contributor: Judd Vinet <jvinet@zeroflux.org> +pkgname=mdadm +pkgver=3.2.3 +pkgrel=1 +pkgdesc="A tool for managing/monitoring Linux md device arrays, also known as Software RAID" +arch=(i686 x86_64) +license=('GPL') +url="http://neil.brown.name/blog/mdadm" +groups=('base') +conflicts=('mkinitcpio<0.7') +depends=('glibc') +backup=('etc/mdadm.conf') +source=(ftp://ftp.kernel.org/pub/linux/utils/raid/mdadm/mdadm-$pkgver.tar.bz2 + mdadm + mdadm.conf + mdadm_install + mdadm_hook + mdadm_udev_install + disable-werror.patch) + +install=mdadm.install +replaces=('raidtools') +md5sums=('d789d6ecb9c1d5ebcc64f0fc52bca92f' + '6df172c8f77b280018cf87eb3d313f29' + '00cbed931db4f15b6ce49e3e7d433966' + '9b01e96b6c3c218fb61628c9281fe688' + 'c8c0713f5c7da51822ee6f3911473a1c' + 'cd258e1bf430c02a25f40b4329df9f57' + '4ad87b74a4bc9a34621280abe0e0c3e4') + +build() { + cd $srcdir/$pkgname-$pkgver + patch -Np0 -i ../disable-werror.patch + make CXFLAGS="$CFLAGS" + # build static mdassemble for Arch's initramfs + make MDASSEMBLE_AUTO=1 mdassemble + +} + +package() { + cd $srcdir/$pkgname-$pkgver + make INSTALL=/bin/install DESTDIR=$pkgdir install + install -D -m755 mdassemble $pkgdir/sbin/mdassemble + install -D -m644 ../mdadm.conf $pkgdir/etc/mdadm.conf + install -D -m755 ../mdadm $pkgdir/etc/rc.d/mdadm + install -D -m644 ../mdadm_install $pkgdir/lib/initcpio/install/mdadm + install -D -m644 ../mdadm_hook $pkgdir/lib/initcpio/hooks/mdadm + install -D -m644 ../mdadm_udev_install $pkgdir/lib/initcpio/install/mdadm_udev + # symlink for backward compatibility + ln -sf /lib/initcpio/hooks/mdadm $pkgdir/lib/initcpio/hooks/raid +} diff --git a/testing/mdadm/disable-werror.patch b/testing/mdadm/disable-werror.patch new file mode 100644 index 000000000..50a33f19d --- /dev/null +++ b/testing/mdadm/disable-werror.patch @@ -0,0 +1,11 @@ +--- Makefile.old 2011-06-17 09:38:03.269238332 +0200 ++++ Makefile 2011-06-17 09:38:14.122398837 +0200 +@@ -42,7 +42,7 @@ + + CC = $(CROSS_COMPILE)gcc + CXFLAGS = -ggdb +-CWFLAGS = -Wall -Werror -Wstrict-prototypes -Wextra -Wno-unused-parameter ++CWFLAGS = -Wall -Wstrict-prototypes -Wextra -Wno-unused-parameter + ifdef WARN_UNUSED + CWFLAGS += -Wp,-D_FORTIFY_SOURCE=2 -O + endif diff --git a/testing/mdadm/linux-3.0.patch b/testing/mdadm/linux-3.0.patch new file mode 100644 index 000000000..cd9d5473c --- /dev/null +++ b/testing/mdadm/linux-3.0.patch @@ -0,0 +1,45 @@ +From f161d047eed634b3380262767f955eb888502e88 Mon Sep 17 00:00:00 2001 +From: NeilBrown <neilb@suse.de> +Date: Fri, 17 Jun 2011 22:49:24 +1000 +Subject: [PATCH 1/1] util: correctly parse shorter linux version numbers. + +The next version of Linux might be 3.0. If it is, get_linux_version +will fail. +So make it more robust. + +Reported-by: Namhyung Kim <namhyung@gmail.com> +Reported-by: Milan Broz <mbroz@redhat.com> +Signed-off-by: NeilBrown <neilb@suse.de> +--- + util.c | 10 +++++----- + 1 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/util.c b/util.c +index 10bbe56..55d171a 100644 +--- a/util.c ++++ b/util.c +@@ -146,16 +146,16 @@ int get_linux_version() + { + struct utsname name; + char *cp; +- int a,b,c; ++ int a = 0, b = 0,c = 0; + if (uname(&name) <0) + return -1; + + cp = name.release; + a = strtoul(cp, &cp, 10); +- if (*cp != '.') return -1; +- b = strtoul(cp+1, &cp, 10); +- if (*cp != '.') return -1; +- c = strtoul(cp+1, NULL, 10); ++ if (*cp == '.') ++ b = strtoul(cp+1, &cp, 10); ++ if (*cp == '.') ++ c = strtoul(cp+1, &cp, 10); + + return (a*1000000)+(b*1000)+c; + } +-- +1.7.2.3 + diff --git a/testing/mdadm/mdadm b/testing/mdadm/mdadm new file mode 100755 index 000000000..e196f3642 --- /dev/null +++ b/testing/mdadm/mdadm @@ -0,0 +1,37 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +PID=`pidof -o %PPID /sbin/mdadm` +case "$1" in + start) + stat_busy "Starting mdadm RAID Monitor" + if [ -z "$PID" ]; then + /sbin/mdadm --monitor --scan -i /var/run/mdadm.pid -f + fi + if [ ! -z "$PID" -o $? -gt 0 ]; then + stat_fail + else + add_daemon mdadm + stat_done + fi + ;; + stop) + stat_busy "Stopping mdadm RAID Monitor" + [ ! -z "$PID" ] && kill $PID &>/dev/null + if [ $? -gt 0 ]; then + stat_fail + else + rm_daemon mdadm + stat_done + fi + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac diff --git a/testing/mdadm/mdadm.conf b/testing/mdadm/mdadm.conf new file mode 100644 index 000000000..57bd4c683 --- /dev/null +++ b/testing/mdadm/mdadm.conf @@ -0,0 +1,67 @@ +# mdadm configuration file +# +# mdadm will function properly without the use of a configuration file, +# but this file is useful for keeping track of arrays and member disks. +# In general, a mdadm.conf file is created, and updated, after arrays +# are created. This is the opposite behavior of /etc/raidtab which is +# created prior to array construction. +# +# +# the config file takes two types of lines: +# +# DEVICE lines specify a list of devices of where to look for +# potential member disks +# +# ARRAY lines specify information about how to identify arrays so +# so that they can be activated +# + + +# You can have more than one device line and use wild cards. The first +# example includes SCSI the first partition of SCSI disks /dev/sdb, +# /dev/sdc, /dev/sdd, /dev/sdj, /dev/sdk, and /dev/sdl. The second +# line looks for array slices on IDE disks. +# +#DEVICE /dev/sd[bcdjkl]1 +#DEVICE /dev/hda1 /dev/hdb1 +# +# The designation "partitions" will scan all partitions found in +# /proc/partitions +DEVICE partitions + + +# ARRAY lines specify an array to assemble and a method of identification. +# Arrays can currently be identified by using a UUID, superblock minor number, +# or a listing of devices. +# +# super-minor is usually the minor number of the metadevice +# UUID is the Universally Unique Identifier for the array +# Each can be obtained using +# +# mdadm -D <md> +# +# To capture the UUIDs for all your RAID arrays to this file, run these: +# to get a list of running arrays: +# # mdadm -D --scan >>/etc/mdadm.conf +# to get a list from superblocks: +# # mdadm -E --scan >>/etc/mdadm.conf +# +#ARRAY /dev/md0 UUID=3aaa0122:29827cfa:5331ad66:ca767371 +#ARRAY /dev/md1 super-minor=1 +#ARRAY /dev/md2 devices=/dev/hda1,/dev/hdb1 +# +# ARRAY lines can also specify a "spare-group" for each array. mdadm --monitor +# will then move a spare between arrays in a spare-group if one array has a +# failed drive but no spare +#ARRAY /dev/md4 uuid=b23f3c6d:aec43a9f:fd65db85:369432df spare-group=group1 +#ARRAY /dev/md5 uuid=19464854:03f71b1b:e0df2edd:246cc977 spare-group=group1 +# + + +# When used in --follow (aka --monitor) mode, mdadm needs a +# mail address and/or a program. To start mdadm's monitor mode, add +# "mdadm" to your DAEMONS array in /etc/rc.conf +# +# If the lines are not found, mdadm will exit quietly +#MAILADDR root@mydomain.tld +#PROGRAM /usr/sbin/handle-mdadm-events diff --git a/testing/mdadm/mdadm.install b/testing/mdadm/mdadm.install new file mode 100644 index 000000000..e8404c260 --- /dev/null +++ b/testing/mdadm/mdadm.install @@ -0,0 +1,10 @@ +# arg 1: the new package version +# arg 2: the old package version + +post_upgrade() { + if [ "$(vercmp $2 2.6.8-2)" -lt 0 -a "$(grep raid_partitions /etc/mkinitcpio.conf)" ]; then + echo "Attention mdadm update:" + echo "raid_partitions hook has been replaced by the more powerfull mdadm hook." + echo "Please update your /etc/mkinitcpio.conf accordingly." + fi +} diff --git a/testing/mdadm/mdadm_hook b/testing/mdadm/mdadm_hook new file mode 100755 index 000000000..7b2dc1ad1 --- /dev/null +++ b/testing/mdadm/mdadm_hook @@ -0,0 +1,44 @@ +# vim: set ft=sh: +run_hook () +{ + input="$(cat /proc/cmdline)" + mdconfig="/etc/mdadm.conf" + # for partitionable raid, we need to load md_mod first! + modprobe md_mod 2>/dev/null + # If md is specified on commandline, create config file from those parameters. + if [ "$(echo $input | grep "md=")" ]; then + #Create initial mdadm.conf + # scan all devices in /proc/partitions + echo DEVICE partitions > $mdconfig + for i in $input; do + case $i in + # raid + md=[0-9]*,/*) + device="$(echo "$i" | sed -e 's|,/.*||g' -e 's|=||g')" + array="$(echo $i | cut -d, -f2-)" + echo "ARRAY /dev/$device devices=$array" >> $mdconfig + ;; + # partitionable raid + md=d[0-9]*,/*) + device="$(echo "$i" | sed -e 's|,/.*||g' -e 's|=|_|g')" + array="$(echo $i | cut -d, -f2-)" + echo "ARRAY /dev/$device devices=$array" >> $mdconfig + ;; + # raid UUID + md=[0-9]*,[0-9,a-z]*) + device="$(echo "$i" | sed -e 's|,.*||g' -e 's|=||g')" + array="$(echo $i | cut -d, -f2-)" + echo "ARRAY /dev/$device UUID=$array" >> $mdconfig + ;; + # partitionable raid UUID + md=d[0-9]*,[0-9,a-z]*) + device="$(echo "$i" | sed -e 's|,.*||g' -e 's|=|_|g')" + array="$(echo $i | cut -d, -f2-)" + echo "ARRAY /dev/$device UUID=$array" >> $mdconfig + ;; + esac + done + fi + # assemble everything + [ -e $mdconfig ] && /sbin/mdassemble +} diff --git a/testing/mdadm/mdadm_install b/testing/mdadm/mdadm_install new file mode 100644 index 000000000..b53258676 --- /dev/null +++ b/testing/mdadm/mdadm_install @@ -0,0 +1,45 @@ +# vim: set ft=sh: + +build() +{ + MODULES=" $(checked_modules "drivers/md/*" | grep -v "dm-") " + BINARIES="" + FILES="" + SCRIPT="mdadm" + # check if a custom mdadm.conf exists + if grep -q ^ARRAY /etc/mdadm.conf; then + echo "Custom /etc/mdadm.conf file will be used in initramfs for assembling arrays." + add_file "/etc/mdadm.conf" + fi + add_binary "/sbin/mdassemble" +} + +help () +{ +cat<<HELPEOF + This hook loads the necessary modules for any raid root device, + and assembles the raid device when run. + + If arrays are defined in /etc/mdadm.conf, the file will be used instead + of command line assembling. + + Command Line Setup: + - for raid arrays with persistent superblocks: + md=<md device no.>,dev0,dev1,...,devn + md=<md device no.>,uuid + - for partitionable raid arrays with persistent superblocks: + md=d<md device no.>,dev0,dev1,...,devn + md=d<md device no.>,uuid + + Parameters: + - <md device no.> = the number of the md device: + 0 means md0, 1 means md1, ... + - <dev0-devn>: e.g. /dev/hda1,/dev/hdc1,/dev/sda1,/dev/sdb1 + or 0900878d:f95f6057:c39a36e9:55efa60a + Examples: + - md=d0,/dev/sda3,/dev/sda4 md=d1,/dev/hda1,/dev/hdb1 + This will setup 2 md partitionable arrays. + - md=0,/dev/sda3,/dev/sda4 md=1,/dev/hda1,/dev/hdb1 + This will setup 2 md arrays with persistent superblocks. +HELPEOF +} diff --git a/testing/mdadm/mdadm_udev_install b/testing/mdadm/mdadm_udev_install new file mode 100644 index 000000000..9fc161624 --- /dev/null +++ b/testing/mdadm/mdadm_udev_install @@ -0,0 +1,23 @@ +# vim: set ft=sh: + +build() +{ + MODULES=" $(checked_modules "drivers/md/*" | grep -v "dm-") " + BINARIES="" + FILES="" + SCRIPT="" + # check if a custom mdadm.conf exists + if grep -q ^ARRAY /etc/mdadm.conf; then + echo "Custom /etc/mdadm.conf file will be used in initramfs for assembling arrays." + add_file "/etc/mdadm.conf" + fi + add_binary "/sbin/mdadm" + add_file "/lib/udev/rules.d/64-md-raid.rules" +} + +help () +{ +cat<<HELPEOF + This hook loads raid arrays with udev. +HELPEOF +} diff --git a/testing/perl-alien-sdl/PKGBUILD b/testing/perl-alien-sdl/PKGBUILD new file mode 100644 index 000000000..8fa64cb8d --- /dev/null +++ b/testing/perl-alien-sdl/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 147088 2012-01-21 18:19:18Z heftig $ +# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> +# Contributor: Allan McRae <allan@archlinux.org> +# Contributor: Sarah Hay <sarahhay@mb.sympatico.ca> + +# This package must not by "any" arch. +# Requires rebuild with every change to sdl-config + +pkgname=perl-alien-sdl +_realname=Alien-SDL +pkgver=1.430 +pkgrel=1 +pkgdesc="Building, finding and using SDL binaries" +arch=(i686 x86_64) +license=(PerlArtistic GPL) +url="http://search.cpan.org/dist/Alien-SDL/" +depends=(sdl=1.2.15 perl-file-sharedir perl-capture-tiny) +makedepends=(perl-file-which perl-text-patch) +options=(!emptydirs) +source=(http://search.cpan.org/CPAN/authors/id/F/FR/FROGGS/$_realname-$pkgver.tar.gz) +md5sums=('9d7774212fb4e1c46325746c953a808b') + +package() { + cd "$srcdir/$_realname-$pkgver" + + # install module in vendor directories + perl Build.PL installdirs=vendor destdir="$pkgdir" --with-sdl-config + + perl Build + perl Build install +} diff --git a/testing/udev/PKGBUILD b/testing/udev/PKGBUILD index 171a03bc5..2a3787ae9 100644 --- a/testing/udev/PKGBUILD +++ b/testing/udev/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 146792 2012-01-18 11:05:48Z tomegun $ +# $Id: PKGBUILD 147057 2012-01-21 10:00:01Z tpowa $ # Maintainer: Tom Gundersen <teg@jklm.no> # Contributor: Aaron Griffin <aaron@archlinux.org> # Contributor: Tobias Powalowski <tpowa@archlinux.org> @@ -6,23 +6,20 @@ pkgbase="udev" pkgname=('udev' 'udev-compat') -pkgver=177 -pkgrel=3 +pkgver=178 +pkgrel=1 arch=(i686 x86_64) url="http://git.kernel.org/?p=linux/hotplug/udev.git;a=summary" license=('GPL') groups=('base') options=(!makeflags !libtool) makedepends=('gobject-introspection' 'gperf' 'libxslt' 'usbutils' 'kmod') -source=(ftp://ftp.kernel.org/pub/linux/utils/kernel/hotplug/$pkgbase-$pkgver.tar.xz - 0001-udevd-kill-hanging-event-processes-after-30-seconds.patch) +source=(ftp://ftp.kernel.org/pub/linux/utils/kernel/hotplug/$pkgbase-$pkgver.tar.xz) +md5sums=('173cc6061e3a82dd6e9a1a5cf767a858') build() { cd $srcdir/$pkgbase-$pkgver - # deal with broken drivers waiting for firmware to be loaded - patch -p1 -i ../0001-udevd-kill-hanging-event-processes-after-30-seconds.patch - ./configure --prefix=/usr \ --with-rootprefix= \ --sysconfdir=/etc \ @@ -103,5 +100,4 @@ package_udev-compat() { mknod cpu/microcode c 10 184 } -md5sums=('b4e00faf8153fd7202a7ef609284b0c3' - '3e40dca1c4f8194b4633e3befb4da4d4') +md5sums=('173cc6061e3a82dd6e9a1a5cf767a858') diff --git a/x86_64/blender/PKGBUILD b/x86_64/blender/PKGBUILD new file mode 100644 index 000000000..0f23b4ae5 --- /dev/null +++ b/x86_64/blender/PKGBUILD @@ -0,0 +1,102 @@ +# $Id: PKGBUILD 145008 2011-12-14 03:12:03Z eric $ +# Contributor: John Sowiak <john@archlinux.org> +# Contributor: tobias <tobias@archlinux.org> +# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com> + +# Apparently, the blender guys refuse to release source tarballs for +# intermediate releases that deal mainly with binaries but incorporate tiny +# minor changes from svn. Since I'm sick and tired of the urges of users that +# look for release numbers only, we make a messy PKGBUILD that can checkout svn +# release if necessary. + +#_svn=true +_svn=false + +pkgname=blender +pkgver=2.61 +pkgrel=4 +epoch=3 +pkgdesc="A fully integrated 3D graphics creation suite" +arch=('i686' 'x86_64') +license=('GPL') +url="http://www.blender.org" +depends=('libpng' 'libtiff' 'openexr' 'python' 'desktop-file-utils' \ + 'shared-mime-info' 'hicolor-icon-theme' 'xdg-utils' 'glew' \ + 'freetype2' 'openal' 'ffmpeg' 'fftw' 'boost-libs' 'opencollada' 'openimageio') +makedepends=('cmake' 'boost' 'cuda-toolkit') +optdepends=('cuda-toolkit: cycles renderer cuda support') +options=(!strip) +install=blender.install +if [ $_svn = false ]; then + source=(http://download.blender.org/source/$pkgname-$pkgver.tar.gz) + md5sums=('11a4721ff92286f678bb2e05e5f29c97') +else + source=(ftp://ftp.archlinux.org/other/${pkgname}/$pkgname-$pkgver.tar.xz) + md5sums=('7579d1139d0d6025df8afcfca64a65c4') +fi + +# source PKGBUILD && mksource +mksource() { + [[ -x /usr/bin/svn ]] || (echo "svn not found. Install subversion." && return 1) + _svnver=38016 + _svntrunk="https://svn.blender.org/svnroot/bf-blender/trunk/blender" + _svnmod="$pkgname-$pkgver" + mkdir ${pkgname}-$pkgver + pushd ${pkgname}-$pkgver + svn co $_svntrunk --config-dir ./ -r $_svnver $_svnmod + find . -depth -type d -name .svn -exec rm -rf {} \; + tar -cJf ../${pkgname}-$pkgver.tar.xz ${pkgname}-$pkgver/* + popd +} + +build() { + cd "$srcdir/$pkgname-$pkgver" + mkdir build + cd build + + [[ $CARCH == i686 ]] && ENABLESSE2="-DSUPPORT_SSE2_BUILD:BOOL=OFF" + + cmake .. \ + -DCMAKE_INSTALL_PREFIX:PATH=/usr \ + -DCMAKE_BUILD_TYPE:STRING=Release \ + -DWITH_INSTALL_PORTABLE:BOOL=OFF \ + -DWITH_PYTHON_INSTALL:BOOL=OFF \ + -DWITH_OPENCOLLADA:BOOL=ON \ + -DOPENIMAGEIO_ROOT_DIR:STRING=/usr \ + -DWITH_GAMEENGINE:BOOL=ON \ + -DWITH_PLAYER:BOOL=ON \ + -DWITH_BUILTIN_GLEW:BOOL=OFF \ + -DWITH_CODEC_FFMPEG:BOOL=ON \ + -DWITH_CODEC_SNDFILE:BOOL=ON \ + -DWITH_CYCLES:BOOL=ON \ + -DWITH_CYCLES_CUDA_BINARIES:BOOL=ON \ + -DCUDA_TOOLKIT_ROOT_DIR:STRING=/opt/cuda-toolkit/ \ + -DWITH_FFTW3:BOOL=ON \ + -DWITH_MOD_OCEANSIM:BOOL=ON \ + -DPYTHON_VERSION:STRING=3.2 \ + -DPYTHON_LIBPATH:STRING=/usr/lib \ + -DPYTHON_LIBRARY:STRING=python3.2mu \ + -DPYTHON_INCLUDE_DIRS:STRING=/usr/include/python3.2mu \ + $ENABLESSE2 + + make $MAKEFLAGS + + cp -rf "$srcdir"/${pkgname}-$pkgver/release/plugins/* \ + "$srcdir"/${pkgname}-$pkgver/source/blender/blenpluginapi/ + cd "$srcdir"/${pkgname}-$pkgver/source/blender/blenpluginapi + chmod 755 bmake + make +} + +package() { + cd "$srcdir/$pkgname-$pkgver/build" + make DESTDIR="${pkgdir}" install + python -m compileall "${pkgdir}/usr/share/blender" + +# install plugins + install -d -m755 "$pkgdir"/usr/share/blender/${pkgver%[a-z]}/plugins/{sequence,texture} + cp "$srcdir"/${pkgname}-$pkgver/source/blender/blenpluginapi/sequence/*.so \ + "$pkgdir"/usr/share/blender/${pkgver%[a-z]}/plugins/sequence/ + cp "$srcdir"/${pkgname}-$pkgver/source/blender/blenpluginapi/texture/*.so \ + "$pkgdir"/usr/share/blender/${pkgver%[a-z]}/plugins/texture/ +} diff --git a/x86_64/blender/blender.install b/x86_64/blender/blender.install new file mode 100644 index 000000000..724bfce00 --- /dev/null +++ b/x86_64/blender/blender.install @@ -0,0 +1,13 @@ +post_install() { + update-desktop-database -q + update-mime-database usr/share/mime &> /dev/null + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/~fauno/mips64el-unknown-linux-gnu-binutils/PKGBUILD b/~fauno/mips64el-unknown-linux-gnu-binutils/PKGBUILD new file mode 100644 index 000000000..6fc5b1f16 --- /dev/null +++ b/~fauno/mips64el-unknown-linux-gnu-binutils/PKGBUILD @@ -0,0 +1,62 @@ +# $Id: PKGBUILD 60835 2011-12-18 22:14:40Z spupykin $ +# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> + +_cross=mips64el-unknown-linux-gnu +pkgname=${_cross}-binutils +pkgver=2.22 +pkgrel=1 +_date=20111227 +_xprefix=/usr +pkgdesc="A set of programs to assemble and manipulate binary and object files" +arch=(i686 x86_64) +group=('mips64el-devel') +license=(GPL) +options=(!libtool) +url="http://www.gnu.org/software/binutils/" +depends=('glibc' 'zlib') +#makedepends=("${_cross}-libtool") +source=(http://mirrors.kernel.org/archlinux/other/binutils/binutils-${pkgver}_${_date}.tar.bz2) +md5sums=('c2377089c15bb1a1bfaeca8d0e59dd4d') + +build() { + cd $srcdir/binutils + + #export PATH=/usr/${_cross}/bin/:$PATH + + [ $NOEXTRACT -eq 1 ] || ./configure --prefix=${_xprefix} \ + --program-prefix=${_cross}- \ + --enable-shared \ + --disable-multilib \ + --with-lib-path=${_xprefix}/lib/binutils/${_cross} \ + --disable-nls \ + --target=${_cross} \ + --host=${CHOST} \ + --build=${CHOST} \ + --with-sysroot=/usr/${CHOST}/${_cross} \ + + make configure-host + make tooldir=$pkgdir/${_xprefix} + +} + +package() { + cd $srcdir/binutils + + make prefix=$pkgdir/${_xprefix} tooldir=$pkgdir/${_xprefix} install + + mkdir -p $pkgdir/${_xprefix}/lib/binutils/${_cross} + cp -v include/libiberty.h $pkgdir/${_xprefix}/lib/binutils/${_cross} + + rm -f $pkgdir/${_xprefix}/man/man1/{dlltool,nlmconv,windres}* + + rm -f $pkgdir/usr/bin/ar + rm -f $pkgdir/usr/bin/as + rm -f $pkgdir/usr/bin/ld + rm -f $pkgdir/usr/bin/nm + rm -f $pkgdir/usr/bin/objdump + rm -f $pkgdir/usr/bin/ranlib + rm -f $pkgdir/usr/bin/strip + rm -f $pkgdir/usr/bin/objcopy + rm -f $pkgdir/usr/lib/libiberty.a + rm -rf $pkgdir/usr/share +} diff --git a/~fauno/mips64el-unknown-linux-gnu-gcc-base/PKGBUILD b/~fauno/mips64el-unknown-linux-gnu-gcc-base/PKGBUILD new file mode 100644 index 000000000..becc02cfe --- /dev/null +++ b/~fauno/mips64el-unknown-linux-gnu-gcc-base/PKGBUILD @@ -0,0 +1,58 @@ +# $Id: PKGBUILD 60837 2011-12-18 22:34:22Z spupykin $ +# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> + +_cross=mips64el-unknown-linux-gnu +pkgname=${_cross}-gcc-base +pkgver=4.6.2 +pkgrel=1 +pkgdesc="The GNU Compiler Collection" +arch=(i686 x86_64) +license=('GPL' 'LGPL') +url="http://gcc.gnu.org" +depends=("${_cross}-binutils" 'libmpc' 'libelf') +options=(!libtool !emptydirs zipman docs !strip) +source=(ftp://gcc.gnu.org/pub/gcc/releases/gcc-${pkgver}/gcc-core-${pkgver}.tar.bz2) +md5sums=('780f614ab18c7a9066dec6387d7490b2') + +build() { + cd $srcdir/gcc-$pkgver + + export CFLAGS="-O2 -pipe" + export CXXFLAGS="-O2 -pipe" + + [ $NOEXTRACT -eq 1 ] || rm -rf build + mkdir build + cd build + + [ $NOEXTRACT -eq 1 ] || ../configure --prefix=/usr \ + --target=${_cross} \ + --host=${CHOST} \ + --build=${CHOST} \ + --enable-shared --disable-nls --enable-languages=c --enable-multilib \ + --with-local-prefix=/usr/lib/${_cross} \ + --with-as=/usr/bin/${_cross}-as --with-ld=/usr/bin/${_cross}-ld \ + --with-sysroot=/usr/$CHOST/${_cross} + + make all-gcc all-target-libgcc +} + +package() { + cd $srcdir/gcc-$pkgver/build + + export CFLAGS="-O2 -pipe" + export CXXFLAGS="-O2 -pipe" + + make DESTDIR=$pkgdir install-gcc install-target-libgcc + + rm -f $pkgdir/usr/share/man/man7/fsf-funding.7* + rm -f $pkgdir/usr/share/man/man7/gfdl.7* + rm -f $pkgdir/usr/share/man/man7/gpl.7* + rm -rf $pkgdir/usr/share/info + + cp -r $pkgdir/usr/libexec/* $pkgdir/usr/lib/ + rm -rf $pkgdir/usr/libexec + + # strip it manually + strip $pkgdir/usr/bin/* 2>/dev/null || true + find $pkgdir/usr/lib -type f -exec ${_cross}-strip {} \; 2>/dev/null || true +} diff --git a/~fauno/notmuch/PKGBUILD b/~fauno/notmuch/PKGBUILD index e965ea15f..9b02b0919 100644 --- a/~fauno/notmuch/PKGBUILD +++ b/~fauno/notmuch/PKGBUILD @@ -3,7 +3,7 @@ # Maintainer: Richard Murri <admin@richardmurri.com> pkgname=notmuch -pkgver=0.11 +pkgver=0.11_rc3 pkgrel=1 pkgdesc="Notmuch is not much of an email program" arch=(i686 x86_64 mips64el) @@ -16,10 +16,13 @@ optdepends=('emacs: for using the emacs interface' 'python2: for using the python bindings' 'ruby: for using the ruby bindings' 'gnupg: for email encryption') -source=("http://notmuchmail.org/releases/${pkgname}-${pkgver}.tar.gz") +_commit='310608f279150c735b9fde89f2d632f3b41abd6c' +source=(#"http://notmuchmail.org/releases/${pkgname}-${pkgver}.tar.gz" + "http://git.notmuchmail.org/git/notmuch/snapshot/${_commit}.tar.gz") build() { - cd "$srcdir/${pkgname}-${pkgver}" + #cd "$srcdir/${pkgname}-${pkgver}" + cd $srcdir/${pkgname}-* ./configure --prefix=/usr --sysconfdir=/etc make @@ -30,12 +33,14 @@ build() { } check() { - cd "$srcdir/${pkgname}-${pkgver}" + #cd "$srcdir/${pkgname}-${pkgver}" + cd $srcdir/${pkgname}-* make test } package(){ - cd "$srcdir/${pkgname}-${pkgver}" + #cd "$srcdir/${pkgname}-${pkgver}" + cd $srcdir/${pkgname}-* make DESTDIR="$pkgdir/" LIBDIR_IN_LDCONFIG=0 install install -D notmuch $pkgdir/usr/sbin/notmuch @@ -46,7 +51,7 @@ package(){ # Install python bindings - cd "$srcdir/${pkgname}-${pkgver}/bindings/python" + cd $srcdir/${pkgname}-*/bindings/python find "." -name '*.py' -print0 |xargs -0 \ sed -i -e 's,^#!/usr/bin/env python$,#!/usr/bin/env python2,' \ @@ -56,7 +61,8 @@ package(){ env LD_LIBRARY_PATH="." python2 setup.py install --prefix=/usr --root=$pkgdir # Install ruby bindings - cd "$srcdir/${pkgname}-${pkgver}/bindings/ruby" + cd $srcdir/${pkgname}-*/bindings/ruby sed -i -e 's,/site_ruby,,g' Makefile make prefix=${pkgdir}/usr install } +md5sums=('0383f55b5e800e626fd805919138c1b3') diff --git a/~fauno/vala-notmuch/PKGBUILD b/~fauno/vala-notmuch/PKGBUILD new file mode 100644 index 000000000..0e97683a4 --- /dev/null +++ b/~fauno/vala-notmuch/PKGBUILD @@ -0,0 +1,31 @@ +# Maintainer: Mark Foxwell fastfret79@archlinux.org.uk + +pkgname=vala-notmuch +pkgver=20120112 +pkgrel=1 +pkgdesc="a notmuch address book in vala" +url="https://github.com/spaetz/vala-notmuch" +arch=('i686' 'x86_64' 'mips64el') +license=('GPL2') +makedepends=('vala') +depends=('notmuch') +install=vala-notmuch.install +source=("https://repo.parabolagnulinux.org/other/${pkgname}-${pkgver}-${pkgrel}-any.src.tar.xz") + +build() { + cd "${srcdir}/${pkgname}-${pkgver}/src" + + ./make + +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + + install -D -m755 src/addrlookup ${pkgdir}/usr/bin/addrlookup + +} + +# vim:set ts=2 sw=2 et: +md5sums=('99e264c0cb36e0a0f18048fb2ebd07e0') +md5sums=('ca73980225368309119cf17ff5b3f3c4') diff --git a/~fauno/vala-notmuch/SRCBUILD b/~fauno/vala-notmuch/SRCBUILD new file mode 100644 index 000000000..89b6c67ba --- /dev/null +++ b/~fauno/vala-notmuch/SRCBUILD @@ -0,0 +1,39 @@ +# Maintainer: Mark Foxwell fastfret79@archlinux.org.uk + +pkgname=vala-notmuch +pkgver=20120112 +pkgrel=1 +pkgdesc="A notmuch address book in vala" +url="https://github.com/spaetz/vala-notmuch" +arch=('any') +license=('GPL2') +makedepends=('git') + +_gitroot="https://github.com/spaetz/vala-notmuch.git" +_gitname="${pkgname}" + +build() { + cd "$srcdir" + msg 'Connecting to GIT server...' + + if [ -d $_gitname ] ; then + cd $_gitname; git pull origin + msg 'The local files are updated.' + else + git clone $_gitroot $_gitname + fi + + msg "GIT checkout done or server timeout" + +} + +package() { + cd ${pkgdir} + export PKGDEST=${SRCDEST} + export PKGEXT=.src.tar.xz + + git clone ${srcdir}/${pkgname} ${pkgname}-${pkgver} + +} + +# vim:set ts=2 sw=2 et: diff --git a/~fauno/vala-notmuch/vala-notmuch.install b/~fauno/vala-notmuch/vala-notmuch.install new file mode 100644 index 000000000..d1ce89da6 --- /dev/null +++ b/~fauno/vala-notmuch/vala-notmuch.install @@ -0,0 +1,6 @@ +post_install() { +echo "To use within emacs, add the following to your .emacs:" +echo "(require 'notmuch-address)" +echo "(setq notmuch-address-command "/usr/bin/addrlookup")" +echo "(notmuch-address-message-insinuate)" +} diff --git a/~lukeshu/cntlm/PKGBUILD b/~lukeshu/cntlm/PKGBUILD new file mode 100644 index 000000000..2381a924e --- /dev/null +++ b/~lukeshu/cntlm/PKGBUILD @@ -0,0 +1,24 @@ +# Maintainer: Luke Shumaker <lukeshu@sbcglobal.net> + +pkgname=cntlm +pkgver=0.92.1 +pkgrel=1 +pkgdesc="An NTLM / NTLM Session Response / NTLMv2 authenticating HTTP proxy intended to help you break free from the chains of Microsoft proprietary world." +arch=(i686 x86_64) +url="http://cntlm.sourceforge.net/" +license=('GPL2') +backup=('etc/cntlm.conf') +source=("http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.bz2") + +build() { + cd "$srcdir/$pkgname-$pkgver" + ./configure --prefix=/usr + make +} + +package() { + cd "$srcdir/$pkgname-$pkgver" + make DESTDIR="$pkgdir/" install +} + +md5sums=('4ae420663bf67666777e17b6b32c4148') diff --git a/~lukeshu/emacs24/PKGBUILD b/~lukeshu/emacs24/PKGBUILD index 6742edd52..f9eb76d64 100644 --- a/~lukeshu/emacs24/PKGBUILD +++ b/~lukeshu/emacs24/PKGBUILD @@ -10,6 +10,7 @@ arch=('i686' 'x86_64') url="http://www.gnu.org/software/emacs/emacs.html" license=('GPL3') depends=('librsvg' 'gpm' 'giflib' 'libxpm' 'gtk2' 'hicolor-icon-theme' 'gconf' 'desktop-file-utils' 'alsa-lib') +makedepends=('bzr') install=emacs.install source=(emacs.desktop) md5sums=() @@ -22,10 +23,10 @@ build() { msg "Connecting to Bazaar server...." if [[ -d "$_bzrmod" ]]; then - cd "$_bzrmod" && bzr --no-plugins pull "$_bzrtrunk" -r "$pkgver" + cd "$_bzrmod" && bzr --no-plugins pull "$_bzrtrunk" -v -r "$pkgver" 2>&1 msg "The local files are updated." else - bzr --no-plugins branch "$_bzrtrunk" "$_bzrmod" -q -r "$pkgver" + bzr --no-plugins branch "$_bzrtrunk" "$_bzrmod" -v -r "$pkgver" 2>&1 fi msg "Bazaar checkout done or server timeout" diff --git a/~lukeshu/git-svn-abandon-git/PKGBUILD b/~lukeshu/git-svn-abandon-git/PKGBUILD index eb5d94402..fe9f9990c 100644 --- a/~lukeshu/git-svn-abandon-git/PKGBUILD +++ b/~lukeshu/git-svn-abandon-git/PKGBUILD @@ -4,9 +4,9 @@ _pkgname=git-svn-abandon pkgname=$_pkgname-git provides=($_pkgname) conflicts=($_pkgname) -pkgver=20120101 +pkgver=20120112 pkgrel=1 -pkgdesc="" +pkgdesc="History preserving svn to git migration using git-svn." arch=('any') url="http://blog.woobling.org/2009/06/git-svn-abandon.html" license=('MIT') |