diff --git a/graphics/gegl/Makefile b/graphics/gegl/Makefile index e83948c4b44c..3eaf2fc1a1cb 100644 --- a/graphics/gegl/Makefile +++ b/graphics/gegl/Makefile @@ -1,144 +1,144 @@ PORTNAME= gegl DISTVERSION= 0.4.66 -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= graphics MASTER_SITES= GIMP MAINTAINER= gnome@FreeBSD.org COMMENT= Graph based image processing framework WWW= https://gegl.org/ LICENSE= BSD3CLAUSE GPLv3+ LGPL3+ LICENSE_COMB= multi LICENSE_FILE_GPLv3+ = ${WRKSRC}/COPYING LICENSE_FILE_LGPL3+ = ${WRKSRC}/COPYING.LESSER BUILD_DEPENDS= bash:shells/bash LIB_DEPENDS= libbabl-0.1.so:x11/babl \ libjson-glib-1.0.so:devel/json-glib \ libnsgif.so:graphics/libnsgif \ libpng.so:graphics/png USES= compiler:c++14-lang cpe gettext gnome jpeg localbase:ldflags \ meson pkgconfig shebangfix uniquefiles tar:xz USE_GNOME= glib20 introspection:build USE_LDCONFIG= yes SHEBANG_FILES= tools/xml_insert.sh MESON_ARGS= -Ddocs=false \ -Dgi-docgen=disabled \ -Dworkshop=false \ -Dintrospection=true \ -Dlensfun=disabled \ -Dmaxflow=disabled \ -Dmrg=disabled \ -Dpygobject=disabled \ -Dlua=disabled # relocatable does not mean ELF relocation MESON_ARGS+= -Drelocatable=disabled .if !exists(/usr/include/omp.h) MESON_ARGS+= -Dopenmp=disabled .endif GEGL_SHLIB= 0.465.1 GEGL_VER= 0.4 PLIST_SUB+= GEGL_SHLIB=${GEGL_SHLIB} GEGL_VER=${GEGL_VER} OPTIONS_DEFINE= CAIRO ENSCRIPT FFMPEG GEXIV2 GRAPHVIZ JASPER LCMS2 LIBRSVG2 \ OPENEXR PANGO PIXBUF POPPLER RAW SDL SPIRO TIFF UMFPACK V4L \ VAPI WEBP OPTIONS_DEFAULT= CAIRO ENSCRIPT FFMPEG GEXIV2 GRAPHVIZ JASPER LCMS2 LIBRSVG2 \ OPENEXR PANGO PIXBUF POPPLER RAW SDL SPIRO TIFF UMFPACK V4L \ VAPI WEBP OPTIONS_EXCLUDE_i386= GEXIV2 OPTIONS_SUB= yes ENSCRIPT_DESC= Enscript support GEXIV2_DESC= EXIF and IPTC metadata support via gexiv2 SPIRO_DESC= Spiro support UMFPACK_DESC= UMFpack support CAIRO_USE= GNOME=cairo CAIRO_MESON_ENABLED= cairo ENSCRIPT_BUILD_DEPENDS= enscript:print/enscript-a4 FFMPEG_LIB_DEPENDS= libavformat.so:multimedia/ffmpeg FFMPEG_MESON_ENABLED= libav GEXIV2_LIB_DEPENDS= libgexiv2.so:graphics/gexiv2 GEXIV2_MESON_ENABLED= gexiv2 GRAPHVIZ_BUILD_DEPENDS= dot:graphics/graphviz GRAPHVIZ_RUN_DEPENDS= dot:graphics/graphviz GRAPHVIZ_MESON_ENABLED= graphviz JASPER_LIB_DEPENDS= libjasper.so:graphics/jasper JASPER_MESON_ENABLED= jasper LCMS2_LIB_DEPENDS= liblcms2.so:graphics/lcms2 LCMS2_MESON_ENABLED= lcms LIBRSVG2_IMPLIES= CAIRO LIBRSVG2_USE= GNOME=librsvg2 LIBRSVG2_MESON_ENABLED= librsvg OPENEXR_LIB_DEPENDS= libOpenEXR.so:graphics/openexr \ libImath.so:math/Imath OPENEXR_MESON_ENABLED= openexr PANGO_IMPLIES= CAIRO PANGO_USE= GNOME=pango PANGO_MESON_ENABLED= pango pangocairo PIXBUF_USE= GNOME=gdkpixbuf PIXBUF_MESON_ENABLED= gdk-pixbuf POPPLER_IMPLIES= CAIRO POPPLER_LIB_DEPENDS= libpoppler-glib.so:graphics/poppler-glib POPPLER_MESON_ENABLED= poppler RAW_LIB_DEPENDS= libraw.so:graphics/libraw RAW_MESON_ENABLED= libraw SDL_USES= sdl SDL_USE= SDL=sdl2 SDL_MESON_ENABLED= sdl2 SPIRO_LIB_DEPENDS= libspiro.so:graphics/libspiro SPIRO_MESON_ENABLED= libspiro TIFF_LIB_DEPENDS= libtiff.so:graphics/tiff TIFF_MESON_ENABLED= libtiff UMFPACK_LIB_DEPENDS= libumfpack.so:math/suitesparse-umfpack UMFPACK_MESON_ENABLED= umfpack V4L_BUILD_DEPENDS= libv4l>0:multimedia/libv4l \ v4l_compat>=0:multimedia/v4l_compat V4L_RUN_DEPENDS= libv4l>0:multimedia/libv4l V4L_MESON_ENABLED= libv4l libv4l2 V4L_VARS= LICENSE+=LGPL20+ VAPI_USES= vala:build VAPI_MESON_ENABLED= vapigen WEBP_LIB_DEPENDS= libwebp.so:graphics/webp WEBP_MESON_ENABLED= webp .include .if defined(WITH_DEBUG) LDFLAGS+= -lexecinfo .endif .if ${ARCH} == "amd64" PLIST_SUB+= AMD64="" ARM="@comment " .elif ${ARCH} == "armv6" || ${ARCH} == "armv7" PLIST_SUB+= AMD64="@comment " ARM="" .else PLIST_SUB+= AMD64="@comment " ARM="@comment " .endif .include diff --git a/graphics/gegl/files/patch-gegl_gegl-init.c b/graphics/gegl/files/patch-gegl_gegl-init.c new file mode 100644 index 000000000000..ead6a4a52d85 --- /dev/null +++ b/graphics/gegl/files/patch-gegl_gegl-init.c @@ -0,0 +1,63 @@ +--- gegl/gegl-init.c.orig 2025-12-11 20:43:07 UTC ++++ gegl/gegl-init.c +@@ -68,6 +68,11 @@ DllMain (HINSTANCE hinstDLL, + #import + #endif + ++#ifdef __FreeBSD__ ++#include ++#include ++#endif ++ + #include "gegl-debug.h" + + guint gegl_debug_flags = 0; +@@ -901,7 +906,11 @@ gegl_find_relocatable_exe (void) + if (path) + return path; + ++#if defined(__FreeBSD__) ++ sym_path = g_strdup ("/proc/curproc/file"); ++#else + sym_path = g_strdup ("/proc/self/exe"); ++#endif + + while (1) + { +@@ -917,7 +926,11 @@ gegl_find_relocatable_exe (void) + /* I don't think /proc/self/ symlinks will ever be relative, but just + * to be safe. + */ ++#if defined(__FreeBSD__) ++ gchar *absolute_path = g_build_filename ("/proc/curproc", path, NULL); ++#else + gchar *absolute_path = g_build_filename ("/proc/self", path, NULL); ++#endif + g_free (path); + path = g_steal_pointer (&absolute_path); + } +@@ -944,8 +957,11 @@ gegl_find_relocatable_exe (void) + * Read from /proc/self/maps as fallback. + */ + ++#if defined(__FreeBSD__) ++ file = g_fopen ("/proc/curproc/map", "rb"); ++#else + file = g_fopen ("/proc/self/maps", "rb"); +- ++#endif + g_return_val_if_fail (file != NULL, NULL); + + /* The first entry with r-xp permission should be the executable name. */ +@@ -955,7 +971,11 @@ gegl_find_relocatable_exe (void) + path = strchr (maps_line, '/'); + + /* Sanity check. */ ++#if defined(__FreeBSD__) ++ if (path && strstr (maps_line, " r-x ")) ++#else + if (path && strstr (maps_line, " r-xp ")) ++#endif + { + /* We found the executable name. */ + path = g_strdup (path);