Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 20 Nov 2020 17:04:19 +0000 (UTC)
From:      Jan Beich <jbeich@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r555771 - in head/graphics: . jpeg-xl jpeg-xl/files
Message-ID:  <202011201704.0AKH4JVv000975@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jbeich
Date: Fri Nov 20 17:04:18 2020
New Revision: 555771
URL: https://svnweb.freebsd.org/changeset/ports/555771

Log:
  graphics/jpeg-xl: add new port
  
  The JPEG XL Image Coding System (ISO/IEC 18181) has a rich feature set
  and is particularly optimised for responsive web environments, so that
  content renders well on a wide range of devices. Moreover, it includes
  several features that help transition from the legacy JPEG format.
  
  https://jpeg.org/jpegxl/

Added:
  head/graphics/jpeg-xl/
  head/graphics/jpeg-xl/Makefile   (contents, props changed)
  head/graphics/jpeg-xl/distinfo   (contents, props changed)
  head/graphics/jpeg-xl/files/
  head/graphics/jpeg-xl/files/patch-private-libs   (contents, props changed)
  head/graphics/jpeg-xl/pkg-descr   (contents, props changed)
  head/graphics/jpeg-xl/pkg-plist   (contents, props changed)
Modified:
  head/graphics/Makefile   (contents, props changed)

Modified: head/graphics/Makefile
==============================================================================
--- head/graphics/Makefile	Fri Nov 20 16:26:36 2020	(r555770)
+++ head/graphics/Makefile	Fri Nov 20 17:04:18 2020	(r555771)
@@ -377,6 +377,7 @@
     SUBDIR += jpatch
     SUBDIR += jpeg
     SUBDIR += jpeg-turbo
+    SUBDIR += jpeg-xl
     SUBDIR += jpeginfo
     SUBDIR += jpegoptim
     SUBDIR += jpgtn

Added: head/graphics/jpeg-xl/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/graphics/jpeg-xl/Makefile	Fri Nov 20 17:04:18 2020	(r555771)
@@ -0,0 +1,75 @@
+# $FreeBSD$
+
+PORTNAME=	jpeg-xl
+DISTVERSIONPREFIX=	v
+DISTVERSION=	0.1
+CATEGORIES=	graphics
+
+MAINTAINER=	jbeich@FreeBSD.org
+COMMENT=	JPEG XL reference encoder/decoder
+
+LICENSE=	APACHE20 BSD3CLAUSE MIT ZLIB
+LICENSE_COMB=	multi
+LICENSE_FILE_BSD3CLAUSE=${WRKSRC}/third_party/skcms/LICENSE
+LICENSE_FILE_MIT=	${WRKSRC}/third_party/brunsli/LICENSE
+LICENSE_FILE_ZLIB=	${WRKSRC}/third_party/lodepng/LICENSE
+
+LIB_DEPENDS=	libbrotlienc.so:archivers/brotli
+
+USES=		cmake compiler:c++11-lib pkgconfig shared-mime-info
+USE_GITHUB=	nodefault
+USE_GITLAB=	yes
+USE_LDCONFIG=	yes
+GL_ACCOUNT=	wg1
+GH_TUPLE=	barmco:skcms:6437475:skcms/third_party/skcms \
+		google:brunsli:v0.1-54-gde6768b:brunsli/third_party/brunsli \
+		google:highway:94a72d0:highway/third_party/highway \
+		lvandeve:lodepng:48e5364:lodepng/third_party/lodepng \
+		webmproject:sjpeg:868ab55:sjpeg/third_party/sjpeg \
+		${NULL}
+GL_COMMIT=	d5ab3c6caef17c1db6fd90c4b00b5845a0ac8339
+CMAKE_ON=	JPEGXL_ENABLE_PLUGINS
+CMAKE_OFF=	JPEGXL_WARNINGS_AS_ERRORS ${BENCHMARK FUZZERS TCMALLOC:L:S/^/JPEGXL_ENABLE_/}
+CMAKE_OFF+=	${OpenGL GLUT:L:S/^/CMAKE_DISABLE_FIND_PACKAGE_/} # sjpeg
+LDFLAGS+=	-Wl,--as-needed # brotlicommon, GIMP/OPENEXR/PNG deps
+
+OPTIONS_DEFINE=	GIF GIMP JPEG OPENEXR PIXBUF PNG TEST
+OPTIONS_DEFAULT=GIF GIMP JPEG OPENEXR PIXBUF PNG
+OPTIONS_SUB=	yes
+
+GIF_LIB_DEPENDS=	libgif.so:graphics/giflib
+GIF_CMAKE_BOOL_OFF=	CMAKE_DISABLE_FIND_PACKAGE_GIF
+
+GIMP_DESC=		GIMP plugin support
+GIMP_LIB_DEPENDS=	libgegl-0.4.so:graphics/gegl \
+			libgimp-2.0.so:graphics/gimp-app \
+			libbabl-0.1.so:x11/babl
+
+JPEG_USES=		jpeg
+JPEG_CMAKE_BOOL_OFF=	CMAKE_DISABLE_FIND_PACKAGE_JPEG
+JPEG_BROKEN_OFF=	https://gitlab.com/wg1/jpeg-xl/-/issues/65
+
+OPENEXR_LIB_DEPENDS=	libHalf.so:graphics/ilmbase \
+			libIlmImf.so:graphics/openexr
+OPENEXR_CMAKE_BOOL=	JPEGXL_ENABLE_OPENEXR
+
+PIXBUF_USES=		gnome
+PIXBUF_USE=		GNOME=gdkpixbuf2
+
+PNG_LIB_DEPENDS=	libpng.so:graphics/png
+PNG_CMAKE_BOOL_OFF=	CMAKE_DISABLE_FIND_PACKAGE_PNG
+
+TEST_BUILD_DEPENDS=	googletest>0:devel/googletest
+TEST_USES=		localbase:ldflags
+TEST_CMAKE_BOOL=	BUILD_TESTING
+TEST_TEST_TARGET=	test
+
+# pkg_check_modules doesn't support CMAKE_DISABLE_*
+post-patch-GIMP-off:
+	@${REINPLACE_CMD} -i.nogimp '/gimp/d' ${WRKSRC}/plugins/CMakeLists.txt
+post-patch-PIXBUF-off:
+	@${REINPLACE_CMD} -i.nopixbuf '/gdk-pixbuf/d' ${WRKSRC}/plugins/CMakeLists.txt
+
+pre-install-TEST-on:	do-test
+
+.include <bsd.port.mk>

