ports/55399: [PATCH] add freetype2 support to graphics/py-imaging
Geoffrey Mainland
mainland at apeiron.net
Fri Aug 8 19:50:28 UTC 2003
>Number: 55399
>Category: ports
>Synopsis: [PATCH] add freetype2 support to graphics/py-imaging
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Fri Aug 08 12:50:25 PDT 2003
>Closed-Date:
>Last-Modified:
>Originator: Geoffrey Mainland
>Release: FreeBSD 5.1-CURRENT i386
>Organization:
>Environment:
System: FreeBSD hamilton.apeiron.net 5.1-CURRENT FreeBSD 5.1-CURRENT #0: Tue Aug 5 02:34:39 PDT 2003
>Description:
This patch adds support for the freetype functionality in version 1.1.4 of this
port. The new file patch-setup.py allows the port to be built with distutils
when using versions of python >2.0. I've also tweaked things so that when
building with python versions <2.0 files end up in the same place as when using
distutils so nobody has to much with the pkg-plist.
>How-To-Repeat:
>Fix:
diff -ruN py-imaging.orig/Makefile py-imaging/Makefile
--- py-imaging.orig/Makefile Fri Aug 8 12:34:20 2003
+++ py-imaging/Makefile Fri Aug 8 12:33:50 2003
@@ -16,7 +16,8 @@
COMMENT= The Python Imaging Library
BUILD_DEPENDS= ${PYTHON_SITELIBDIR}/_tkinter.so:${PORTSDIR}/x11-toolkits/py-tkinter
-LIB_DEPENDS= jpeg.9:${PORTSDIR}/graphics/jpeg
+LIB_DEPENDS= jpeg.9:${PORTSDIR}/graphics/jpeg \
+ freetype.9:${PORTSDIR}/print/freetype2
RUN_DEPENDS= ${PYTHON_SITELIBDIR}/_tkinter.so:${PORTSDIR}/x11-toolkits/py-tkinter
DIST_SUBDIR= python
@@ -25,13 +26,30 @@
GNU_CONFIGURE= yes
CONFIGURE_ARGS= --with-jpeg=${PREFIX}/lib
CONFIGURE_ENV= PYTHON=${PYTHON_CMD}
+SETUP_ENV= X11BASE=${X11BASE} PREFIX=${PREFIX}
MAKE_FLAGS= OPT="${CFLAGS}"
+.include <bsd.port.pre.mk>
+
PILDIR= ${PYTHON_SITELIBDIR}/PIL
PILDOCDIR= ${PREFIX}/share/doc/PIL
PILEXDIR= ${PREFIX}/share/examples/PIL
PILINCDIR= ${PREFIX}/include/${PYTHON_VERSION}
+.if ${PYTHON_REL} > 200
+post-build:
+ @(cd ${WRKSRC}/..; ${SETENV} ${SETUP_ENV} ${PYTHON_CMD} setup.py build)
+
+do-install:
+ @(cd ${WRKSRC}/..; ${SETENV} ${SETUP_ENV} ${PYTHON_CMD} setup.py install -O1)
+ @${MKDIR} ${PILDOCDIR}
+ ${INSTALL_DATA} ${WRKSRC}/../README ${PILDOCDIR}
+ @${MKDIR} ${PILEXDIR}
+ ${INSTALL_DATA} ${WRKSRC}/../Scripts/* ${PILEXDIR}
+.for file in ImConfig.h ImPlatform.h Imaging.h
+ ${INSTALL_DATA} ${WRKSRC}/${file} ${PILINCDIR}
+.endfor
+.else
post-extract:
@${CP} ${FILESDIR}/Setup ${WRKSRC}/..
@@ -55,5 +73,5 @@
.for file in ImConfig.h ImPlatform.h Imaging.h
${INSTALL_DATA} ${WRKSRC}/${file} ${PILINCDIR}
.endfor
-
-.include <bsd.port.mk>
+.endif
+.include <bsd.port.post.mk>
diff -ruN py-imaging.orig/files/Setup py-imaging/files/Setup
--- py-imaging.orig/files/Setup Fri Aug 8 12:34:20 2003
+++ py-imaging/files/Setup Fri Aug 8 12:33:50 2003
@@ -1,4 +1,5 @@
*shared*
_imaging _imaging.c decode.c encode.c map.c display.c outline.c path.c -IlibImaging libImaging/libImaging.a -I${PREFIX}/include -L${PREFIX}/lib -ljpeg -lz
+_imagingft _imagingft.c -IlibImaging -I${PREFIX}/include -I${PREFIX}/include/freetype2 -L${PREFIX}/lib -lfreetype
_imagingtk _imagingtk.c Tk/tkImaging.c -IlibImaging -I${X11BASE}/include -I${PREFIX}/include/tcl8.4 -I${PREFIX}/include/tk8.4 -L${PREFIX}/lib -ltk84 -ltcl84 -L${X11BASE}/lib -lX11
diff -ruN py-imaging.orig/files/patch-Makefile.pre.in py-imaging/files/patch-Makefile.pre.in
--- py-imaging.orig/files/patch-Makefile.pre.in Fri Aug 8 12:34:20 2003
+++ py-imaging/files/patch-Makefile.pre.in Fri Aug 8 12:33:50 2003
@@ -1,5 +1,5 @@
---- ../Makefile.pre.in.orig Wed Apr 23 00:11:24 2003
-+++ ../Makefile.pre.in Sat Aug 2 13:56:42 2003
+--- ../Makefile.pre.in.orig Tue Apr 22 09:11:24 2003
++++ ../Makefile.pre.in Fri Aug 8 12:08:07 2003
@@ -92,7 +92,7 @@
TARGET= python
@@ -18,3 +18,12 @@
LIBS= @LIBS@
LIBM= @LIBM@
LIBC= @LIBC@
+@@ -153,7 +153,7 @@
+ INCLUDEPY= $(INCLUDEDIR)/python$(VERSION)
+ EXECINCLUDEPY= $(exec_installdir)/include/python$(VERSION)
+ LIBP= $(exec_installdir)/lib/python$(VERSION)
+-DESTSHARED= $(BINLIBDEST)/site-packages
++DESTSHARED= $(BINLIBDEST)/site-packages/PIL
+
+ LIBPL= $(LIBP)/config
+
diff -ruN py-imaging.orig/files/patch-setup.py py-imaging/files/patch-setup.py
--- py-imaging.orig/files/patch-setup.py Wed Dec 31 16:00:00 1969
+++ py-imaging/files/patch-setup.py Fri Aug 8 12:33:50 2003
@@ -0,0 +1,51 @@
+--- ../setup.py.orig Fri May 9 05:00:56 2003
++++ ../setup.py Wed Aug 6 10:40:45 2003
+@@ -51,6 +51,9 @@
+ if os.path.exists('/sw/lib'):
+ LIBRARY_DIRS.append('/sw/lib')
+
++INCLUDE_DIRS.append(os.path.join(os.getenv("PREFIX"), "include"))
++LIBRARY_DIRS.append(os.path.join(os.getenv("PREFIX"), "lib"))
++
+ HAVE_LIBJPEG = 0
+ HAVE_LIBTIFF = 0
+ HAVE_LIBZ = 0
+@@ -126,7 +129,13 @@
+ pass
+ else:
+ INCLUDE_DIRS = ["libImaging"]
++ INCLUDE_DIRS.append(os.path.join(os.getenv("X11BASE"), "include"))
++ INCLUDE_DIRS.append(os.path.join(os.getenv("PREFIX"),
++ "include/tcl%s" % TCL_VERSION))
++ INCLUDE_DIRS.append(os.path.join(os.getenv("PREFIX"),
++ "include/tk%s" % TCL_VERSION))
+ LIBRARY_DIRS = ["libImaging"]
++ LIBRARY_DIRS.append(os.path.join(os.getenv("PREFIX"), "lib"))
+ LIBRARIES = ["Imaging"]
+ EXTRA_COMPILE_ARGS = None
+ EXTRA_LINK_ARGS = None
+@@ -206,7 +215,8 @@
+
+ if not tk_framework_found:
+ # assume the libraries are installed in the default location
+- LIBRARIES.extend(["tk" + TCL_VERSION, "tcl" + TCL_VERSION])
++ version = TCL_VERSION[0] + TCL_VERSION[2]
++ LIBRARIES.extend(["tk" + version, "tcl" + version])
+ HAVE_TCLTK = 1
+
+ if HAVE_TCLTK:
+@@ -266,6 +276,14 @@
+ # FIXME: search for libraries
+ LIBRARIES.append("freetype")
+ INCLUDE_DIRS.append("/usr/include/freetype2")
++ elif os.path.isdir("/usr/local/include/freetype2"):
++ # assume that the freetype library is installed in a
++ # standard location
++ # FIXME: search for libraries
++ LIBRARIES.append("freetype")
++ INCLUDE_DIRS.append("/usr/local/include")
++ INCLUDE_DIRS.append("/usr/local/include/freetype2")
++ LIBRARY_DIRS.append("/usr/local/lib")
+ elif os.path.isdir("/sw/include/freetype2"):
+ # assume that the freetype library is installed in a
+ # standard location
diff -ruN py-imaging.orig/pkg-plist py-imaging/pkg-plist
--- py-imaging.orig/pkg-plist Fri Aug 8 12:34:20 2003
+++ py-imaging/pkg-plist Fri Aug 8 12:33:50 2003
@@ -199,12 +199,13 @@
lib/%%PYTHON_VERSION%%/site-packages/PIL/XpmImagePlugin.py
lib/%%PYTHON_VERSION%%/site-packages/PIL/XpmImagePlugin.pyc
lib/%%PYTHON_VERSION%%/site-packages/PIL/XpmImagePlugin.pyo
+lib/%%PYTHON_VERSION%%/site-packages/PIL/_imaging.so
+lib/%%PYTHON_VERSION%%/site-packages/PIL/_imagingft.so
+lib/%%PYTHON_VERSION%%/site-packages/PIL/_imagingtk.so
lib/%%PYTHON_VERSION%%/site-packages/PIL/__init__.py
lib/%%PYTHON_VERSION%%/site-packages/PIL/__init__.pyc
lib/%%PYTHON_VERSION%%/site-packages/PIL/__init__.pyo
lib/%%PYTHON_VERSION%%/site-packages/PIL.pth
-lib/%%PYTHON_VERSION%%/site-packages/_imaging.so
-lib/%%PYTHON_VERSION%%/site-packages/_imagingtk.so
share/doc/PIL/README
share/examples/PIL/README
share/examples/PIL/bdf2pil.py
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list