git: bcd2014823e3 - main - x11-toolkits/fox17: Update to 1.7.85
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 25 Aug 2024 12:37:18 UTC
The branch main has been updated by jhale:
URL: https://cgit.FreeBSD.org/ports/commit/?id=bcd2014823e3729dc2b1b03d611490a896abeba2
commit bcd2014823e3729dc2b1b03d611490a896abeba2
Author: Jason E. Hale <jhale@FreeBSD.org>
AuthorDate: 2024-08-24 05:43:42 +0000
Commit: Jason E. Hale <jhale@FreeBSD.org>
CommitDate: 2024-08-25 12:37:06 +0000
x11-toolkits/fox17: Update to 1.7.85
Remove the graphics/libpng dependency and configure option. PNG support
is now entirely built-in.
graphics/libGLU is only needed to build the glviewer test program. Its
presence on the host system doesn't affect the installation.
Remove reference to removed port x11-toolkits/fox14.
Pet portclippy(1) and portlint (1).
Update patches due to changes in base and to make them more upstream-
friendly.
Changes:
- New PNG image support. First, its faster! Also, it no longer requires
libpng; the PNG format support is now built-in, although the libz
compression library is still required [for now...].
- fxsavePNG() supports some fine-control via new save-flags. You can
analyze the image, and shrink output by taking advantage of image
features; for example, saving opaque image means alpha-channel may be
dropped. If the image is gray-levels only, the RGB may be dropped to
plain gray only. Also, shrinking further by emitting colormapped
[indexed-color] image is possible if only a few colors are used.
Finally, pre-compression filtering, as well as desired compression
level can be selected.
- PNG I/O is optimized with when target ISA x86-64-v2 or higher are
selected.
- FXStat::isSame() checks if two files are the same (same inode).
- FOX Desktop Calculator augmented with Unicode button labels (please
select a font that has the math symbols!), also now supports additional
functions, common physics constants, and other features.
- The fxCPUFeatures now can detect AVX512 presence.
- New FXPerformanceCounter and associated macros may be used to count
clockcyles of critical code segments.
- FXAtomic.h APIs now mostly inlined for lower overhead.
- Read processor ticks on AARCH64.
- Adie text editor undo buffer size and undo buffer items can now be
configured.
- New QOIF (Quite OK Image Format) now supported for either images
(FXQOIFImage) or icons (FXQOIFIcon).
- FXColor to/from FXVec3d, FXVec3f, FXVec4d, FXVec4f now using SSE if
compiled for x86-64-v2 or higher.
- Updated byte swap APIs in fxendian.h.
- New APIs in FXMat3f, FXMat3d, etc. classes to set up mirror-matrix.
- Moved new hash32() etc. functions into fxendian.h.
- Bug fix in FXIODevice reading > 1GB files in one readBlock(),
writeBlock() call.
- Markdown syntax coloring in Adie.
- Per-syntax mode setting for removing trailing spaces in Adie saving a
text file.
- Subtle change in operation of FXPath::relative().
- Support for CRC32 calculations added.
- Additional conversion options in FXString::fromFloat() and
FXString::fromDouble(): thousands groupings, force decimal point,
and hexadecimal float output.
- FXJSON JSON loader now may report duplicate key warning reading json
file.
- FXMappedFile improvements.
- FXString unicode escapes bug fix.
---
x11-toolkits/fox17/Makefile | 33 ++++++++++++----------
x11-toolkits/fox17/distinfo | 6 ++--
x11-toolkits/fox17/files/patch-include_FXObject.h | 26 +++++++++++++++++
x11-toolkits/fox17/files/patch-lib_FXAtomic.cpp | 20 -------------
.../fox17/files/patch-lib_FXReadWriteLock.cpp | 2 +-
.../fox17/files/patch-lib_FXSystemTime.cpp | 25 ++++++++++------
x11-toolkits/fox17/pkg-plist | 8 ++++--
7 files changed, 70 insertions(+), 50 deletions(-)
diff --git a/x11-toolkits/fox17/Makefile b/x11-toolkits/fox17/Makefile
index 99fd37ce61d7..7ff455aa43e2 100644
--- a/x11-toolkits/fox17/Makefile
+++ b/x11-toolkits/fox17/Makefile
@@ -1,6 +1,5 @@
PORTNAME= fox
-PORTVERSION= 1.7.84
-PORTREVISION= 2
+PORTVERSION= 1.7.85
CATEGORIES= x11-toolkits
MASTER_SITES= http://fox-toolkit.org/ftp/ \
ftp://ftp.fox-toolkit.org/pub/
@@ -13,40 +12,39 @@ WWW= http://www.fox-toolkit.org/
LICENSE= LGPL3+
LICENSE_FILE= ${WRKSRC}/LICENSE
-LIB_DEPENDS= libpng.so:graphics/png \
- libfreetype.so:print/freetype2 \
+LIB_DEPENDS= libfreetype.so:print/freetype2 \
libfontconfig.so:x11-fonts/fontconfig
USES= compiler:c++11-lib gl libtool localbase pathfix pkgconfig xorg
-USE_GL= gl glu
-USE_XORG= ice sm x11 xcursor xext xfixes xft xi xrandr xrender
+USE_GL= gl
USE_LDCONFIG= yes
+USE_XORG= ice sm x11 xcursor xext xfixes xft xi xrandr xrender
GNU_CONFIGURE= yes
-GNU_CONFIGURE_MANPREFIX= ${PREFIX}/share
-CONFIGURE_ARGS= --with-freetype-include="`pkg-config freetype2 --cflags | sed -e 's|^-I||'`" \
- --with-freetype-library="`pkg-config freetype2 --libs | sed -e 's|^-L||'`" \
+CONFIGURE_ARGS= --with-freetype-include="`pkg-config freetype2 --cflags | ${SED} -e 's|^-I||'`" \
+ --with-freetype-library="`pkg-config freetype2 --libs | ${SED} -e 's|^-L||'`" \
--with-opengl=yes \
--with-xim \
- --enable-png \
--bindir=${PREFIX}/bin/${PORTNAME}-${MAJORVER}
INSTALL_TARGET= install-strip
CPPFLAGS+= -D__BSD_VISIBLE -D__EXT1_VISIBLE -D_XOPEN_SOURCE=700
-MAJORVER= ${PORTVERSION:R}
-PLIST_SUB+= MAJORVER=${MAJORVER}
DOCSDIR= ${PREFIX}/share/doc/${PORTNAME}-${MAJORVER}
+
+MAJORVER= ${PORTVERSION:R}
+PLIST_SUB= MAJORVER=${MAJORVER}
PORTDOCS= *
OPTIONS_DEFINE= CUPS DEBUG DOCS EXAMPLES OPTIMIZED_CFLAGS PROFILE TEST
+OPTIONS_DEFAULT= JPEG OPENJPEG TIFF WEBP
OPTIONS_GROUP= IMGFMTS
OPTIONS_GROUP_IMGFMTS= JPEG OPENJPEG TIFF WEBP
-OPTIONS_DEFAULT= JPEG OPENJPEG TIFF WEBP
+
IMGFMTS_DESC= Image formats
-CUPS_CONFIGURE_ENABLE= cups
CUPS_LIB_DEPENDS= libcups.so:print/cups
+CUPS_CONFIGURE_ENABLE= cups
DEBUG_CONFIGURE_ENABLE= debug
DEBUG_CXXFLAGS_OFF= -DNDEBUG
@@ -60,6 +58,11 @@ OPENJPEG_CPPFLAGS= -I${LOCALBASE}/include/openjpeg-1.5
PROFILE_CONFIGURE_ON= --with-profiling=gprof
+# USES=gl/USE_GL only support LIB_DEPENDS. We just need GLU at
+# build time to compile the glviewer test program. FOX itself doesn't
+# link to it. Tests are run manually out of the ${WRKSRC}/tests dir.
+TEST_BUILD_DEPENDS= ${LOCALBASE}/include/GL/glu.h:graphics/libGLU
+
TIFF_LIB_DEPENDS= libtiff.so:graphics/tiff
TIFF_CONFIGURE_ENABLE= tiff
@@ -80,7 +83,7 @@ CXXFLAGS+= -fexpensive-optimizations -finline-functions
post-patch:
# Rename man pages as in manpage.1 --> manpage-17.1 to avoid
-# conflicts with fox14 and fox16
+# conflicts with fox16
@files=$$(${FIND} ${WRKSRC} -name *.1); \
for f in $$files; do \
${MV} $$f `${ECHO_CMD} $$f | ${SED} -e 's|\.1|-17.1|'`; \
diff --git a/x11-toolkits/fox17/distinfo b/x11-toolkits/fox17/distinfo
index 1cfda5889230..bb1d7d0d0d9a 100644
--- a/x11-toolkits/fox17/distinfo
+++ b/x11-toolkits/fox17/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1694789626
-SHA256 (fox-1.7.84.tar.gz) = bdb1fe785605488b58addc95f6091a75873e8a3bea7b83caecfb7f4b0827b34e
-SIZE (fox-1.7.84.tar.gz) = 5879987
+TIMESTAMP = 1724224733
+SHA256 (fox-1.7.85.tar.gz) = 195de7d95dd5f6fd54b4ab480d2824584e9a12765c19744e64a2e7a89248474f
+SIZE (fox-1.7.85.tar.gz) = 5912948
diff --git a/x11-toolkits/fox17/files/patch-include_FXObject.h b/x11-toolkits/fox17/files/patch-include_FXObject.h
new file mode 100644
index 000000000000..e189fa4a20bb
--- /dev/null
+++ b/x11-toolkits/fox17/files/patch-include_FXObject.h
@@ -0,0 +1,26 @@
+Add missing include that was removed in 1.7.85 for some reason. FXSelector
+is defined in FXMetaClass.h. Fox itself builds, but audio/gogglesmm fails.
+
+/usr/local/include/fox-1.7/FXObject.h:135:3: fatal error: no type named 'FXSelector' in namespace 'FX'
+ 135 | FXDECLARE(FXObject)
+ | ^~~~~~~~~~~~~~~~~~~
+/usr/local/include/fox-1.7/FXObject.h:50:28: note: expanded from macro 'FXDECLARE'
+ 50 | struct FXMapEntry { FX::FXSelector keylo; FX::FXSelector keyhi; long (classname::* func)(FX::FXObject*,FX::FXSelector,void*); }; \
+ | ~~~~^
+
+Upstream has been notified of this issue:
+https://sourceforge.net/p/foxgui/mailman/foxgui-users/thread/CAJE75NFrWfZUx%3DifHt2GrzbwPrRSG9DaHLP3Xa%2Bo2DCZwPFTTw%40mail.gmail.com/#msg58809602
+
+--- include/FXObject.h.orig 2024-06-30 15:47:37 UTC
++++ include/FXObject.h
+@@ -25,6 +25,10 @@
+ #include "FXCallback.h"
+ #endif
+
++#ifndef FXMETACLASS_H
++#include "FXMetaClass.h"
++#endif
++
+ namespace FX {
+
+
diff --git a/x11-toolkits/fox17/files/patch-lib_FXAtomic.cpp b/x11-toolkits/fox17/files/patch-lib_FXAtomic.cpp
deleted file mode 100644
index ff908bc48de2..000000000000
--- a/x11-toolkits/fox17/files/patch-lib_FXAtomic.cpp
+++ /dev/null
@@ -1,20 +0,0 @@
---- lib/FXAtomic.cpp.orig 2020-11-30 16:10:17 UTC
-+++ lib/FXAtomic.cpp
-@@ -54,7 +54,7 @@
-
-
- // New __atomic_XXX() builtins are available
--#if ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7)))
-+#if ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7))) || (defined(__clang__) && defined(__x86_64__))
- #define HAVE_BUILTIN_ATOMIC 1
- #endif
-
-@@ -64,7 +64,7 @@
- #endif
-
- // Can we use inline-assembly
--#if (defined(__GNUC__) || defined(__INTEL_COMPILER))
-+#if (defined(__GNUC__) || defined(__INTEL_COMPILER) || defined(__clang__))
- #define HAVE_INLINE_ASSEMBLY 1
- #endif
-
diff --git a/x11-toolkits/fox17/files/patch-lib_FXReadWriteLock.cpp b/x11-toolkits/fox17/files/patch-lib_FXReadWriteLock.cpp
index 426ee795d107..2d8c0942dfe7 100644
--- a/x11-toolkits/fox17/files/patch-lib_FXReadWriteLock.cpp
+++ b/x11-toolkits/fox17/files/patch-lib_FXReadWriteLock.cpp
@@ -9,7 +9,7 @@ regression on FreeBSD.
FXASSERT_STATIC(sizeof(data)>=sizeof(pthread_rwlock_t));
pthread_rwlockattr_t rwlockatt;
pthread_rwlockattr_init(&rwlockatt);
-+#if defined(__linux__)
++#if defined(__GLIBC__)
pthread_rwlockattr_setkind_np(&rwlockatt,PTHREAD_RWLOCK_PREFER_WRITER_NP);
+#endif
pthread_rwlock_init((pthread_rwlock_t*)data,&rwlockatt);
diff --git a/x11-toolkits/fox17/files/patch-lib_FXSystemTime.cpp b/x11-toolkits/fox17/files/patch-lib_FXSystemTime.cpp
index bd02f4c782a5..5d9bfa8a8afa 100644
--- a/x11-toolkits/fox17/files/patch-lib_FXSystemTime.cpp
+++ b/x11-toolkits/fox17/files/patch-lib_FXSystemTime.cpp
@@ -1,9 +1,9 @@
Emulate the behavior of the USG UNIX 'daylight' and 'timezone' variables
-implemented in glibc.
+where not implemented.
int daylight: Zero if the time zone does not have any daylight saving time
rules and non-zero if there is a time during the year when daylight saving
-time applies. [1] In FreeBSD, tzname[1] should be set to " " (three spaces)
+time applies. [1] On FreeBSD, tzname[1] should be set to " " (three spaces)
if DST is never observed. [2]
long int timezone: contains the difference between UTC and the latest local
@@ -12,16 +12,21 @@ zone, the value is 5*60*60. Unlike the tm_gmtoff member of the broken-down
time structure, this value is not adjusted for daylight saving, and its sign
is reversed. [1]
+After [3], use the base implementations of 'daylight' and 'timezone'.
+
[1] https://www.gnu.org/software/libc/manual/html_node/Time-Zone-Functions.html#Time-Zone-Functions
[2] https://cgit.freebsd.org/src/tree/contrib/tzcode/stdtime/localtime.c?id=9436aa0e668b147c9a5bf1898ef091934c676434#n84
+[3] https://cgit.freebsd.org/src/commit/?id=a34940a9756ac8edce36fec176949ee82e9235b4
---- lib/FXSystemTime.cpp.orig 2020-12-24 17:03:54 UTC
+--- lib/FXSystemTime.cpp.orig 2024-06-30 15:47:37 UTC
+++ lib/FXSystemTime.cpp
-@@ -265,7 +265,10 @@ FXTime FXSystem::localTimeZoneOffset(){
- #if defined(_WIN32)
+@@ -264,8 +264,11 @@ FXTime FXSystem::localTimeZoneOffset(){
+ setuplocaltimezone();
+ #if defined(WIN32)
return minutes*tzi.Bias; // +minutes*tzi.StandardBias;
- #elif defined(__FreeBSD__) || defined(__OpenBSD__)
+-#elif defined(__FreeBSD__) || defined(__OpenBSD__)
- return 0; // FIXME
++#elif defined(__FreeBSD__) && __FreeBSD_version < 1500015 || defined (__OpenBSD__)
+ struct tm tmresult;
+ time_t tmp=time(&tmp);
+ struct tm* ptm=localtime_r(&tmp,&tmresult);
@@ -29,11 +34,13 @@ is reversed. [1]
#else
return seconds*timezone;
#endif
-@@ -278,7 +281,7 @@ FXTime FXSystem::daylightSavingsOffset(){
- #if defined(_WIN32)
+@@ -277,8 +280,8 @@ FXTime FXSystem::daylightSavingsOffset(){
+ setuplocaltimezone();
+ #if defined(WIN32)
return minutes*tzi.DaylightBias; // Or difference between standard and daylight bias.
- #elif defined(__FreeBSD__) || defined(__OpenBSD__)
+-#elif defined(__FreeBSD__) || defined(__OpenBSD__)
- return 0; // FIXME
++#elif defined(__FreeBSD__) && __FreeBSD_version < 1500015 || defined (__OpenBSD__)
+ return -hours*((tzname[1][0] == ' ') ? 0 : 1);
#else
return -hours*daylight;
diff --git a/x11-toolkits/fox17/pkg-plist b/x11-toolkits/fox17/pkg-plist
index 528d49e2dd83..1b259f22cefc 100644
--- a/x11-toolkits/fox17/pkg-plist
+++ b/x11-toolkits/fox17/pkg-plist
@@ -228,6 +228,7 @@ include/fox-%%MAJORVER%%/FXPacker.h
include/fox-%%MAJORVER%%/FXParallel.h
include/fox-%%MAJORVER%%/FXParseBuffer.h
include/fox-%%MAJORVER%%/FXPath.h
+include/fox-%%MAJORVER%%/FXPerformance.h
include/fox-%%MAJORVER%%/FXPicker.h
include/fox-%%MAJORVER%%/FXPipe.h
include/fox-%%MAJORVER%%/FXPoint.h
@@ -238,6 +239,8 @@ include/fox-%%MAJORVER%%/FXProgressBar.h
include/fox-%%MAJORVER%%/FXProgressDialog.h
include/fox-%%MAJORVER%%/FXPtrList.h
include/fox-%%MAJORVER%%/FXPtrQueue.h
+include/fox-%%MAJORVER%%/FXQOIFIcon.h
+include/fox-%%MAJORVER%%/FXQOIFImage.h
include/fox-%%MAJORVER%%/FXQuatd.h
include/fox-%%MAJORVER%%/FXQuatf.h
include/fox-%%MAJORVER%%/FXRASIcon.h
@@ -363,6 +366,7 @@ include/fox-%%MAJORVER%%/fx3d.h
include/fox-%%MAJORVER%%/fxascii.h
include/fox-%%MAJORVER%%/fxchar.h
include/fox-%%MAJORVER%%/fxcpuid.h
+include/fox-%%MAJORVER%%/fxcrc.h
include/fox-%%MAJORVER%%/fxdefs.h
include/fox-%%MAJORVER%%/fxendian.h
include/fox-%%MAJORVER%%/fxkeys.h
@@ -373,11 +377,11 @@ include/fox-%%MAJORVER%%/xincs.h
lib/libCHART-%%MAJORVER%%.a
lib/libCHART-%%MAJORVER%%.so
lib/libCHART-%%MAJORVER%%.so.0
-lib/libCHART-%%MAJORVER%%.so.0.0.84
+lib/libCHART-%%MAJORVER%%.so.0.0.85
lib/libFOX-%%MAJORVER%%.a
lib/libFOX-%%MAJORVER%%.so
lib/libFOX-%%MAJORVER%%.so.0
-lib/libFOX-%%MAJORVER%%.so.0.0.84
+lib/libFOX-%%MAJORVER%%.so.0.0.85
libdata/pkgconfig/fox17.pc
share/man/man1/ControlPanel-17.1.gz
%%PORTEXAMPLES%%share/man/man1/PathFinder-17.1.gz