Added: head/graphics/jpeg-xl/distinfo
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/graphics/jpeg-xl/distinfo	Fri Nov 20 17:04:18 2020	(r555771)
@@ -0,0 +1,13 @@
+TIMESTAMP = 1605315123
+SHA256 (barmco-skcms-6437475_GH0.tar.gz) = 6818ea7aa053a964d1795d6d1d3c5e2aad5d30dff9817c8e604e324ef643ec01
+SIZE (barmco-skcms-6437475_GH0.tar.gz) = 9200034
+SHA256 (google-brunsli-v0.1-54-gde6768b_GH0.tar.gz) = 71fd49d096dbec605ca62db32839f489e17d5a258335ef64ba9c14dd2c46f6be
+SIZE (google-brunsli-v0.1-54-gde6768b_GH0.tar.gz) = 152465
+SHA256 (google-highway-94a72d0_GH0.tar.gz) = 4bd49b1ee7aa1199fc024b567da39e45392115e2ae090d4c91b2358cd605cd5e
+SIZE (google-highway-94a72d0_GH0.tar.gz) = 287696
+SHA256 (lvandeve-lodepng-48e5364_GH0.tar.gz) = 41e0bcc686e31ee2d51a6c87c0089045f4805e4053d39026ad02e8aa90c782c1
+SIZE (lvandeve-lodepng-48e5364_GH0.tar.gz) = 239988
+SHA256 (webmproject-sjpeg-868ab55_GH0.tar.gz) = ffe757b376fed2fd94473f8625c25f82a3a23aa317fb1bbf1ac8159b6e0a7726
+SIZE (webmproject-sjpeg-868ab55_GH0.tar.gz) = 2472084
+SHA256 (wg1-jpeg-xl-d5ab3c6caef17c1db6fd90c4b00b5845a0ac8339_GL0.tar.gz) = bb1aab28b09470f32000272712bd0897df8e756463879cdc4bd25f309521c9ed
+SIZE (wg1-jpeg-xl-d5ab3c6caef17c1db6fd90c4b00b5845a0ac8339_GL0.tar.gz) = 14233744

