aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xpatches/libpng/libpng.SlackBuild15
-rw-r--r--patches/libpng/libpng.mmx-x86-only.diff.gzbin0 -> 289 bytes
2 files changed, 14 insertions, 1 deletions
diff --git a/patches/libpng/libpng.SlackBuild b/patches/libpng/libpng.SlackBuild
index ecc4a926..77a67f06 100755
--- a/patches/libpng/libpng.SlackBuild
+++ b/patches/libpng/libpng.SlackBuild
@@ -31,7 +31,7 @@ fi
# default settings
PACKAGE="libpng"
ARCH=${ARCH:=i486}
-VERSION=${VERSION:=1.2.16}
+VERSION=${VERSION:=1.2.18}
BUILD=${BUILD:=1rha}
SRC_DIR=${SRC:=$CWD}
TMP=${TMP:=/tmp}
@@ -87,17 +87,30 @@ find . -perm 711 -exec chmod 755 {} \;
find . -perm 555 -exec chmod 755 {} \;
if [ "$ARCH" == "x86_64" ]; then
+
# Do *NOT* move this... put here in Slamd64 so that libdir
# can be overriden and so that we don't have inline assembly problems
# - if you change this, rebuilding libpng will break, and
# you'll have to rebuild everything that links to it (e.g. KDE).
zcat $CWD/libpng.libs.diff.gz | patch -p1 --verbose || exit $ERROR_PATCH
ln -sf scripts/makefile.linux ./Makefile
+
+ # makefile.linux breaks on trying to deal with MMX on AMD64.
+ # If we use automake, the Makefile doesn't deal with certain
+ # exported functions we need (e.g. png_read_destroy)
+ # We *could* patch libpng to use 64 bit safe MMX instructions, but
+ # the tested and recommended way appears to be to disable the MMX
+ # instructions on AMD64
+ zcat $CWD/libpng.mmx-x86-only.diff.gz | patch -p1 --verbose || exit 1 # Patch from Mandriva
+
./configure --prefix=/usr --libdir=$LIBDIR || exit $ERROR_CONF
+
else
+
./configure --prefix=/usr --libdir=$LIBDIR || exit $ERROR_CONF
zcat $CWD/libpng.libs.diff.gz | patch -p1 --verbose || exit $ERROR_PATCH
ln -sf scripts/makefile.linux ./Makefile
+
fi
make || exit $ERROR_MAKE
diff --git a/patches/libpng/libpng.mmx-x86-only.diff.gz b/patches/libpng/libpng.mmx-x86-only.diff.gz
new file mode 100644
index 00000000..6ab81258
--- /dev/null
+++ b/patches/libpng/libpng.mmx-x86-only.diff.gz
Binary files differ