summaryrefslogtreecommitdiff
path: root/extra/racket
diff options
context:
space:
mode:
Diffstat (limited to 'extra/racket')
-rw-r--r--extra/racket/PKGBUILD22
-rw-r--r--extra/racket/racket-libpng16.patch52
2 files changed, 66 insertions, 8 deletions
diff --git a/extra/racket/PKGBUILD b/extra/racket/PKGBUILD
index ff74c56c5..b9156e4df 100644
--- a/extra/racket/PKGBUILD
+++ b/extra/racket/PKGBUILD
@@ -1,8 +1,8 @@
-# $Id: PKGBUILD 178310 2013-02-19 23:15:41Z eric $
+# $Id: PKGBUILD 185732 2013-05-18 02:31:12Z eric $
# Maintainer: Eric BĂ©langer <eric@archlinux.org>
pkgname=racket
-pkgver=5.3.3
+pkgver=5.3.4
pkgrel=1
pkgdesc="A programming language environment (formerly known as PLT Scheme) suitable for tasks ranging from scripting to application development"
arch=('i686' 'x86_64')
@@ -13,19 +13,25 @@ makedepends=('gsfonts' 'sqlite')
options=('!libtool' '!strip')
install=racket.install
source=(http://download.racket-lang.org/installers/${pkgver}/racket/${pkgname}-${pkgver}-src-unix.tgz \
- drracket.desktop)
-sha1sums=('96995fe20b332c4644dd51668851193b16976071'
- 'a20808f6b250225704856f82a544681a962a299d')
+ drracket.desktop racket-libpng16.patch)
+sha1sums=('7e37738e34c73a25bc7d51aeb53cf3dc5b0d533d'
+ 'a20808f6b250225704856f82a544681a962a299d'
+ '5b0260f92fc1ec4dc09d90a5264683bd3b5eed5e')
+
+prepare() {
+ cd ${pkgname}-${pkgver}
+ patch -p1 -i "${srcdir}/racket-libpng16.patch"
+}
build() {
- cd "${srcdir}/${pkgname}-${pkgver}/src"
- [ "$CARCH" == "x86_64" ] && export CFLAGS+="-fPIC"
+ cd ${pkgname}-${pkgver}/src
+ [ "$CARCH" == "x86_64" ] && export CFLAGS+=" -fPIC"
./configure --prefix=/usr --enable-shared
make
}
package() {
- cd "${srcdir}/${pkgname}-${pkgver}/src"
+ cd ${pkgname}-${pkgver}/src
make DESTDIR="${pkgdir}" install
install -D -m644 ../collects/icons/plt.xpm "${pkgdir}/usr/share/pixmaps/drracket.xpm"
diff --git a/extra/racket/racket-libpng16.patch b/extra/racket/racket-libpng16.patch
new file mode 100644
index 000000000..8e4b605f2
--- /dev/null
+++ b/extra/racket/racket-libpng16.patch
@@ -0,0 +1,52 @@
+From 5629a6156a5720e51a277849f75b3135cb93664f Mon Sep 17 00:00:00 2001
+From: Matthew Flatt <mflatt@racket-lang.org>
+Date: Wed, 15 May 2013 20:28:05 -0600
+Subject: [PATCH] support libpng16
+
+---
+ collects/racket/draw/unsafe/png.rkt | 21 ++++++++++++++-------
+ 1 file changed, 14 insertions(+), 7 deletions(-)
+
+diff --git a/collects/racket/draw/unsafe/png.rkt b/collects/racket/draw/unsafe/png.rkt
+index 596fcb4..a6b028d 100644
+--- a/collects/racket/draw/unsafe/png.rkt
++++ b/collects/racket/draw/unsafe/png.rkt
+@@ -10,11 +10,15 @@
+ [(unix)
+ ;; Most Linux distros supply "libpng12", while other Unix
+ ;; variants often have just "libpng", etc.
+- (ffi-lib "libpng15" '("15" "")
+- #:fail (lambda ()
+- (ffi-lib "libpng12" '("0" "")
+- #:fail (lambda ()
+- (ffi-lib "libpng")))))]
++ (let loop ([alts '(("libpng16" ("16" ""))
++ ("libpng15" ("15" ""))
++ ("libpng12" ("0" ""))
++ ("libpng"))])
++ (cond
++ [(null? alts) #f]
++ [else (apply ffi-lib (car alts)
++ #:fail (lambda ()
++ (loop (cdr alts))))]))]
+ [(macosx) (ffi-lib "libpng15.15.dylib")]
+ [(windows)
+ (ffi-lib "zlib1.dll")
+@@ -29,9 +33,12 @@
+ ;; assume that other versions are also ok
+ (define PNG_LIBPNG_VER_STRING (string->bytes/latin-1
+ (let ([v (png_access_version_number)])
+- (format "~s.~s"
++ (format "~s.~s~a"
+ (quotient v 10000)
+- (quotient (remainder v 10000) 100)))))
++ (quotient (remainder v 10000) 100)
++ (if (zero? (remainder v 100))
++ ""
++ (format ".~a" (remainder v 100)))))))
+
+ (define _png_structp (_cpointer 'png_structp))
+ (define _png_infop (_cpointer 'png_infop))
+--
+1.8.1.6
+