Added: head/graphics/jpeg-xl/files/patch-private-libs
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/graphics/jpeg-xl/files/patch-private-libs	Fri Nov 20 17:04:18 2020	(r555771)
@@ -0,0 +1,25 @@
+highway is untagged and have no other consumers. Keep it private to
+jpeg-xl package for now.
+
+--- third_party/CMakeLists.txt.orig	2020-11-14 00:52:03 UTC
++++ third_party/CMakeLists.txt
+@@ -83,7 +83,7 @@ endif()  # BUILD_TESTING
+ # Highway
+ if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/highway/CMakeLists.txt" AND
+     NOT JPEGXL_FORCE_SYSTEM_HWY)
+-  add_subdirectory(highway)
++  add_subdirectory(highway EXCLUDE_FROM_ALL)
+   configure_file("${CMAKE_CURRENT_SOURCE_DIR}/highway/LICENSE"
+                  ${PROJECT_BINARY_DIR}/LICENSE.highway COPYONLY)
+ else()
+--- third_party/highway/CMakeLists.txt.orig	2020-10-29 17:04:03 UTC
++++ third_party/highway/CMakeLists.txt
+@@ -222,7 +222,7 @@ set_target_properties(hwy_benchmark
+ 
+ include(CTest)
+ 
+-if(BUILD_TESTING)
++if(HWY_BUILD_TESTING)
+ 
+ find_package(GTest REQUIRED)
+ 

Added: head/graphics/jpeg-xl/pkg-descr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/graphics/jpeg-xl/pkg-descr	Fri Nov 20 17:04:18 2020	(r555771)
@@ -0,0 +1,9 @@
+The JPEG XL Image Coding System (ISO/IEC 18181) has a rich feature set
+and is particularly optimised for responsive web environments, so that
+content renders well on a wide range of devices. Moreover, it includes
+several features that help transition from the legacy JPEG format.
+
+WARNING: Until further notice, do not depend on future decoders being
+         able to decode the output of a current encoder.
+
+WWW: https://jpeg.org/jpegxl/

Added: head/graphics/jpeg-xl/pkg-plist
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/graphics/jpeg-xl/pkg-plist	Fri Nov 20 17:04:18 2020	(r555771)
@@ -0,0 +1,31 @@
+bin/cjxl
+bin/djxl
+include/jxl/codestream_header.h
+include/jxl/color_encoding.h
+include/jxl/decode.h
+include/jxl/decode_cxx.h
+include/jxl/encode.h
+include/jxl/encode_cxx.h
+include/jxl/jxl_export.h
+include/jxl/jxl_threads_export.h
+include/jxl/memory_manager.h
+include/jxl/parallel_runner.h
+include/jxl/thread_parallel_runner.h
+include/jxl/thread_parallel_runner_cxx.h
+include/jxl/types.h
+%%PIXBUF%%lib/gdk-pixbuf-2.0/%%GTK2_VERSION%%/loaders/libpixbufloader-jxl.so
+lib/libjxl.a
+lib/libjxl.so
+lib/libjxl.so.0
+lib/libjxl.so.0.1.0
+lib/libjxl_threads.a
+lib/libjxl_threads.so
+lib/libjxl_threads.so.0
+lib/libjxl_threads.so.0.1.0
+libdata/pkgconfig/libjxl.pc
+libdata/pkgconfig/libjxl_threads.pc
+%%GIMP%%libexec/gimp/2.2/plug-ins/file-jxl/file-jxl
+share/mime/packages/image-jxl.xml
+%%PIXBUF%%share/thumbnailers/jxl.thumbnailer
+%%PIXBUF%%@postexec %D/bin/gdk-pixbuf-query-loaders > /dev/null 2>&1 && %D/bin/gdk-pixbuf-query-loaders > %D/lib/gdk-pixbuf-2.0/%%GTK2_VERSION%%/loaders.cache 2>/dev/null || /usr/bin/true
+%%PIXBUF%%@postunexec %D/bin/gdk-pixbuf-query-loaders > /dev/null 2>&1 && %D/bin/gdk-pixbuf-query-loaders > %D/lib/gdk-pixbuf-2.0/%%GTK2_VERSION%%/loaders.cache 2>/dev/null || /usr/bin/true



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202011201704.0AKH4JVv000975>