Update to fontforge-20251009.

This hopefully builds with llvm 22 (at least it did with the one from
the ports tree).
This commit is contained in:
kili
2026-05-28 19:05:07 +00:00
parent 679b97fd58
commit 5253133fcd
11 changed files with 1108 additions and 247 deletions
+24 -33
View File
@@ -2,61 +2,52 @@ BROKEN-i386= hangs at runtime. started after switch to clang
COMMENT= vector font editor/converter
DISTNAME= fontforge_full-20120731-b
PKGNAME= ${DISTNAME:S,_full,,:S,-b,,}
EXTRACT_SUFX= .tar.bz2
SHARED_LIBS= fontforge 4.0 \
gdraw 5.1 \
gioftp 2.1 \
gunicode 5.1 \
gutils 2.1
REVISION= 7
V= 20251009
DISTNAME= fontforge-$V
SHARED_LIBS= fontforge 5.0
CATEGORIES= print
HOMEPAGE= https://fontforge.github.io/en-US/
HOMEPAGE= https://fontforge.org/en-US/
MAINTAINER= Matthias Kilian <kili@openbsd.org>
# BSD
# GPLv3
PERMIT_PACKAGE= Yes
WANTLIB = ${COMPILER_LIBCXX} ${MODPY_WANTLIB}
WANTLIB += ICE SM X11 Xext Xft Xi Xrender c cairo expat ffi fontconfig
WANTLIB += freetype fribidi gif gio-2.0 gmodule-2.0 glib-2.0
WANTLIB += gobject-2.0 graphite2 harfbuzz iconv intl jpeg lzma m
WANTLIB += pango-1.0 pangocairo-1.0 pangoft2-1.0 pangoxft-1.0 pcre2-8
WANTLIB += pixman-1 png pthread spiro tiff util xcb xcb-render
WANTLIB += xcb-shm xml2 z zstd
WANTLIB += atk-1.0 atkmm-1.6 brotlidec brotlienc c cairo cairo-gobject
WANTLIB += cairomm-1.0 freetype gdk-3 gdk_pixbuf-2.0 gdkmm-3.0
WANTLIB += gif gio-2.0 giomm-2.4 glib-2.0 glibmm-2.4 gobject-2.0
WANTLIB += gtk-3 gtkmm-3.0 harfbuzz iconv intl jpeg m pango-1.0
WANTLIB += pangocairo-1.0 pangomm-1.4 png readline sigc-2.0 spiro
WANTLIB += tiff util woff2dec woff2enc xml2 z
SITES= ${SITE_SOURCEFORGE:=fontforge/}
SITES= https://github.com/fontforge/fontforge/releases/download/$V/
EXTRACT_SUFX= .tar.xz
MODULES= lang/python
MODPY_VERSION = ${MODPY_DEFAULT_VERSION_2}
MODULES= devel/cmake \
lang/python
BUILD_DEPENDS= devel/gettext,-tools
LIB_DEPENDS= ${MODPY_LIB_DEPENDS} \
graphics/cairo \
archivers/woff2 \
graphics/cairo \
graphics/jpeg \
devel/gettext,-runtime \
devel/pango \
graphics/libspiro \
graphics/png \
graphics/tiff \
graphics/giflib \
textproc/libxml
textproc/libxml \
x11/gtk+3 \
x11/gtk3mm
WRKDIST= ${WRKDIR}/${DISTNAME:S,_full,,}
CONFIGURE_STYLE= gnu
CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include" \
LDFLAGS="-L${X11BASE}/lib -L${LOCALBASE}/lib \
-lintl -liconv -lz"
CONFIGURE_ARGS= --without-freetype-src \
--with-python=${MODPY_BIN} \
--with-python-lib="$$(python${MODPY_VERSION}-config --libs)" \
--with-regular-link
USE_GMAKE= Yes
# Required for libintl (the build system tries -lintl without any path,
# in contrast to all other libraries).
CONFIGURE_ENV= LDFLAGS="-L${LOCALBASE}/lib"
NO_TEST= Yes
+2 -2
View File
@@ -1,2 +1,2 @@
SHA256 (fontforge_full-20120731-b.tar.bz2) = G2GEyv8hHjFXg6ApJW9WzwXx1P08vLQYINIcd0UED7Y=
SIZE (fontforge_full-20120731-b.tar.bz2) = 5541994
SHA256 (fontforge-20251009.tar.xz) = aQRlABhaVYG1gTnfrTDAs9gSjwDrv93DHy/Ph34ynlI=
SIZE (fontforge-20251009.tar.xz) = 14032824
@@ -1,10 +0,0 @@
--- Makefile.dynamic.in.orig Thu Aug 2 17:09:08 2012
+++ Makefile.dynamic.in Sat Jan 4 21:42:37 2014
@@ -77,7 +77,6 @@ install_libs: libs
if test -r libgdraw.la ; then $(LIBTOOL) --mode=install $(INSTALL) -c libgdraw.la $(DESTDIR)$(libdir)/libgdraw.la ; fi
#We don't always build libfontforge
if test -r libfontforge.la ; then $(LIBTOOL) --mode=install $(INSTALL) -c libfontforge.la $(DESTDIR)$(libdir)/libfontforge.la ; fi
- $(LIBTOOL) --mode=finish $(DESTDIR)$(libdir)
mkdir -p $(DESTDIR)$(libdir)/pkgconfig
$(INSTALL_DATA) fontforge.pc $(DESTDIR)$(libdir)/pkgconfig
@@ -1,11 +0,0 @@
--- Unicode/Makefile.dynamic.in.orig Thu Aug 2 17:09:08 2012
+++ Unicode/Makefile.dynamic.in Sat Jan 4 21:42:37 2014
@@ -20,7 +20,7 @@ libgunicode_OBJECTS = ArabicForms.lo alphabet.lo back
cjk.lo memory.lo ucharmap.lo unialt.lo ustring.lo utype.lo \
usprintf.lo gwwiconv.lo
-Incs = -I$(top_srcdir)/inc -I../inc -I/usr/pkg/include -I/usr/pkg/include/giflib
+Incs = -I$(top_srcdir)/inc -I../inc
CFLAGS = @CFLAGS@ @CPPFLAGS@ $(Incs) @WFLAGS@ @DEFS@
../libgunicode.la: $(libgunicode_OBJECTS)
@@ -1,17 +0,0 @@
--- fontforge/Makefile.dynamic.in.orig Thu Aug 2 17:09:08 2012
+++ fontforge/Makefile.dynamic.in Sat Jan 4 21:42:37 2014
@@ -138,12 +138,12 @@ splinerefigure.lo: $(srcdir)/splinerefigure.c $(srcdir
%.o: %.c
%.o: %.c $(srcdir)/splinefont.h $(srcdir)/views.h $(srcdir)/stemdb.h $(srcdir)/ttf.h $(srcdir)/unicoderange.h $(srcdir)/psfont.h $(srcdir)/groups.h $(srcdir)/edgelist.h $(srcdir)/edgelist2.h $(srcdir)/uiinterface.h $(srcdir)/fontforgevw.h
- $(CC) $(CFLAGS) -c $<
+ $(CC) $(CFLAGS) $(CFLAGS_$<) -c $<
%.lo: %.c
%.lo: %.c $(srcdir)/splinefont.h $(srcdir)/views.h $(srcdir)/stemdb.h $(srcdir)/ttf.h $(srcdir)/unicoderange.h $(srcdir)/psfont.h $(srcdir)/groups.h $(srcdir)/edgelist.h $(srcdir)/edgelist2.h $(srcdir)/uiinterface.h $(srcdir)/fontforgevw.h
- $(LIBTOOL) --mode=compile $(CC) $(CFLAGS) -c $<
+ $(LIBTOOL) --mode=compile $(CC) $(CFLAGS) $(CFLAGS_$<) -c $<
clean:
-rm -f fontforge sfddiff fontimage acorn2sfd fontimage fontlint \
@@ -1,18 +0,0 @@
--- fontforge/cvexport.c.orig Thu Aug 2 17:09:08 2012
+++ fontforge/cvexport.c Sat Jan 4 21:42:37 2014
@@ -220,15 +220,7 @@ int _ExportPDF(FILE *pdf,SplineChar *sc,int layer) {
fprintf( pdf, " /CreationDate (D:%04d%02d%02d%02d%2d%02d",
1900+tm->tm_year, tm->tm_mon+1, tm->tm_mday,
tm->tm_hour, tm->tm_min, tm->tm_sec );
-#ifdef _NO_TZSET
fprintf( pdf, "Z)\n" );
-#else
- tzset();
- if ( timezone==0 )
- fprintf( pdf, "Z)\n" );
- else
- fprintf( pdf, "%+02d')\n", (int) timezone/3600 ); /* doesn't handle half-hour zones */
-#endif
fprintf( pdf, " /Title (%s from %s)\n", sc->name, sc->parent->fontname );
if ( author!=NULL )
fprintf( pdf, " /Author (%s)\n", author );
@@ -1,14 +0,0 @@
--- fontforge/print.c.orig Thu Aug 2 17:09:09 2012
+++ fontforge/print.c Sat Jan 4 21:42:37 2014
@@ -1143,10 +1143,7 @@ static void dump_pdfprologue(PI *pi) {
tm = localtime(&now);
fprintf( pi->out, " /CreationDate (D:%4d%02d%02d%02d%02d",
tm->tm_year+1900, tm->tm_mon+1, tm->tm_mday, tm->tm_hour, tm->tm_min );
- if ( timezone==0 )
- fprintf( pi->out, "Z)\n" );
- else
- fprintf( pi->out, "%+02d')\n", (int) timezone/3600 ); /* doesn't handle half-hour zones */
+ fprintf( pi->out, "Z)\n" );
if ( author!=NULL )
fprintf( pi->out, " /Author (%s)\n", author );
fprintf( pi->out, ">>\n" );
@@ -0,0 +1,14 @@
Pull in libintl.h (indirectly) before using anything from it. Fixes
/usr/local/include/libintl.h:1019:17: error: cannot apply asm label to function after its first use
Index: fontforge/splinefont.h
--- fontforge/splinefont.h.orig
+++ fontforge/splinefont.h
@@ -31,6 +31,7 @@
#include "basics.h"
#include "dlist.h"
#include "gwwiconv.h"
+#include "intl.h"
#include "ustring.h"
#include "splinechar.h"
#include "splinefont_enums.h"
@@ -1,11 +0,0 @@
--- gdraw/Makefile.dynamic.in.orig Thu Aug 2 17:09:09 2012
+++ gdraw/Makefile.dynamic.in Sat Jan 4 21:42:37 2014
@@ -36,7 +36,7 @@ libgdraw_OBJECTS = choosericons.lo ctlvalues.lo drawb
gtextfield.lo gtextinfo.lo gwidgets.lo gxdraw.lo gxcdraw.lo \
ghvbox.lo gmatrixedit.lo gdrawable.lo gspacer.lo xkeysyms_unicode.lo
-Incs = -I$(top_srcdir)/inc -I../inc -I/usr/pkg/include -I/usr/pkg/include/giflib
+Incs = -I$(top_srcdir)/inc -I../inc
CFLAGS = @CFLAGS@ @CPPFLAGS@ $(Incs) @WFLAGS@ $(X_CFLAGS) -DNOTHREADS @DEFS@ -DLIBDIR='"$(libdir)"'
../libgdraw.la: $(libgdraw_OBJECTS)
@@ -1,54 +0,0 @@
giflib 5.0+
--- gutils/gimagereadgif.c.orig Thu Aug 2 16:09:09 2012
+++ gutils/gimagereadgif.c Sat Mar 28 17:55:56 2015
@@ -132,13 +132,13 @@ GImage *GImageReadGif(char *filename) {
if ( !loadgif())
return( NULL );
- if ((gif = _DGifOpenFileName(filename)) == NULL) {
+ if ((gif = _DGifOpenFileName(filename, NULL)) == NULL) {
fprintf( stderr, "can't open %s\n", filename);
return( NULL );
}
if ( _DGifSlurp(gif)==GIF_ERROR ) {
- _DGifCloseFile(gif);
+ _DGifCloseFile(gif, NULL);
fprintf( stderr, "Bad gif file %s\n", filename );
return( NULL );
}
@@ -150,7 +150,7 @@ return( NULL );
ret = images[0];
else
ret = GImageCreateAnimation(images,gif->ImageCount);
- _DGifCloseFile(gif);
+ _DGifCloseFile(gif, NULL);
free(images);
return( ret );
}
@@ -220,13 +220,13 @@ GImage *GImageReadGif(char *filename) {
GifFileType *gif;
int i;
- if ((gif = DGifOpenFileName(filename)) == NULL) {
+ if ((gif = DGifOpenFileName(filename, NULL)) == NULL) {
fprintf( stderr, "can't open %s\n", filename);
return( NULL );
}
if ( DGifSlurp(gif)==GIF_ERROR ) {
- DGifCloseFile(gif);
+ DGifCloseFile(gif, NULL);
fprintf(stderr,"Bad gif file %s\n", filename );
return( NULL );
}
@@ -238,7 +238,7 @@ return( NULL );
ret = images[0];
else
ret = GImageCreateAnimation(images,gif->ImageCount);
- DGifCloseFile(gif);
+ DGifCloseFile(gif, NULL);
free(images);
return( ret );
}
+1068 -77
View File
File diff suppressed because it is too large Load Diff