summaryrefslogtreecommitdiff
path: root/staging
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2012-04-25 00:01:35 +0000
committerroot <root@rshg054.dnsready.net>2012-04-25 00:01:35 +0000
commit98bf2ac3fdd6f7bcb6ce45c932fc13c07fecc03f (patch)
tree00d9cdbfdc8ef5d7a4a7159a8c6439008509e662 /staging
parent9988621f899d7d4ae5fd0a4a32a4ba3abc5a527d (diff)
Wed Apr 25 00:01:35 UTC 2012
Diffstat (limited to 'staging')
-rw-r--r--staging/glib2/PKGBUILD46
-rw-r--r--staging/glib2/glib2.csh1
-rw-r--r--staging/glib2/glib2.sh1
-rw-r--r--staging/glib2/revert-warn-glib-compile-schemas.patch33
-rw-r--r--staging/libffi/PKGBUILD33
-rw-r--r--staging/libffi/libffi.install20
-rw-r--r--staging/llvm/PKGBUILD212
-rw-r--r--staging/llvm/cindexer-clang-path.patch10
-rw-r--r--staging/llvm/clang-plugin-loader-registry.patch11
-rw-r--r--staging/llvm/clang-pure64.patch13
-rw-r--r--staging/llvm/enable-lto.patch32
-rw-r--r--staging/llvm/fix-gold-lto-linking.patch11
-rw-r--r--staging/python/PKGBUILD76
-rw-r--r--staging/racket/PKGBUILD32
-rw-r--r--staging/racket/drracket.desktop9
-rw-r--r--staging/racket/racket.install11
-rw-r--r--staging/ruby/PKGBUILD56
-rw-r--r--staging/ruby/gemrc5
-rw-r--r--staging/ruby/ruby.install22
19 files changed, 634 insertions, 0 deletions
diff --git a/staging/glib2/PKGBUILD b/staging/glib2/PKGBUILD
new file mode 100644
index 000000000..f56508848
--- /dev/null
+++ b/staging/glib2/PKGBUILD
@@ -0,0 +1,46 @@
+# $Id: PKGBUILD 157096 2012-04-23 20:08:09Z eric $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=glib2
+pkgver=2.32.1
+pkgrel=3
+pkgdesc="Common C routines used by GTK+ and other libs"
+url="http://www.gtk.org/"
+arch=(i686 x86_64)
+license=('LGPL')
+depends=('pcre' 'libffi')
+makedepends=('pkg-config' 'python2')
+optdepends=('python2: for gdbus-codegen')
+options=('!libtool' '!docs' '!emptydirs')
+source=(http://ftp.gnome.org/pub/GNOME/sources/glib/${pkgver%.*}/glib-$pkgver.tar.xz
+ glib2.sh
+ glib2.csh
+ revert-warn-glib-compile-schemas.patch)
+sha256sums=('484d5b7fc09f3fa398355adaf74b369768f5859866c299f229c99721990f8398'
+ '9456872cdedcc639fb679448d74b85b0facf81033e27157d2861b991823b5a2a'
+ '8d5626ffa361304ad3696493c0ef041d0ab10c857f6ef32116b3e2878ecf89e3'
+ '049240975cd2f1c88fbe7deb28af14d4ec7d2640495f7ca8980d873bb710cc97')
+
+build() {
+ cd glib-$pkgver
+ patch -Rp1 -i "$srcdir/revert-warn-glib-compile-schemas.patch"
+ PYTHON=/usr/bin/python2 ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --with-pcre=system \
+ --disable-fam
+ make
+}
+
+package() {
+ cd glib-$pkgver
+ make DESTDIR="$pkgdir" install
+
+ install -d "$pkgdir/etc/profile.d"
+ install -m755 "$srcdir/glib2.sh" "$pkgdir/etc/profile.d/"
+ install -m755 "$srcdir/glib2.csh" "$pkgdir/etc/profile.d/"
+
+ for _i in "$pkgdir/etc/bash_completion.d/"*; do
+ chmod -x "$_i"
+ done
+ sed -i "s|#!/usr/bin/env python|#!/usr/bin/env python2|" "$pkgdir"/usr/bin/gdbus-codegen
+}
diff --git a/staging/glib2/glib2.csh b/staging/glib2/glib2.csh
new file mode 100644
index 000000000..7aa3a2ffa
--- /dev/null
+++ b/staging/glib2/glib2.csh
@@ -0,0 +1 @@
+setenv G_BROKEN_FILENAMES 1
diff --git a/staging/glib2/glib2.sh b/staging/glib2/glib2.sh
new file mode 100644
index 000000000..96a056e1e
--- /dev/null
+++ b/staging/glib2/glib2.sh
@@ -0,0 +1 @@
+export G_BROKEN_FILENAMES=1
diff --git a/staging/glib2/revert-warn-glib-compile-schemas.patch b/staging/glib2/revert-warn-glib-compile-schemas.patch
new file mode 100644
index 000000000..75b05103c
--- /dev/null
+++ b/staging/glib2/revert-warn-glib-compile-schemas.patch
@@ -0,0 +1,33 @@
+From 6560b37450cd19c4a7c7b690e279fe97b7bfdcaa Mon Sep 17 00:00:00 2001
+From: Ryan Lortie <desrt@desrt.ca>
+Date: Thu, 12 Apr 2012 23:55:34 +0000
+Subject: glib-compile-schemas: warn about bad dconf paths
+
+For quite some time the recommended usage of GSettings and dconf has
+been to use paths like /org/gnome/example/. Use of /apps/ has spilled
+over from GConf and is continuing to make its way into a number of
+applications as they port.
+
+glib-compile-schemas will now warn about these types of paths being
+used. This generates a lot of noise, but hopefully it will reduce the
+number of ported applications making this mistake.
+---
+diff --git a/gio/glib-compile-schemas.c b/gio/glib-compile-schemas.c
+index cf02389..27d0181 100644
+--- a/gio/glib-compile-schemas.c
++++ b/gio/glib-compile-schemas.c
+@@ -1204,6 +1204,12 @@ parse_state_start_schema (ParseState *state,
+ return;
+ }
+
++ if (path && (g_str_has_prefix (path, "/apps/") ||
++ g_str_has_prefix (path, "/desktop/") ||
++ g_str_has_prefix (path, "/system/")))
++ g_printerr ("warning: Schema '%s' has path '%s'. Paths starting with "
++ "'/apps/', '/desktop/' or '/system/' are deprecated.\n", id, path);
++
+ state->schema_state = schema_state_new (path, gettext_domain,
+ extends, extends_name, list_of);
+
+--
+cgit v0.9.0.2
diff --git a/staging/libffi/PKGBUILD b/staging/libffi/PKGBUILD
new file mode 100644
index 000000000..4742d1413
--- /dev/null
+++ b/staging/libffi/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 157066 2012-04-23 11:12:47Z allan $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=libffi
+pkgver=3.0.11
+pkgrel=1
+pkgdesc="A portable, high level programming interface to various calling conventions"
+arch=('i686' 'x86_64')
+url="http://sourceware.org/libffi"
+license=('MIT')
+depends=('glibc')
+checkdepends=('dejagnu')
+options=('!libtool')
+install=libffi.install
+source=(ftp://sourceware.org/pub/libffi/libffi-${pkgver}.tar.gz)
+md5sums=('f69b9693227d976835b4857b1ba7d0e3')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr
+ make
+}
+
+check() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make check
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+ install -D -m644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
diff --git a/staging/libffi/libffi.install b/staging/libffi/libffi.install
new file mode 100644
index 000000000..903bede10
--- /dev/null
+++ b/staging/libffi/libffi.install
@@ -0,0 +1,20 @@
+infodir=usr/share/info
+filelist=(libffi.info.gz)
+
+post_install() {
+ [[ -x usr/bin/install-info ]] || return 0
+ for file in ${filelist[@]}; do
+ install-info $infodir/$file $infodir/dir 2> /dev/null
+ done
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ [[ -x usr/bin/install-info ]] || return 0
+ for file in ${filelist[@]}; do
+ install-info --delete $infodir/$file $infodir/dir 2> /dev/null
+ done
+}
diff --git a/staging/llvm/PKGBUILD b/staging/llvm/PKGBUILD
new file mode 100644
index 000000000..c921400ef
--- /dev/null
+++ b/staging/llvm/PKGBUILD
@@ -0,0 +1,212 @@
+# $Id: PKGBUILD 157094 2012-04-23 19:05:50Z foutrelis $
+# Maintainer: Evangelos Foutras <evangelos@foutrelis.com>
+# Contributor: Jan "heftig" Steffens <jan.steffens@gmail.com>
+# Contributor: Sebastian Nowicki <sebnow@gmail.com>
+# Contributor: Devin Cofer <ranguvar{AT]archlinux[DOT}us>
+# Contributor: Tobias Kieslich <tobias@justdreams.de>
+# Contributor: Geoffroy Carrier <geoffroy.carrier@aur.archlinux.org>
+# Contributor: Tomas Lindquist Olsen <tomas@famolsen.dk>
+# Contributor: Roberto Alsina <ralsina@kde.org>
+# Contributor: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
+
+pkgname=('llvm' 'llvm-ocaml' 'clang' 'clang-analyzer')
+pkgver=3.0
+pkgrel=4
+arch=('i686' 'x86_64')
+url="http://llvm.org/"
+license=('custom:University of Illinois/NCSA Open Source License')
+makedepends=('libffi' 'python2' 'ocaml')
+source=(http://llvm.org/releases/$pkgver/$pkgname-$pkgver.tar.gz
+ http://llvm.org/releases/$pkgver/clang-$pkgver.tar.gz
+ clang-plugin-loader-registry.patch
+ cindexer-clang-path.patch
+ clang-pure64.patch
+ enable-lto.patch
+ fix-gold-lto-linking.patch)
+sha256sums=('519eb11d3499ce99c6ffdb8718651fc91425ed7690eac91c8d6853474f7c0477'
+ 'b64e72da356d7c3428cfd7ac620d49ec042c84eaee13c26024879f555f4e126d'
+ 'a0a4494f2a692789670be37fd390906dcaa37b1824f740bdaaea21182f2f3a9c'
+ '3074df5322900e087377a8e03a02115463ccc0011c25917c2f06df11facd9b92'
+ '288a82fbff17bc554f5863734246500e637882af33ee8511019d5e0d6cd20524'
+ 'cf8922a932e1859f3783bef2af8ac1e90ce96f8eec79928392327b71b3d7cb89'
+ '24d275cdf170f53844bc7174b065fb51b6ddbb9642ced34702cde1f0f74d9192')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver.src"
+
+ # Build without -ftree-pre as a workaround for clang segfaulting on x86_64
+ # https://bugzilla.redhat.com/show_bug.cgi?id=791365
+ CFLAGS+=' -fno-tree-pre'
+ CXXFLAGS+=' -fno-tree-pre'
+
+ # At the present, clang must reside inside the LLVM source code tree to build
+ # See http://llvm.org/bugs/show_bug.cgi?id=4840
+ rm -rf tools/clang
+ cp -r "$srcdir/clang-$pkgver.src" tools/clang
+
+ # Fix symbolic links from OCaml bindings to LLVM libraries
+ sed -i 's:\$(PROJ_libdir):/usr/lib/llvm:' bindings/ocaml/Makefile.ocaml
+
+ # Fix installation directories, ./configure doesn't seem to set them right
+ sed -i -e 's:\$(PROJ_prefix)/etc/llvm:/etc/llvm:' \
+ -e 's:\$(PROJ_prefix)/lib:$(PROJ_prefix)/lib/llvm:' \
+ -e 's:\$(PROJ_prefix)/docs/llvm:$(PROJ_prefix)/share/doc/llvm:' \
+ Makefile.config.in
+
+ # Fix insecure rpath (http://bugs.archlinux.org/task/14017)
+ sed -i 's:$(RPATH) -Wl,$(\(ToolDir\|LibDir\|ExmplDir\))::g' Makefile.rules
+
+ # Get the correct list of symbols to export
+ # See http://lists.cs.uiuc.edu/pipermail/cfe-dev/2010-April/008559.html
+ patch -Np1 -i "$srcdir/clang-plugin-loader-registry.patch"
+
+ # Fix clang path in CIndexer.cpp (https://bugs.archlinux.org/task/22799)
+ patch -d tools/clang -Np0 -i "$srcdir/cindexer-clang-path.patch"
+
+ if [[ $CARCH == x86_64 ]]; then
+ # Adjust linker path
+ patch -d tools/clang -Np0 -i "$srcdir/clang-pure64.patch"
+ fi
+
+ # Make -flto work
+ # Use gold instead of default linker, and always use the plugin
+ patch -d tools/clang -Np0 -i "$srcdir/enable-lto.patch"
+
+ # Fix libLTO.so location in gold plugin
+ patch -Np1 -i "$srcdir/fix-gold-lto-linking.patch"
+
+ # Apply strip option to configure
+ _optimized_switch="enable"
+ [[ $(check_option strip) == n ]] && _optimized_switch="disable"
+
+ # Include location of libffi headers in CPPFLAGS
+ export CPPFLAGS="$CPPFLAGS $(pkg-config --cflags libffi)"
+
+ # Force the use of GCC instead of clang
+ CC=gcc CXX=g++ \
+ ./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib/llvm \
+ --sysconfdir=/etc \
+ --enable-shared \
+ --enable-libffi \
+ --enable-targets=all \
+ --disable-expensive-checks \
+ --disable-debug-runtime \
+ --disable-assertions \
+ --with-binutils-include=/usr/include \
+ --$_optimized_switch-optimized
+
+ make REQUIRES_RTTI=1
+}
+
+package_llvm() {
+ pkgdesc="Low Level Virtual Machine"
+ depends=('perl' 'libffi')
+
+ cd "$srcdir/$pkgname-$pkgver.src"
+
+ # We move the clang directory out of the tree so it won't get installed and
+ # then we bring it back in for the clang package
+ mv tools/clang "$srcdir"
+
+ # Copy missing file into the expected location
+ [[ $(check_option strip) == y ]] && _build_type=Release || _build_type=Debug
+ cp bindings/ocaml/llvm/META.llvm bindings/ocaml/llvm/$_build_type/
+
+ # -j1 is due to race conditions during the installation of the OCaml bindings
+ make -j1 DESTDIR="$pkgdir" install
+ mv "$srcdir/clang" tools
+
+ # OCaml bindings go to a separate package
+ rm -rf "$srcdir"/{ocaml,ocamldoc}
+ mv "$pkgdir"/usr/{lib/ocaml,share/doc/llvm/ocamldoc} "$srcdir"
+
+ # Remove duplicate files installed by the OCaml bindings
+ rm "$pkgdir"/usr/{lib/llvm/libllvm*,share/doc/llvm/ocamldoc.tar.gz}
+
+ # Fix permissions of static libs
+ chmod -x "$pkgdir"/usr/lib/llvm/*.a
+
+ # Fix libdir in llvm-config (http://bugs.archlinux.org/task/14487)
+ sed -i 's:\(ABS_RUN_DIR/lib\):\1/llvm:' "$pkgdir/usr/bin/llvm-config"
+
+ # Get rid of example Hello transformation
+ rm "$pkgdir"/usr/lib/llvm/*LLVMHello.*
+
+ # Add ld.so.conf.d entry
+ install -d "$pkgdir/etc/ld.so.conf.d"
+ echo /usr/lib/llvm >"$pkgdir/etc/ld.so.conf.d/llvm.conf"
+
+ # Symlink LLVMgold.so into /usr/lib/bfd-plugins
+ # (https://bugs.archlinux.org/task/28479)
+ install -d "$pkgdir/usr/lib/bfd-plugins"
+ ln -s ../llvm/LLVMgold.so "$pkgdir/usr/lib/bfd-plugins/LLVMgold.so"
+
+ install -Dm644 LICENSE.TXT "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
+package_llvm-ocaml() {
+ pkgdesc="OCaml bindings for LLVM"
+ depends=("llvm=$pkgver-$pkgrel" 'ocaml')
+
+ cd "$srcdir/llvm-$pkgver.src"
+
+ install -d "$pkgdir"/{usr/lib,usr/share/doc/llvm}
+ cp -r "$srcdir/ocaml" "$pkgdir/usr/lib"
+ cp -r "$srcdir/ocamldoc" "$pkgdir/usr/share/doc/llvm"
+
+ # Remove execute bit from static libraries
+ chmod -x "$pkgdir"/usr/lib/ocaml/libllvm*.a
+
+ install -Dm644 LICENSE.TXT "$pkgdir/usr/share/licenses/llvm-ocaml/LICENSE"
+}
+
+package_clang() {
+ pkgdesc="C language family frontend for LLVM"
+ url="http://clang.llvm.org/"
+ depends=("llvm=$pkgver-$pkgrel" 'gcc')
+
+ # Fix installation path for clang docs
+ sed -i 's:$(PROJ_prefix)/share/doc/llvm:$(PROJ_prefix)/share/doc/clang:' \
+ "$srcdir/llvm-$pkgver.src/Makefile.config"
+
+ cd "$srcdir/llvm-$pkgver.src/tools/clang"
+ make DESTDIR="$pkgdir" install
+
+ # Fix permissions of static libs
+ chmod -x "$pkgdir"/usr/lib/llvm/*.a
+
+ # Revert the path change in case we want to do a repackage later
+ sed -i 's:$(PROJ_prefix)/share/doc/clang:$(PROJ_prefix)/share/doc/llvm:' \
+ "$srcdir/llvm-$pkgver.src/Makefile.config"
+
+ install -Dm644 LICENSE.TXT "$pkgdir/usr/share/licenses/clang/LICENSE"
+}
+
+package_clang-analyzer() {
+ pkgdesc="A source code analysis framework"
+ url="http://clang-analyzer.llvm.org/"
+ depends=("clang=$pkgver-$pkgrel" 'python2')
+
+ cd "$srcdir/llvm-$pkgver.src/tools/clang"
+
+ install -d "$pkgdir"/usr/{bin,lib/clang-analyzer}
+ for _tool in scan-{build,view}; do
+ cp -r tools/$_tool "$pkgdir/usr/lib/clang-analyzer/"
+ ln -s /usr/lib/clang-analyzer/$_tool/$_tool "$pkgdir/usr/bin/"
+ done
+
+ # Use Python 2
+ sed -i 's/env python$/&2/' \
+ "$pkgdir/usr/lib/clang-analyzer/scan-view/scan-view" \
+ "$pkgdir/usr/lib/clang-analyzer/scan-build/set-xcode-analyzer"
+
+ # Compile Python scripts
+ python2 -m compileall "$pkgdir/usr/lib/clang-analyzer"
+ python2 -O -m compileall "$pkgdir/usr/lib/clang-analyzer"
+
+ install -Dm644 LICENSE.TXT "$pkgdir/usr/share/licenses/clang-analyzer/LICENSE"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/staging/llvm/cindexer-clang-path.patch b/staging/llvm/cindexer-clang-path.patch
new file mode 100644
index 000000000..ddaab690e
--- /dev/null
+++ b/staging/llvm/cindexer-clang-path.patch
@@ -0,0 +1,10 @@
+--- tools/libclang/CIndexer.cpp.orig 2011-04-07 13:08:24.000000000 +0300
++++ tools/libclang/CIndexer.cpp 2011-04-07 13:11:52.224884642 +0300
+@@ -80,6 +80,7 @@ std::string CIndexer::getClangResourcesP
+
+ // We now have the CIndex directory, locate clang relative to it.
+ LibClangPath.eraseComponent();
++ LibClangPath.eraseComponent();
+ #endif
+
+ LibClangPath.appendComponent("clang");
diff --git a/staging/llvm/clang-plugin-loader-registry.patch b/staging/llvm/clang-plugin-loader-registry.patch
new file mode 100644
index 000000000..f46eb9fce
--- /dev/null
+++ b/staging/llvm/clang-plugin-loader-registry.patch
@@ -0,0 +1,11 @@
+diff -upr llvm-2.7.orig/autoconf/ExportMap.map llvm-2.7/autoconf/ExportMap.map
+--- llvm-2.7.orig/autoconf/ExportMap.map 2010-02-25 00:33:41.000000000 +0200
++++ llvm-2.7/autoconf/ExportMap.map 2010-05-10 14:14:22.000000000 +0300
+@@ -2,6 +2,7 @@
+ global: main;
+ __progname;
+ environ;
++ _ZN4llvm8RegistryIN5clang14FrontendActionENS_14RegistryTraitsIS2_EEE4HeadE;
+
+ local: *;
+ };
diff --git a/staging/llvm/clang-pure64.patch b/staging/llvm/clang-pure64.patch
new file mode 100644
index 000000000..9bbbfaa8b
--- /dev/null
+++ b/staging/llvm/clang-pure64.patch
@@ -0,0 +1,13 @@
+Index: lib/Driver/Tools.cpp
+===================================================================
+--- lib/Driver/Tools.cpp (revision 123373)
++++ lib/Driver/Tools.cpp (working copy)
+@@ -3306,7 +3306,7 @@
+ else if (ToolChain.getArch() == llvm::Triple::ppc64)
+ CmdArgs.push_back("/lib64/ld64.so.1");
+ else
+- CmdArgs.push_back("/lib64/ld-linux-x86-64.so.2");
++ CmdArgs.push_back("/lib/ld-linux-x86-64.so.2");
+ }
+
+ CmdArgs.push_back("-o");
diff --git a/staging/llvm/enable-lto.patch b/staging/llvm/enable-lto.patch
new file mode 100644
index 000000000..3c8691b17
--- /dev/null
+++ b/staging/llvm/enable-lto.patch
@@ -0,0 +1,32 @@
+Index: lib/Driver/ToolChains.cpp
+===================================================================
+--- lib/Driver/ToolChains.cpp (revision 123373)
++++ lib/Driver/ToolChains.cpp (working copy)
+@@ -1398,7 +1398,7 @@
+ PPaths.push_back(Twine(GCCInstallation.getParentLibPath() + "/../" +
+ GCCInstallation.getTriple() + "/bin").str());
+
+- Linker = GetProgramPath("ld");
++ Linker = GetProgramPath("ld.gold");
+
+ LinuxDistro Distro = DetectLinuxDistro(Arch);
+
+Index: lib/Driver/Tools.cpp
+===================================================================
+--- lib/Driver/Tools.cpp (revision 123373)
++++ lib/Driver/Tools.cpp (working copy)
+@@ -3412,11 +3412,11 @@
+ }
+ }
+
+- if (Args.hasArg(options::OPT_use_gold_plugin)) {
++ // if (Args.hasArg(options::OPT_use_gold_plugin)) {
+ CmdArgs.push_back("-plugin");
+- std::string Plugin = ToolChain.getDriver().Dir + "/../lib/LLVMgold.so";
++ std::string Plugin = ToolChain.getDriver().Dir + "/../lib/llvm/LLVMgold.so";
+ CmdArgs.push_back(Args.MakeArgString(Plugin));
+- }
++ // }
+
+ C.addCommand(new Command(JA, *this, ToolChain.Linker.c_str(), CmdArgs));
+ }
diff --git a/staging/llvm/fix-gold-lto-linking.patch b/staging/llvm/fix-gold-lto-linking.patch
new file mode 100644
index 000000000..84d166471
--- /dev/null
+++ b/staging/llvm/fix-gold-lto-linking.patch
@@ -0,0 +1,11 @@
+diff -upr llvm-3.0.src.orig/tools/gold/Makefile llvm-3.0.src/tools/gold/Makefile
+--- llvm-3.0.src.orig/tools/gold/Makefile 2011-05-31 23:00:45.000000000 +0300
++++ llvm-3.0.src/tools/gold/Makefile 2011-12-04 22:06:59.000000000 +0200
+@@ -26,6 +26,6 @@ LINK_COMPONENTS := support
+ # Because off_t is used in the public API, the largefile parts are required for
+ # ABI compatibility.
+ CXXFLAGS+=-I$(BINUTILS_INCDIR) -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
+-CXXFLAGS+=$(SharedLibDir)/$(SharedPrefix)LTO$(SHLIBEXT)
++CXXFLAGS+=-L $(SharedLibDir) -lLTO
+
+ include $(LEVEL)/Makefile.common
diff --git a/staging/python/PKGBUILD b/staging/python/PKGBUILD
new file mode 100644
index 000000000..11e2f8246
--- /dev/null
+++ b/staging/python/PKGBUILD
@@ -0,0 +1,76 @@
+# $Id: PKGBUILD 157113 2012-04-23 23:56:16Z stephane $
+# Maintainer: Stéphane Gaudreault <stephane@archlinux.org>
+# Contributor: Allan McRae <allan@archlinux.org>
+# Contributor: Jason Chu <jason@archlinux.org>
+
+pkgname=python
+pkgver=3.2.3
+pkgrel=3
+_pybasever=3.2
+pkgdesc="Next generation of the python high-level scripting language"
+arch=('i686' 'x86_64')
+license=('custom')
+url="http://www.python.org/"
+depends=('expat' 'bzip2' 'gdbm' 'openssl' 'libffi' 'zlib')
+makedepends=('tk' 'sqlite' 'valgrind')
+optdepends=('tk: for tkinter' 'sqlite')
+provides=('python3')
+replaces=('python3')
+options=('!makeflags')
+source=(http://www.python.org/ftp/python/${pkgver%rc*}/Python-${pkgver}.tar.xz)
+sha1sums=('3d607dbcfdf100dd659978195ccf3ade9d221823')
+
+build() {
+ cd "${srcdir}/Python-${pkgver}"
+
+ # FS#23997
+ sed -i -e "s|^#.* /usr/local/bin/python|#!/usr/bin/python|" Lib/cgi.py
+
+ # Ensure that we are using the system copy of various libraries (expat, zlib and libffi),
+ # rather than copies shipped in the tarball
+ rm -r Modules/expat
+ rm -r Modules/zlib
+ rm -r Modules/_ctypes/{darwin,libffi}*
+
+ ./configure --prefix=/usr \
+ --enable-shared \
+ --with-threads \
+ --with-computed-gotos \
+ --enable-ipv6 \
+ --with-valgrind \
+ --with-wide-unicode \
+ --with-system-expat \
+ --with-dbmliborder=gdbm:ndbm \
+ --with-system-ffi
+
+ make
+}
+
+check() {
+ cd "${srcdir}/Python-${pkgver}"
+ LD_LIBRARY_PATH="${srcdir}/Python-${pkgver}":${LD_LIBRARY_PATH} \
+ "${srcdir}/Python-${pkgver}/python" -m test.regrtest -x test_distutils test_site \
+ test_urllib test_uuid test_pydoc
+}
+
+package() {
+ cd "${srcdir}/Python-${pkgver}"
+ make DESTDIR="${pkgdir}" install maninstall
+
+ # Why are these not done by default...
+ ln -sf python3 "${pkgdir}/usr/bin/python"
+ ln -sf python3-config "${pkgdir}/usr/bin/python-config"
+ ln -sf idle3 "${pkgdir}/usr/bin/idle"
+ ln -sf pydoc3 "${pkgdir}/usr/bin/pydoc"
+ ln -sf python${_pybasever}.1 "${pkgdir}/usr/share/man/man1/python3.1"
+
+ # Fix FS#22552
+ ln -sf ../../libpython${_pybasever}mu.so \
+ "${pkgdir}/usr/lib/python${_pybasever}/config-${_pybasever}mu/libpython${_pybasever}mu.so"
+
+ # Clean-up reference to build directory
+ sed -i "s|$srcdir/Python-${pkgver}:||" "$pkgdir/usr/lib/python${_pybasever}/config-${_pybasever}mu/Makefile"
+
+ # License
+ install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
diff --git a/staging/racket/PKGBUILD b/staging/racket/PKGBUILD
new file mode 100644
index 000000000..5eaf03259
--- /dev/null
+++ b/staging/racket/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 157106 2012-04-23 23:36:47Z eric $
+# Maintainer: Eric Bélanger <eric@archlinux.org>
+
+pkgname=racket
+pkgver=5.2.1
+pkgrel=2
+pkgdesc="A programming language environment (formerly known as PLT Scheme) suitable for tasks ranging from scripting to application development"
+arch=('i686' 'x86_64')
+url="http://racket-lang.org/"
+license=('LGPL')
+depends=('gtk2' 'desktop-file-utils')
+makedepends=('gsfonts')
+options=('!libtool' '!strip')
+install=racket.install
+source=(http://download.racket-lang.org/installers/${pkgver}/racket/${pkgname}-${pkgver}-src-unix.tgz \
+ drracket.desktop)
+sha1sums=('a4ea408818236f8eaf937291dd641fd73a997793'
+ 'a20808f6b250225704856f82a544681a962a299d')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}/src"
+ [ "$CARCH" == "x86_64" ] && export CFLAGS+="-fPIC"
+ ./configure --prefix=/usr --enable-shared
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}/src"
+ make DESTDIR="${pkgdir}" install
+ install -D -m644 ../collects/icons/plt.xpm "${pkgdir}/usr/share/pixmaps/drracket.xpm"
+ install -D -m644 "${srcdir}/drracket.desktop" "${pkgdir}/usr/share/applications/drracket.desktop"
+}
diff --git a/staging/racket/drracket.desktop b/staging/racket/drracket.desktop
new file mode 100644
index 000000000..79876de50
--- /dev/null
+++ b/staging/racket/drracket.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=DrRacket
+GenericName=IDE for Racket
+Comment=DrRacket is an interactive, integrated, graphical programming environment for the Racket programming languages.
+Exec=drracket
+Terminal=false
+Type=Application
+Categories=Education;Development;
+Icon=drracket
diff --git a/staging/racket/racket.install b/staging/racket/racket.install
new file mode 100644
index 000000000..660593cf5
--- /dev/null
+++ b/staging/racket/racket.install
@@ -0,0 +1,11 @@
+post_install() {
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/staging/ruby/PKGBUILD b/staging/ruby/PKGBUILD
new file mode 100644
index 000000000..084545294
--- /dev/null
+++ b/staging/ruby/PKGBUILD
@@ -0,0 +1,56 @@
+# Maintainer: Thomas Dziedzic <gostrc@gmail.com>
+# Contributor: Allan McRae <allan@archlinux.org>
+# Contributor: John Proctor <jproctor@prium.net>
+# Contributor: Jeramy Rutley <jrutley@gmail.com>
+
+pkgname=ruby
+pkgver=1.9.3_p194
+pkgrel=2
+pkgdesc='An object-oriented language for quick and easy programming'
+arch=('i686' 'x86_64')
+url='http://www.ruby-lang.org/en/'
+license=('BSD' 'custom')
+backup=('etc/gemrc')
+provides=('rubygems' 'rake')
+conflicts=('rake')
+depends=('openssl' 'libffi' 'libyaml')
+makedepends=('tk')
+optdepends=('tk: for Ruby/TK'
+ 'ruby-docs: Ruby documentation')
+options=('!emptydirs' '!makeflags')
+install='ruby.install'
+source=("ftp://ftp.ruby-lang.org/pub/ruby/${pkgver%.*}/ruby-${pkgver//_/-}.tar.bz2"
+ 'gemrc')
+md5sums=('2278eff4cfed3cbc0653bc73085caa34'
+ '6fb8e7a09955e0f64be3158fb4a27e7a')
+
+build() {
+ cd ruby-${pkgver//_/-}
+
+ PKG_CONFIG=/usr/bin/pkg-config ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --enable-shared \
+ --enable-pthread \
+ --disable-rpath \
+ --disable-install-doc
+
+ make
+}
+
+check() {
+ cd ruby-${pkgver//_/-}
+
+ make test
+}
+
+package() {
+ cd ruby-${pkgver//_/-}
+
+ make DESTDIR="${pkgdir}" install-nodoc
+
+ install -D -m644 ${srcdir}/gemrc "${pkgdir}/etc/gemrc"
+
+ install -D -m644 COPYING "${pkgdir}/usr/share/licenses/ruby/LICENSE"
+ install -D -m644 BSDL "${pkgdir}/usr/share/licenses/ruby/BSDL"
+}
diff --git a/staging/ruby/gemrc b/staging/ruby/gemrc
new file mode 100644
index 000000000..3d11de1ec
--- /dev/null
+++ b/staging/ruby/gemrc
@@ -0,0 +1,5 @@
+# Read about the gemrc format at http://docs.rubygems.org/read/chapter/11
+
+# --user-install is used to install to $HOME/.gem/ by default since we want to separate
+# pacman installed gems and gem installed gems
+gem: --user-install
diff --git a/staging/ruby/ruby.install b/staging/ruby/ruby.install
new file mode 100644
index 000000000..ce78e96ec
--- /dev/null
+++ b/staging/ruby/ruby.install
@@ -0,0 +1,22 @@
+#!/bin/sh
+
+print_gem_default_target() {
+ echo 'The default location of gem installs is $HOME/.gem/ruby'
+ echo 'Add the following line to your PATH if you plan to install using gem'
+ echo '$(ruby -rubygems -e "puts Gem.user_dir")/bin'
+ echo 'If you want to install to the system wide location, you must either:'
+ echo 'edit /etc/gemrc or run gem with the --no-user-install flag.'
+}
+
+# arg 1: the new package version
+post_install() {
+ print_gem_default_target
+}
+
+# arg 1: the new package version
+# arg 2: the old package version
+post_upgrade() {
+ if [ "$(vercmp $2 1.9.3_p125-4)" -lt 0 ]; then
+ print_gem_default_target
+ fi
+}