Omar Polo wrote (2023-09-04 14:11 IST):
> As per subject. I'm not sure how to link the ChangeLog, but there has
> been quite a few changes. The 'interesting' ones seems to be the
> addition of the loader for y4m and raw files.
>
> I had to patch one Makefile.am since, due to the order of the -I
> flags, the decoders ended up loading the system' Imlib2_Loader.h
> instead of the one from the sources, causing 'interesting' error
> messages (and likely unpleasant loading failures.)
>
> I've sent the diff upstream so (hopefully) they'll see it. (hopefully
> because I haven't got any reply, nor indication that the mail was
> actually delivered, when I sent patch-src_bin_imlib2_load_c upstream.)
>
> Major bump due to the loader interface changed, otherwise only
> additions so consumers shouldn't be affected. I've tested with nsxiv
> and build tested a few (not all) of the consumers.
>
> I'm also adding myself as the maintainer. While I don't actively use
> it, I'm using a few programs that depends on imlib2 and so I care for
> it to be updated. Since I haven't found a RSS for these releases,
> maybe I'll get a mail from portroach :)
>
> ok?
Hmm. It doesn't build here.
===> Generating configure for imlib2-1.12.0
Running autoreconf-2.13 in /usr/ports/pobj/imlib2-1.12.0/imlib2-1.12.0
Usage: autoreconf [-f] [-h] [--help] [-m dir] [--macrodir=dir]
[-l dir] [--localdir=dir] [--force] [--verbose] [--version]
[--cygnus] [--foreign] [--gnits] [--gnu] [-i] [--include-deps]
*** Error 1 in . (/usr/ports/infrastructure/mk/bsd.port.mk:2902
'_gen-finalize': @for d in /usr/ports/pobj/imlib2-1.12.0/imlib2-1.12.0; do c...)
*** Error 2 in . (/usr/ports/infrastructure/mk/bsd.port.mk:2942
'/usr/ports/pobj/imlib2-1.12.0/.gen_done': @cd /usr/ports/graphics/imlib2 &&...)
*** Error 2 in /usr/ports/graphics/imlib2
(/usr/ports/infrastructure/mk/bsd.port.mk:2634 'all': @lock=imlib2-1.12.0;
export _LOCKS_HELD=" i...)
Switching back to CONFIGURE_STYLE= gnu goes further, but then:
cd /usr/ports/pobj/imlib2-1.12.0/imlib2-1.12.0 && /bin/sh
/usr/ports/pobj/imlib2-1.12.0/imlib2-1.12.0/missing automake-1.16 --foreign
src/modules/loaders/Makefile
/usr/ports/pobj/imlib2-1.12.0/imlib2-1.12.0/missing[81]: automake-1.16: not
found
WARNING: 'automake-1.16' is missing on your system.
After installing automake-1.16.5:
Making all in loaders
cd /usr/ports/pobj/imlib2-1.12.0/imlib2-1.12.0 && /bin/sh
/usr/ports/pobj/imlib2-1.12.0/imlib2-1.12.0/missing automake-1.16 --foreign
src/modules/loaders/Makefile
Usage: autoconf [-h] [--help] [-m dir] [--macrodir=dir]
[-l dir] [--localdir=dir] [--version] [template-file]
automake-1.16: error: autoconf failed with exit status: 1
- Stefan
> Index: Makefile
> ===================================================================
> RCS file: /home/cvs/ports/graphics/imlib2/Makefile,v
> retrieving revision 1.50
> diff -u -p -r1.50 Makefile
> --- Makefile 29 Aug 2023 18:25:16 -0000 1.50
> +++ Makefile 4 Sep 2023 12:58:57 -0000
> @@ -1,12 +1,13 @@
> COMMENT= image manipulation library
>
> -DISTNAME= imlib2-1.11.0
> -REVISION= 0
> -SHARED_LIBS= Imlib2 8.0 # 12.0
> +DISTNAME= imlib2-1.12.0
> +SHARED_LIBS= Imlib2 9.0 # 13.0
> CATEGORIES= graphics
>
> HOMEPAGE= https://docs.enlightenment.org/api/imlib2/html/
>
> +MAINTAINER= Omar Polo <[email protected]>
> +
> # BSD
> PERMIT_PACKAGE= Yes
>
> @@ -14,17 +15,19 @@ MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:
>
> WANTLIB += ${COMPILER_LIBCXX} X11 X11-xcb Xau Xdmcp Xext aom brotlicommon
> WANTLIB += brotlidec brotlienc bz2 c dav1d de265 freetype gif
> -WANTLIB += heif hwy id3tag jpeg jxl jxl_threads lcms2 lzma m openjp2
> -WANTLIB += png sharpyuv tiff webp webpdemux x265 xcb xcb-shm z
> -WANTLIB += zstd
> +WANTLIB += heif hwy id3tag jasper jpeg jxl jxl_threads lcms2 lzma
> +WANTLIB += m openjp2 png raw sharpyuv tiff webp webpdemux x265
> +WANTLIB += xcb xcb-shm z zstd
>
> COMPILER= base-clang ports-gcc
>
> LIB_DEPENDS+= archivers/bzip2 \
> audio/libid3tag \
> graphics/giflib \
> + graphics/jasper \
> graphics/jpeg \
> graphics/libjxl \
> + graphics/libraw \
> graphics/libwebp \
> graphics/openjp2 \
> graphics/png \
> @@ -32,7 +35,7 @@ LIB_DEPENDS+= archivers/bzip2 \
> multimedia/libheif
>
> SEPARATE_BUILD= Yes
> -CONFIGURE_STYLE= gnu
> +CONFIGURE_STYLE= autoreconf
> .if ${MACHINE_ARCH} == "i386"
> CONFIGURE_ARGS+= --disable-mmx
> .endif
> Index: distinfo
> ===================================================================
> RCS file: /home/cvs/ports/graphics/imlib2/distinfo,v
> retrieving revision 1.13
> diff -u -p -r1.13 distinfo
> --- distinfo 7 May 2023 06:54:21 -0000 1.13
> +++ distinfo 4 Sep 2023 12:06:38 -0000
> @@ -1,2 +1,2 @@
> -SHA256 (imlib2-1.11.0.tar.gz) = lLdPfCjV0FrJNtR5+USnEiIxG4ztjQEv1XAQgw+q3jE=
> -SIZE (imlib2-1.11.0.tar.gz) = 1125232
> +SHA256 (imlib2-1.12.0.tar.gz) = sTncoo2N4k+lBHWFH99Z00OfAOi0LowPja67VaECRV0=
> +SIZE (imlib2-1.12.0.tar.gz) = 1144666
> Index: patches/patch-src_bin_imlib2_load_c
> ===================================================================
> RCS file:
> /home/cvs/ports/graphics/imlib2/patches/patch-src_bin_imlib2_load_c,v
> retrieving revision 1.1
> diff -u -p -r1.1 patch-src_bin_imlib2_load_c
> --- patches/patch-src_bin_imlib2_load_c 28 Feb 2023 10:10:28 -0000
> 1.1
> +++ patches/patch-src_bin_imlib2_load_c 4 Sep 2023 12:24:24 -0000
> @@ -6,7 +6,7 @@ we're about to mmap.
> Index: src/bin/imlib2_load.c
> --- src/bin/imlib2_load.c.orig
> +++ src/bin/imlib2_load.c
> -@@ -112,16 +112,19 @@ image_load_mem(const char *file, int *perr)
> +@@ -91,16 +91,19 @@ image_load_mem(const char *file, int *perr)
> else
> ext = file;
>
> Index: patches/patch-src_modules_loaders_Makefile_am
> ===================================================================
> RCS file: patches/patch-src_modules_loaders_Makefile_am
> diff -N patches/patch-src_modules_loaders_Makefile_am
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-src_modules_loaders_Makefile_am 4 Sep 2023 12:25:01
> -0000
> @@ -0,0 +1,124 @@
> +Fix CPPFLAGS ordering to avoid loading system' Imlib2_Loader.h.
> +
> +Index: src/modules/loaders/Makefile.am
> +--- src/modules/loaders/Makefile.am.orig
> ++++ src/modules/loaders/Makefile.am
> +@@ -94,7 +94,7 @@ gif_la_LIBADD = $(GIF_LIBS) $(top_builddir)/src
> + gif_la_LIBTOOLFLAGS = --tag=disable-static
> +
> + heif_la_SOURCES = loader_heif.c
> +-heif_la_CPPFLAGS = $(HEIF_CFLAGS) $(AM_CPPFLAGS)
> ++heif_la_CPPFLAGS = $(AM_CPPFLAGS) $(HEIF_CFLAGS)
> + heif_la_LDFLAGS = -module -avoid-version
> + heif_la_LIBADD = $(HEIF_LIBS) $(top_builddir)/src/lib/libImlib2.la
> + heif_la_LIBTOOLFLAGS = --tag=disable-static
> +@@ -105,19 +105,19 @@ ico_la_LIBADD = $(top_builddir)/src/lib/libImli
> + ico_la_LIBTOOLFLAGS = --tag=disable-static
> +
> + jpeg_la_SOURCES = loader_jpeg.c exif.c exif.h
> +-jpeg_la_CPPFLAGS = $(JPEG_CFLAGS) $(AM_CPPFLAGS)
> ++jpeg_la_CPPFLAGS = $(AM_CPPFLAGS) $(JPEG_CFLAGS)
> + jpeg_la_LDFLAGS = -module -avoid-version
> + jpeg_la_LIBADD = $(JPEG_LIBS) $(top_builddir)/src/lib/libImlib2.la
> + jpeg_la_LIBTOOLFLAGS = --tag=disable-static
> +
> + j2k_la_SOURCES = loader_j2k.c
> +-j2k_la_CPPFLAGS = $(J2K_CFLAGS) $(AM_CPPFLAGS)
> ++j2k_la_CPPFLAGS = $(AM_CPPFLAGS) $(J2K_CFLAGS)
> + j2k_la_LDFLAGS = -module -avoid-version
> + j2k_la_LIBADD = $(J2K_LIBS) $(top_builddir)/src/lib/libImlib2.la
> + j2k_la_LIBTOOLFLAGS = --tag=disable-static
> +
> + jxl_la_SOURCES = loader_jxl.c
> +-jxl_la_CPPFLAGS = $(JXL_CFLAGS) $(AM_CPPFLAGS)
> ++jxl_la_CPPFLAGS = $(AM_CPPFLAGS) $(JXL_CFLAGS)
> + jxl_la_LDFLAGS = -module -avoid-version
> + jxl_la_LIBADD = $(JXL_LIBS) $(top_builddir)/src/lib/libImlib2.la
> + jxl_la_LIBTOOLFLAGS = --tag=disable-static
> +@@ -128,7 +128,7 @@ lbm_la_LIBADD = $(top_builddir)/src/lib/libImli
> + lbm_la_LIBTOOLFLAGS = --tag=disable-static
> +
> + png_la_SOURCES = loader_png.c
> +-png_la_CPPFLAGS = $(PNG_CFLAGS) $(AM_CPPFLAGS)
> ++png_la_CPPFLAGS = $(AM_CPPFLAGS) $(PNG_CFLAGS)
> + png_la_LDFLAGS = -module -avoid-version
> + png_la_LIBADD = $(PNG_LIBS) $(top_builddir)/src/lib/libImlib2.la
> + png_la_LIBTOOLFLAGS = --tag=disable-static
> +@@ -139,13 +139,13 @@ pnm_la_LIBADD = $(top_builddir)/src/lib/libImli
> + pnm_la_LIBTOOLFLAGS = --tag=disable-static
> +
> + ps_la_SOURCES = loader_ps.c
> +-ps_la_CPPFLAGS = $(PS_CFLAGS) $(AM_CPPFLAGS)
> ++ps_la_CPPFLAGS = $(AM_CPPFLAGS) $(PS_CFLAGS)
> + ps_la_LDFLAGS = -module -avoid-version
> + ps_la_LIBADD = $(PS_LIBS) $(top_builddir)/src/lib/libImlib2.la
> + ps_la_LIBTOOLFLAGS = --tag=disable-static
> +
> + raw_la_SOURCES = loader_raw.c
> +-raw_la_CPPFLAGS = $(RAW_CFLAGS) $(AM_CPPFLAGS)
> ++raw_la_CPPFLAGS = $(AM_CPPFLAGS) $(RAW_CFLAGS)
> + raw_la_LDFLAGS = -module -avoid-version
> + raw_la_LIBADD = $(RAW_LIBS) $(top_builddir)/src/lib/libImlib2.la
> + raw_la_LIBTOOLFLAGS = --tag=disable-static
> +@@ -156,7 +156,7 @@ qoi_la_LIBADD = $(top_builddir)/src/lib/libImli
> + qoi_la_LIBTOOLFLAGS = --tag=disable-static
> +
> + svg_la_SOURCES = loader_svg.c
> +-svg_la_CPPFLAGS = $(SVG_CFLAGS) $(AM_CPPFLAGS)
> ++svg_la_CPPFLAGS = $(AM_CPPFLAGS) $(SVG_CFLAGS)
> + svg_la_LDFLAGS = -module -avoid-version
> + svg_la_LIBADD = $(SVG_LIBS) $(top_builddir)/src/lib/libImlib2.la
> + svg_la_LIBTOOLFLAGS = --tag=disable-static
> +@@ -167,13 +167,13 @@ tga_la_LIBADD = $(top_builddir)/src/lib/libImli
> + tga_la_LIBTOOLFLAGS = --tag=disable-static
> +
> + tiff_la_SOURCES = loader_tiff.c
> +-tiff_la_CPPFLAGS = $(TIFF_CFLAGS) $(AM_CPPFLAGS)
> ++tiff_la_CPPFLAGS = $(AM_CPPFLAGS) $(TIFF_CFLAGS)
> + tiff_la_LDFLAGS = -module -avoid-version
> + tiff_la_LIBADD = $(TIFF_LIBS) $(top_builddir)/src/lib/libImlib2.la
> + tiff_la_LIBTOOLFLAGS = --tag=disable-static
> +
> + webp_la_SOURCES = loader_webp.c
> +-webp_la_CPPFLAGS = $(WEBP_CFLAGS) $(AM_CPPFLAGS)
> ++webp_la_CPPFLAGS = $(AM_CPPFLAGS) $(WEBP_CFLAGS)
> + webp_la_LDFLAGS = -module -avoid-version
> + webp_la_LIBADD = $(WEBP_LIBS) $(top_builddir)/src/lib/libImlib2.la
> + webp_la_LIBTOOLFLAGS = --tag=disable-static
> +@@ -189,31 +189,31 @@ xpm_la_LIBADD = $(top_builddir)/src/lib/libImli
> + xpm_la_LIBTOOLFLAGS = --tag=disable-static
> +
> + y4m_la_SOURCES = loader_y4m.c
> +-y4m_la_CPPFLAGS = $(Y4M_CFLAGS) $(AM_CPPFLAGS)
> ++y4m_la_CPPFLAGS = $(AM_CPPFLAGS) $(Y4M_CFLAGS)
> + y4m_la_LDFLAGS = -module -avoid-version
> + y4m_la_LIBADD = $(Y4M_LIBS) $(top_builddir)/src/lib/libImlib2.la
> + y4m_la_LIBTOOLFLAGS = --tag=disable-static
> +
> + bz2_la_SOURCES = loader_bz2.c decompress_load.c compression.h
> +-bz2_la_CPPFLAGS = $(BZ2_CFLAGS) $(AM_CPPFLAGS)
> ++bz2_la_CPPFLAGS = $(AM_CPPFLAGS) $(BZ2_CFLAGS)
> + bz2_la_LDFLAGS = -module -avoid-version
> + bz2_la_LIBADD = $(BZ2_LIBS) $(top_builddir)/src/lib/libImlib2.la
> + bz2_la_LIBTOOLFLAGS = --tag=disable-static
> +
> + lzma_la_SOURCES = loader_lzma.c decompress_load.c compression.h
> +-lzma_la_CPPFLAGS = $(LZMA_CFLAGS) $(AM_CPPFLAGS)
> ++lzma_la_CPPFLAGS = $(AM_CPPFLAGS) $(LZMA_CFLAGS)
> + lzma_la_LDFLAGS = -module -avoid-version
> + lzma_la_LIBADD = $(LZMA_LIBS) $(top_builddir)/src/lib/libImlib2.la
> + lzma_la_LIBTOOLFLAGS = --tag=disable-static
> +
> + zlib_la_SOURCES = loader_zlib.c decompress_load.c compression.h
> +-zlib_la_CPPFLAGS = $(ZLIB_CFLAGS) $(AM_CPPFLAGS)
> ++zlib_la_CPPFLAGS = $(AM_CPPFLAGS) $(ZLIB_CFLAGS)
> + zlib_la_LDFLAGS = -module -avoid-version
> + zlib_la_LIBADD = $(ZLIB_LIBS) $(top_builddir)/src/lib/libImlib2.la
> + zlib_la_LIBTOOLFLAGS = --tag=disable-static
> +
> + id3_la_SOURCES = loader_id3.c
> +-id3_la_CPPFLAGS = $(ID3_CFLAGS) $(AM_CPPFLAGS)
> ++id3_la_CPPFLAGS = $(AM_CPPFLAGS) $(ID3_CFLAGS)
> + id3_la_LDFLAGS = -module -avoid-version
> + id3_la_LIBADD = $(ID3_LIBS) $(top_builddir)/src/lib/libImlib2.la
> + id3_la_LIBTOOLFLAGS = --tag=disable-static
> Index: pkg/PLIST
> ===================================================================
> RCS file: /home/cvs/ports/graphics/imlib2/pkg/PLIST,v
> retrieving revision 1.13
> diff -u -p -r1.13 PLIST
> --- pkg/PLIST 29 Aug 2023 18:25:16 -0000 1.13
> +++ pkg/PLIST 4 Sep 2023 12:31:07 -0000
> @@ -33,6 +33,8 @@ lib/imlib2/loaders/
> @so lib/imlib2/loaders/lzma.so
> @so lib/imlib2/loaders/png.so
> @so lib/imlib2/loaders/pnm.so
> +@so lib/imlib2/loaders/qoi.so
> +@so lib/imlib2/loaders/raw.so
> ${COMMENT_SVG}@so lib/imlib2/loaders/svg.so
> @so lib/imlib2/loaders/tga.so
> @so lib/imlib2/loaders/tiff.so
> @@ -70,3 +72,4 @@ share/imlib2/data/images/sh2.png
> share/imlib2/data/images/sh3.png
> share/imlib2/data/images/stop.png
> share/imlib2/data/images/tnt.png
> +share/imlib2/rgb.txt
>