aboutsummaryrefslogtreecommitdiffstats
path: root/graphics
diff options
context:
space:
mode:
authormi <mi@FreeBSD.org>2007-11-02 20:42:07 +0800
committermi <mi@FreeBSD.org>2007-11-02 20:42:07 +0800
commitb446ee1637a6eafc0c538d3c4e90832d769799b3 (patch)
treed46671d4b437607e4b93d601961b26b06e687b10 /graphics
parent2a7f57e53f7bcf80c4a6d47279af9e12dd260ae6 (diff)
downloadfreebsd-ports-gnome-b446ee1637a6eafc0c538d3c4e90832d769799b3.tar.gz
freebsd-ports-gnome-b446ee1637a6eafc0c538d3c4e90832d769799b3.tar.zst
freebsd-ports-gnome-b446ee1637a6eafc0c538d3c4e90832d769799b3.zip
Add a mega-patch, which makes the library usable. It barely worked on
even i386 before, and does not anymore, as its numerous original bugs were exposed by the evolving compiler. It never worked on a 64-bit platform, as the original authors assumed sizeof(long) to be 4. With this patch it compiles cleanly (WARNS=3) on both i386 and amd64 and should have no problems on other 64-bit systems. A corrupt input-file may still result in a crash, but, at least, it works correctly with correct input files. Tested on camera-generated originals kindly provided by the originator of the PR below. Bump PORTREVISION. Approved by: portmgr (pav, after some deliberations) Portmgr advised against bumping the SHLIB_MAJOR. They did not /insist/ so I chose to bump it -- the old version is too broken to have been usable to anybody for years, and the dependant ports (such as Graphics and ImageMagicks) need an easy way to insist on the new version (via LIB_DEPENDS). Was required to fix: 67815
Diffstat (limited to 'graphics')
-rw-r--r--graphics/libfpx/Makefile14
-rw-r--r--graphics/libfpx/distinfo3
-rw-r--r--graphics/libfpx/files/Makefile.bsd5
-rw-r--r--graphics/libfpx/pkg-plist2
4 files changed, 19 insertions, 5 deletions
diff --git a/graphics/libfpx/Makefile b/graphics/libfpx/Makefile
index 0528b38c57a2..7d66fda56838 100644
--- a/graphics/libfpx/Makefile
+++ b/graphics/libfpx/Makefile
@@ -7,20 +7,30 @@
PORTNAME= libfpx
PORTVERSION= 1.2.0.12
+PORTREVISION= 1
CATEGORIES= graphics
MASTER_SITES= ${MASTER_SITE_LOCAL}
MASTER_SITE_SUBDIR= ehaupt
+PATCHFILES= fpx.mega-patch.2007-11-01.bz2
+PATCH_SITES= http://aldan.algebra.com/~mi/
MAINTAINER= mi@aldan.algebra.com
COMMENT= Library routines for working with Flashpix images
-MAKE_ARGS+= -j2
+MAKE_ARGS+= -j`${SYSCTL} -n hw.ncpu`
USE_BZIP2= yes
post-patch:
- ${RM} ${WRKSRC}/ri_image/wchar.c
+ ${RM} ${WRKSRC}/ri_image/wchar.c ${WRKSRC}/fpx/fpxlib.h
USE_LDCONFIG= yes
MAKEFILE= ${FILESDIR}/Makefile.bsd
.include <bsd.port.mk>
+
+# We want the port's Makefile to build compiler-flags from scratch
+# (based on WARNS= in particular) instead of being influenced by
+# the environment... There is no obvious way to prevent bsd.port.mk
+# from adding CFLAGS and CXXFLAGS to the build environment, so we
+# remove them here.
+MAKE_ENV:= ${MAKE_ENV:NCFLAGS=*:NCXXFLAGS=*}
diff --git a/graphics/libfpx/distinfo b/graphics/libfpx/distinfo
index 92503d30c163..e2c25677dbb0 100644
--- a/graphics/libfpx/distinfo
+++ b/graphics/libfpx/distinfo
@@ -1,3 +1,6 @@
MD5 (libfpx-1.2.0.12.tar.bz2) = a82d33cc0ede71752802da0f410398b8
SHA256 (libfpx-1.2.0.12.tar.bz2) = c9b5ec94c255cbfebcefa6a045f5c7ca3c8ab9de2ad17b88ba4bfce924b91a97
SIZE (libfpx-1.2.0.12.tar.bz2) = 2301747
+MD5 (fpx.mega-patch.2007-11-01.bz2) = 56a2ad668275485c2767924abb8a7209
+SHA256 (fpx.mega-patch.2007-11-01.bz2) = 1b71d5178c2b85d673e5fece161834d27942c829918ff2c04840f07ffecfab6d
+SIZE (fpx.mega-patch.2007-11-01.bz2) = 122232
diff --git a/graphics/libfpx/files/Makefile.bsd b/graphics/libfpx/files/Makefile.bsd
index 634369593b7e..731f92620b51 100644
--- a/graphics/libfpx/files/Makefile.bsd
+++ b/graphics/libfpx/files/Makefile.bsd
@@ -1,7 +1,8 @@
LIB = fpx
INCS = fpxlib.h
-SHLIB_MAJOR= 1
+SHLIB_MAJOR= 2
SHLIB_MINOR= 7
+WARNS= 3
LIBDIR = ${LOCALBASE}/lib
INCSDIR = ${LOCALBASE}/include
@@ -26,7 +27,7 @@ JPGS != find ${.CURDIR}/jpeg -name \*.c
CPPS += ${OLESS:S/^/${.CURDIR}\/oless\//} ${JPGS}
-SRCS = ${CPPS:T}
+SRCS = ${CPPS:T:Nejpeg.c}
CXXFLAGS+= -fno-rtti -fno-exceptions ${HAVES}
LDADD += -L${LOCALBASE}/lib -lm -lstdc++
diff --git a/graphics/libfpx/pkg-plist b/graphics/libfpx/pkg-plist
index b215386b5a94..a45459828f33 100644
--- a/graphics/libfpx/pkg-plist
+++ b/graphics/libfpx/pkg-plist
@@ -1,4 +1,4 @@
-lib/libfpx.so.1
+lib/libfpx.so.2
lib/libfpx.so
lib/libfpx.a
include/fpxlib.h