From nobody Fri Dec 30 09:18:45 2022 X-Original-To: dev-commits-ports-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Nk0793bxJz2khHW; Fri, 30 Dec 2022 09:18:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Nk0793F8zz4brX; Fri, 30 Dec 2022 09:18:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1672391925; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FlJgyh15o5kL89z3aS6TaSZ2F8QE7Pvw8Drc6c6yNjM=; b=ABuWqWqG5XxXuD1TygFifNTyWOplPZT8Alpf8Gi/hQ63wEtZY8KYxmrdxRsDzLMcg8jCe4 UXeobObxzjEDSRlf6twpEFhvs322QZzAlt9qXgE10GarQOJbYHwwFTn6m1wb4qvp8nRC1q CBxVs6NQ6fuk4ZRqlmsZZjBs6SQZiV+HpzKrr59r93qadeC21k5RAMdxQxaAsU6alOtigt S0SYSs49wwlGv/ZUVGA3uq+5aOsaE4nJt6/jlnMS/roS6Nrb+AQyl4E0dHfoysbdxIvl8I 45VNEeHJyai7qchAVEj9IwZBdger+CI2Sd+x1hBZujVwua1MMg492mmYmYMQsg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1672391925; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FlJgyh15o5kL89z3aS6TaSZ2F8QE7Pvw8Drc6c6yNjM=; b=AUfHHh/cnFmi12yWfGdqlWrI+OKwnCoSokcYKVsv2V6xaNc9rbqvxNvn47QfbGvCunInKV uquimxPL/RSBAo2HGU2CUfyKqqiFRNKcQcQorygOq4XJHp/m6PatKvDLEN0d3TRoS1iIiL bDxR15EL2kC2hfqHxB8OMa25XK4recm1cpWB8arsL2KzNPtDFr4QbEGTXHj9/JJgahYFG2 6xqYO9VEcXtn7ut+OHAStBvNrbmalsvbwT9XxDUkoAQXZsX6YnfEQ5ZHXcVapvS8y18YXJ 7yROjjSIh/Kv9MM4nmKHBjKfsdtOWKUdJtuuDd8YADDPzj+GzGxHlbwf7B3ACQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1672391925; a=rsa-sha256; cv=none; b=wU0FMBsZlakKsGN/psZM0Ca4an5fCvu4ixeag1o/J9f0NngzWWt09T6jl53okow7H1S0GS OQHEk7x8AHUjxr5PO2i/xNNp4slbjZSFiZ7S1vjpQ/vZsYYvpAaa5kjqzLLoH4U2/qFiuY 6M5URsrBCiJrmskodV/Aco92TmuOZijmZraUSk7u+l8XkdbPGaTVVuTk/DfgAOW5s8ndKk hNCEQxtQCJfe9gvQ6nmbchB38S24RSg0sO1Q+WzwWHLvrkr5qGX6KViBASUtHVAPhMuLHb DMlk9ApVcyQdkmOJHZmnqMlZvW2LPsk0uVqyNuV9CzquapoQQRyq5vOtBkz7nQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Nk079210Qz13dC; Fri, 30 Dec 2022 09:18:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 2BU9Ij2P027510; Fri, 30 Dec 2022 09:18:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 2BU9Ij9f027509; Fri, 30 Dec 2022 09:18:45 GMT (envelope-from git) Date: Fri, 30 Dec 2022 09:18:45 GMT Message-Id: <202212300918.2BU9Ij9f027509@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Po-Chuan Hsieh Subject: git: 786b3ebb6793 - main - graphics/webp: Unbundle libsharpyuv List-Id: Commits to the main branch of the FreeBSD ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-ports-main@freebsd.org X-BeenThere: dev-commits-ports-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: sunpoet X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 786b3ebb6793a6254904cee75621240dfceb6060 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by sunpoet: URL: https://cgit.FreeBSD.org/ports/commit/?id=786b3ebb6793a6254904cee75621240dfceb6060 commit 786b3ebb6793a6254904cee75621240dfceb6060 Author: Jan Beich AuthorDate: 2022-12-30 08:55:14 +0000 Commit: Po-Chuan Hsieh CommitDate: 2022-12-30 09:06:31 +0000 graphics/webp: Unbundle libsharpyuv - Bump PORTREVISION for package change PR: 267062 Submitted by: jbeich Obtained from: https://github.com/webmproject/libwebp/commit/a3b68c195e27248e4401e727dbdb21ea1ef1258f https://github.com/webmproject/libwebp/commit/7deee8103edf77bf68095253668f4818d09609e1 https://github.com/webmproject/libwebp/commit/04764b56a00417d9c3aa5105f3b62a4445ac1fe6 https://github.com/webmproject/libwebp/commit/e8f83de2867456a75b13aa1e876b22e2d1e1c077 --- graphics/webp/Makefile | 1 + graphics/webp/files/patch-libsharpyuv | 591 ++++++++++++++++++++++++++++++++++ graphics/webp/pkg-plist | 7 + 3 files changed, 599 insertions(+) diff --git a/graphics/webp/Makefile b/graphics/webp/Makefile index 3fa0d542ff1c..5547a94a81d4 100644 --- a/graphics/webp/Makefile +++ b/graphics/webp/Makefile @@ -1,5 +1,6 @@ PORTNAME= webp PORTVERSION= 1.2.4 +PORTREVISION= 1 CATEGORIES= graphics MASTER_SITES= http://downloads.webmproject.org/releases/webp/ \ https://storage.googleapis.com/downloads.webmproject.org/releases/webp/ diff --git a/graphics/webp/files/patch-libsharpyuv b/graphics/webp/files/patch-libsharpyuv new file mode 100644 index 000000000000..a5c24ac81122 --- /dev/null +++ b/graphics/webp/files/patch-libsharpyuv @@ -0,0 +1,591 @@ +Obtained from: https://github.com/webmproject/libwebp/commit/a3b68c195e27248e4401e727dbdb21ea1ef1258f + https://github.com/webmproject/libwebp/commit/7deee8103edf77bf68095253668f4818d09609e1 + https://github.com/webmproject/libwebp/commit/04764b56a00417d9c3aa5105f3b62a4445ac1fe6 + https://github.com/webmproject/libwebp/commit/e8f83de2867456a75b13aa1e876b22e2d1e1c077 + +--- CMakeLists.txt.orig 2022-08-05 23:49:26 UTC ++++ CMakeLists.txt +@@ -208,6 +208,46 @@ add_definitions(-DHAVE_CONFIG_H) + ${CMAKE_CURRENT_BINARY_DIR}/src/webp/config.h) + add_definitions(-DHAVE_CONFIG_H) + ++# Set the version numbers. ++macro(set_version FILE TARGET_NAME NAME_IN_MAKEFILE) ++ file(READ ${CMAKE_CURRENT_SOURCE_DIR}/${FILE} SOURCE_FILE) ++ string(REGEX MATCH ++ "${NAME_IN_MAKEFILE}_la_LDFLAGS[^\n]* -version-info [0-9:]+" ++ TMP ++ ${SOURCE_FILE}) ++ string(REGEX MATCH ++ "[0-9:]+" ++ TMP ++ ${TMP}) ++ string(REGEX ++ REPLACE ":" ++ " " ++ LT_VERSION ++ ${TMP}) ++ ++ # See the libtool docs for more information: ++ # https://www.gnu.org/software/libtool/manual/libtool.html#Updating-version-info ++ # ++ # c=, a=, r= ++ # ++ # libtool generates a .so file as .so.[c-a].a.r, while -version-info c:r:a is ++ # passed to libtool. ++ # ++ # We set FULL = [c-a].a.r and MAJOR = [c-a]. ++ separate_arguments(LT_VERSION) ++ list(GET LT_VERSION 0 LT_CURRENT) ++ list(GET LT_VERSION 1 LT_REVISION) ++ list(GET LT_VERSION 2 LT_AGE) ++ math(EXPR LT_CURRENT_MINUS_AGE "${LT_CURRENT} - ${LT_AGE}") ++ ++ set_target_properties( ++ ${TARGET_NAME} ++ PROPERTIES VERSION ++ ${LT_CURRENT_MINUS_AGE}.${LT_AGE}.${LT_REVISION} ++ SOVERSION ++ ${LT_CURRENT_MINUS_AGE}) ++endmacro() ++ + # ############################################################################## + # Build the webpdecoder library. + +@@ -235,15 +275,25 @@ parse_makefile_am(${CMAKE_CURRENT_SOURCE_DIR}/sharpyuv + + parse_makefile_am(${CMAKE_CURRENT_SOURCE_DIR}/sharpyuv "WEBP_SHARPYUV_SRCS" + "") +-add_library(sharpyuv OBJECT ${WEBP_SHARPYUV_SRCS}) ++add_library(sharpyuv ${WEBP_SHARPYUV_SRCS}) ++set_version(sharpyuv/Makefile.am sharpyuv sharpyuv) + target_include_directories(sharpyuv + PRIVATE ${CMAKE_CURRENT_BINARY_DIR} +- ${CMAKE_CURRENT_SOURCE_DIR}) ++ ${CMAKE_CURRENT_SOURCE_DIR} ++ ${CMAKE_CURRENT_SOURCE_DIR}/src) + set_target_properties( + sharpyuv + PROPERTIES PUBLIC_HEADER "${CMAKE_CURRENT_SOURCE_DIR}/sharpyuv/sharpyuv.h;\ +-${CMAKE_CURRENT_SOURCE_DIR}/sharpyuv/sharpyuv_csp.h;\ +-${CMAKE_CURRENT_SOURCE_DIR}/src/webp/types.h") ++${CMAKE_CURRENT_SOURCE_DIR}/sharpyuv/sharpyuv_csp.h") ++configure_pkg_config("sharpyuv/libsharpyuv.pc") ++install(TARGETS sharpyuv ++ EXPORT ${PROJECT_NAME}Targets ++ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/webp/sharpyuv ++ INCLUDES ++ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} ${CMAKE_INSTALL_INCLUDEDIR}/webp ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) + + if(MSVC) + # avoid security warnings for e.g., fopen() used in the examples. +@@ -291,7 +341,8 @@ target_include_directories(webpencode + add_library(webpencode OBJECT ${WEBP_ENC_SRCS}) + target_include_directories(webpencode + PRIVATE ${CMAKE_CURRENT_BINARY_DIR} +- ${CMAKE_CURRENT_SOURCE_DIR}) ++ ${CMAKE_CURRENT_SOURCE_DIR} ++ ${CMAKE_CURRENT_SOURCE_DIR}/src) + add_library(webpdsp + OBJECT + ${WEBP_DSP_COMMON_SRCS} +@@ -309,11 +360,11 @@ add_library(webp + PRIVATE ${CMAKE_CURRENT_BINARY_DIR} + ${CMAKE_CURRENT_SOURCE_DIR}) + add_library(webp +- $ + $ + $ + $ + $) ++target_link_libraries(webp sharpyuv) + if(XCODE) + libwebp_add_stub_file(webp) + endif() +@@ -332,8 +383,7 @@ ${CMAKE_CURRENT_SOURCE_DIR}/src/webp/types.h") + + # Make sure the OBJECT libraries are built with position independent code (it is + # not ON by default). +-set_target_properties(sharpyuv +- webpdecode ++set_target_properties(webpdecode + webpdspdecode + webputilsdecode + webpencode +@@ -358,48 +408,9 @@ configure_pkg_config("src/demux/libwebpdemux.pc") + + configure_pkg_config("src/demux/libwebpdemux.pc") + +-# Set the version numbers. +-macro(set_version FILE TARGET_NAME NAME_IN_MAKEFILE) +- file(READ ${CMAKE_CURRENT_SOURCE_DIR}/src/${FILE} SOURCE_FILE) +- string(REGEX MATCH +- "${NAME_IN_MAKEFILE}_la_LDFLAGS[^\n]* -version-info [0-9:]+" +- TMP +- ${SOURCE_FILE}) +- string(REGEX MATCH +- "[0-9:]+" +- TMP +- ${TMP}) +- string(REGEX +- REPLACE ":" +- " " +- LT_VERSION +- ${TMP}) +- +- # See the libtool docs for more information: +- # https://www.gnu.org/software/libtool/manual/libtool.html#Updating-version-info +- # +- # c=, a=, r= +- # +- # libtool generates a .so file as .so.[c-a].a.r, while -version-info c:r:a is +- # passed to libtool. +- # +- # We set FULL = [c-a].a.r and MAJOR = [c-a]. +- separate_arguments(LT_VERSION) +- list(GET LT_VERSION 0 LT_CURRENT) +- list(GET LT_VERSION 1 LT_REVISION) +- list(GET LT_VERSION 2 LT_AGE) +- math(EXPR LT_CURRENT_MINUS_AGE "${LT_CURRENT} - ${LT_AGE}") +- +- set_target_properties( +- ${TARGET_NAME} +- PROPERTIES VERSION +- ${LT_CURRENT_MINUS_AGE}.${LT_AGE}.${LT_REVISION} +- SOVERSION +- ${LT_CURRENT_MINUS_AGE}) +-endmacro() +-set_version(Makefile.am webp webp) +-set_version(Makefile.am webpdecoder webpdecoder) +-set_version(demux/Makefile.am webpdemux webpdemux) ++set_version(src/Makefile.am webp webp) ++set_version(src/Makefile.am webpdecoder webpdecoder) ++set_version(src/demux/Makefile.am webpdemux webpdemux) + file(READ ${CMAKE_CURRENT_SOURCE_DIR}/configure.ac CONFIGURE_FILE) + string(REGEX MATCH + "AC_INIT\\([^\n]*\\[[0-9\\.]+\\]" +@@ -514,7 +525,7 @@ if(WEBP_BUILD_LIBWEBPMUX) + target_include_directories(libwebpmux + PRIVATE ${CMAKE_CURRENT_BINARY_DIR} + ${CMAKE_CURRENT_SOURCE_DIR}) +- set_version(mux/Makefile.am libwebpmux webpmux) ++ set_version(src/mux/Makefile.am libwebpmux webpmux) + set_target_properties(libwebpmux + PROPERTIES PUBLIC_HEADER + "${CMAKE_CURRENT_SOURCE_DIR}/src/webp/mux.h;\ +--- configure.orig 2022-08-05 23:55:13 UTC ++++ configure +@@ -15776,7 +15776,7 @@ ac_config_headers="$ac_config_headers src/webp/config. + + ac_config_headers="$ac_config_headers src/webp/config.h" + +-ac_config_files="$ac_config_files Makefile src/Makefile man/Makefile examples/Makefile extras/Makefile imageio/Makefile sharpyuv/Makefile src/dec/Makefile src/enc/Makefile src/dsp/Makefile src/demux/Makefile src/mux/Makefile src/utils/Makefile src/libwebp.pc src/libwebpdecoder.pc src/demux/libwebpdemux.pc src/mux/libwebpmux.pc" ++ac_config_files="$ac_config_files Makefile src/Makefile man/Makefile examples/Makefile extras/Makefile imageio/Makefile sharpyuv/Makefile sharpyuv/libsharpyuv.pc src/dec/Makefile src/enc/Makefile src/dsp/Makefile src/demux/Makefile src/mux/Makefile src/utils/Makefile src/libwebp.pc src/libwebpdecoder.pc src/demux/libwebpdemux.pc src/mux/libwebpmux.pc" + + + +@@ -16837,6 +16837,7 @@ do + "extras/Makefile") CONFIG_FILES="$CONFIG_FILES extras/Makefile" ;; + "imageio/Makefile") CONFIG_FILES="$CONFIG_FILES imageio/Makefile" ;; + "sharpyuv/Makefile") CONFIG_FILES="$CONFIG_FILES sharpyuv/Makefile" ;; ++ "sharpyuv/libsharpyuv.pc") CONFIG_FILES="$CONFIG_FILES sharpyuv/libsharpyuv.pc" ;; + "src/dec/Makefile") CONFIG_FILES="$CONFIG_FILES src/dec/Makefile" ;; + "src/enc/Makefile") CONFIG_FILES="$CONFIG_FILES src/enc/Makefile" ;; + "src/dsp/Makefile") CONFIG_FILES="$CONFIG_FILES src/dsp/Makefile" ;; +--- sharpyuv/Makefile.in.orig 2022-08-05 23:55:14 UTC ++++ sharpyuv/Makefile.in +@@ -90,7 +90,6 @@ host_triplet = @host@ + POST_UNINSTALL = : + build_triplet = @build@ + host_triplet = @host@ +-noinst_PROGRAMS = + subdir = sharpyuv + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 + am__aclocal_m4_deps = $(top_srcdir)/m4/ax_pthread.m4 \ +@@ -99,14 +98,42 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGUR + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac + am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +-DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \ +- $(am__DIST_COMMON) ++DIST_COMMON = $(srcdir)/Makefile.am $(libsharpyuvinclude_HEADERS) \ ++ $(noinst_HEADERS) $(am__DIST_COMMON) + mkinstalldirs = $(install_sh) -d + CONFIG_HEADER = $(top_builddir)/src/webp/config.h +-CONFIG_CLEAN_FILES = ++CONFIG_CLEAN_FILES = libsharpyuv.pc + CONFIG_CLEAN_VPATH_FILES = +-PROGRAMS = $(noinst_PROGRAMS) +-LTLIBRARIES = $(noinst_LTLIBRARIES) ++am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; ++am__vpath_adj = case $$p in \ ++ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ ++ *) f=$$p;; \ ++ esac; ++am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; ++am__install_max = 40 ++am__nobase_strip_setup = \ ++ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` ++am__nobase_strip = \ ++ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" ++am__nobase_list = $(am__nobase_strip_setup); \ ++ for p in $$list; do echo "$$p $$p"; done | \ ++ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ ++ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ ++ if (++n[$$2] == $(am__install_max)) \ ++ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ ++ END { for (dir in files) print dir, files[dir] }' ++am__base_list = \ ++ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ ++ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' ++am__uninstall_files_from_dir = { \ ++ test -z "$$files" \ ++ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ ++ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ ++ $(am__cd) "$$dir" && rm -f $$files; }; \ ++ } ++am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(pkgconfigdir)" \ ++ "$(DESTDIR)$(libsharpyuvincludedir)" ++LTLIBRARIES = $(lib_LTLIBRARIES) $(noinst_LTLIBRARIES) + libsharpyuv_la_DEPENDENCIES = libsharpyuv_sse2.la libsharpyuv_neon.la + am_libsharpyuv_la_OBJECTS = libsharpyuv_la-sharpyuv_csp.lo \ + libsharpyuv_la-sharpyuv_dsp.lo \ +@@ -183,7 +210,8 @@ am__can_run_installinfo = \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +-HEADERS = $(noinst_HEADERS) ++DATA = $(pkgconfig_DATA) ++HEADERS = $(libsharpyuvinclude_HEADERS) $(noinst_HEADERS) + am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) + # Read a list of newline-separated strings from the standard input, + # and print each of them once, without duplicates. Input order is +@@ -201,7 +229,8 @@ am__define_uniq_tagged_files = \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +-am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp ++am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/libsharpyuv.pc.in \ ++ $(top_srcdir)/depcomp + DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) + ACLOCAL = @ACLOCAL@ + AMTAR = @AMTAR@ +@@ -348,9 +377,10 @@ top_srcdir = @top_srcdir@ + top_build_prefix = @top_build_prefix@ + top_builddir = @top_builddir@ + top_srcdir = @top_srcdir@ +-noinst_LTLIBRARIES = libsharpyuv.la libsharpyuv_sse2.la \ +- libsharpyuv_neon.la +-noinst_HEADERS = ../src/webp/types.h ../src/dsp/cpu.h ++lib_LTLIBRARIES = libsharpyuv.la ++noinst_LTLIBRARIES = libsharpyuv_sse2.la libsharpyuv_neon.la ++libsharpyuvinclude_HEADERS = sharpyuv.h sharpyuv_csp.h ++noinst_HEADERS = ../src/dsp/cpu.h + libsharpyuv_sse2_la_SOURCES = sharpyuv_sse2.c + libsharpyuv_sse2_la_CPPFLAGS = $(libsharpyuv_la_CPPFLAGS) + libsharpyuv_sse2_la_CFLAGS = $(AM_CFLAGS) $(SSE2_FLAGS) +@@ -361,8 +391,10 @@ libsharpyuv_la_CPPFLAGS = $(AM_CPPFLAGS) + sharpyuv_dsp.h sharpyuv_gamma.c sharpyuv_gamma.h sharpyuv.c \ + sharpyuv.h + libsharpyuv_la_CPPFLAGS = $(AM_CPPFLAGS) +-libsharpyuv_la_LDFLAGS = ++libsharpyuv_la_LDFLAGS = -no-undefined -version-info 0:0:0 + libsharpyuv_la_LIBADD = libsharpyuv_sse2.la libsharpyuv_neon.la ++libsharpyuvincludedir = $(includedir)/webp/sharpyuv ++pkgconfig_DATA = libsharpyuv.pc + all: all-am + + .SUFFIXES: +@@ -396,16 +428,44 @@ $(am__aclocal_m4_deps): + $(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + $(am__aclocal_m4_deps): ++libsharpyuv.pc: $(top_builddir)/config.status $(srcdir)/libsharpyuv.pc.in ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ + +-clean-noinstPROGRAMS: +- @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \ +- echo " rm -f" $$list; \ +- rm -f $$list || exit $$?; \ +- test -n "$(EXEEXT)" || exit 0; \ +- list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ +- echo " rm -f" $$list; \ +- rm -f $$list ++install-libLTLIBRARIES: $(lib_LTLIBRARIES) ++ @$(NORMAL_INSTALL) ++ @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ ++ list2=; for p in $$list; do \ ++ if test -f $$p; then \ ++ list2="$$list2 $$p"; \ ++ else :; fi; \ ++ done; \ ++ test -z "$$list2" || { \ ++ echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \ ++ $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \ ++ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \ ++ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \ ++ } + ++uninstall-libLTLIBRARIES: ++ @$(NORMAL_UNINSTALL) ++ @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ ++ for p in $$list; do \ ++ $(am__strip_dir) \ ++ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \ ++ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \ ++ done ++ ++clean-libLTLIBRARIES: ++ -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) ++ @list='$(lib_LTLIBRARIES)'; \ ++ locs=`for p in $$list; do echo $$p; done | \ ++ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ ++ sort -u`; \ ++ test -z "$$locs" || { \ ++ echo rm -f $${locs}; \ ++ rm -f $${locs}; \ ++ } ++ + clean-noinstLTLIBRARIES: + -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) + @list='$(noinst_LTLIBRARIES)'; \ +@@ -418,7 +478,7 @@ libsharpyuv.la: $(libsharpyuv_la_OBJECTS) $(libsharpyu + } + + libsharpyuv.la: $(libsharpyuv_la_OBJECTS) $(libsharpyuv_la_DEPENDENCIES) $(EXTRA_libsharpyuv_la_DEPENDENCIES) +- $(AM_V_CCLD)$(libsharpyuv_la_LINK) $(libsharpyuv_la_OBJECTS) $(libsharpyuv_la_LIBADD) $(LIBS) ++ $(AM_V_CCLD)$(libsharpyuv_la_LINK) -rpath $(libdir) $(libsharpyuv_la_OBJECTS) $(libsharpyuv_la_LIBADD) $(LIBS) + + libsharpyuv_neon.la: $(libsharpyuv_neon_la_OBJECTS) $(libsharpyuv_neon_la_DEPENDENCIES) $(EXTRA_libsharpyuv_neon_la_DEPENDENCIES) + $(AM_V_CCLD)$(libsharpyuv_neon_la_LINK) $(libsharpyuv_neon_la_OBJECTS) $(libsharpyuv_neon_la_LIBADD) $(LIBS) +@@ -516,7 +576,49 @@ clean-libtool: + + clean-libtool: + -rm -rf .libs _libs ++install-pkgconfigDATA: $(pkgconfig_DATA) ++ @$(NORMAL_INSTALL) ++ @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \ ++ if test -n "$$list"; then \ ++ echo " $(MKDIR_P) '$(DESTDIR)$(pkgconfigdir)'"; \ ++ $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)" || exit 1; \ ++ fi; \ ++ for p in $$list; do \ ++ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ ++ echo "$$d$$p"; \ ++ done | $(am__base_list) | \ ++ while read files; do \ ++ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \ ++ $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \ ++ done + ++uninstall-pkgconfigDATA: ++ @$(NORMAL_UNINSTALL) ++ @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \ ++ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ ++ dir='$(DESTDIR)$(pkgconfigdir)'; $(am__uninstall_files_from_dir) ++install-libsharpyuvincludeHEADERS: $(libsharpyuvinclude_HEADERS) ++ @$(NORMAL_INSTALL) ++ @list='$(libsharpyuvinclude_HEADERS)'; test -n "$(libsharpyuvincludedir)" || list=; \ ++ if test -n "$$list"; then \ ++ echo " $(MKDIR_P) '$(DESTDIR)$(libsharpyuvincludedir)'"; \ ++ $(MKDIR_P) "$(DESTDIR)$(libsharpyuvincludedir)" || exit 1; \ ++ fi; \ ++ for p in $$list; do \ ++ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ ++ echo "$$d$$p"; \ ++ done | $(am__base_list) | \ ++ while read files; do \ ++ echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(libsharpyuvincludedir)'"; \ ++ $(INSTALL_HEADER) $$files "$(DESTDIR)$(libsharpyuvincludedir)" || exit $$?; \ ++ done ++ ++uninstall-libsharpyuvincludeHEADERS: ++ @$(NORMAL_UNINSTALL) ++ @list='$(libsharpyuvinclude_HEADERS)'; test -n "$(libsharpyuvincludedir)" || list=; \ ++ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ ++ dir='$(DESTDIR)$(libsharpyuvincludedir)'; $(am__uninstall_files_from_dir) ++ + ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique + tags: tags-am +@@ -603,8 +705,11 @@ check: check-am + done + check-am: all-am + check: check-am +-all-am: Makefile $(PROGRAMS) $(LTLIBRARIES) $(HEADERS) ++all-am: Makefile $(LTLIBRARIES) $(DATA) $(HEADERS) + installdirs: ++ for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(libsharpyuvincludedir)"; do \ ++ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ ++ done + install: install-am + install-exec: install-exec-am + install-data: install-data-am +@@ -637,8 +742,8 @@ clean: clean-am + @echo "it deletes files that may require special tools to rebuild." + clean: clean-am + +-clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ +- clean-noinstPROGRAMS mostlyclean-am ++clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ ++ clean-noinstLTLIBRARIES mostlyclean-am + + distclean: distclean-am + -rm -f ./$(DEPDIR)/libsharpyuv_la-sharpyuv.Plo +@@ -663,13 +768,14 @@ info-am: + + info-am: + +-install-data-am: ++install-data-am: install-libsharpyuvincludeHEADERS \ ++ install-pkgconfigDATA + + install-dvi: install-dvi-am + + install-dvi-am: + +-install-exec-am: ++install-exec-am: install-libLTLIBRARIES + + install-html: install-html-am + +@@ -714,23 +820,27 @@ ps-am: + + ps-am: + +-uninstall-am: ++uninstall-am: uninstall-libLTLIBRARIES \ ++ uninstall-libsharpyuvincludeHEADERS uninstall-pkgconfigDATA + + .MAKE: install-am install-strip + + .PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ +- clean-generic clean-libtool clean-noinstLTLIBRARIES \ +- clean-noinstPROGRAMS cscopelist-am ctags ctags-am distclean \ ++ clean-generic clean-libLTLIBRARIES clean-libtool \ ++ clean-noinstLTLIBRARIES cscopelist-am ctags ctags-am distclean \ + distclean-compile distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ +- install-html-am install-info install-info-am install-man \ +- install-pdf install-pdf-am install-ps install-ps-am \ +- install-strip installcheck installcheck-am installdirs \ +- maintainer-clean maintainer-clean-generic mostlyclean \ +- mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ +- pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am ++ install-html-am install-info install-info-am \ ++ install-libLTLIBRARIES install-libsharpyuvincludeHEADERS \ ++ install-man install-pdf install-pdf-am install-pkgconfigDATA \ ++ install-ps install-ps-am install-strip installcheck \ ++ installcheck-am installdirs maintainer-clean \ ++ maintainer-clean-generic mostlyclean mostlyclean-compile \ ++ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ ++ tags tags-am uninstall uninstall-am uninstall-libLTLIBRARIES \ ++ uninstall-libsharpyuvincludeHEADERS uninstall-pkgconfigDATA + + .PRECIOUS: Makefile + +--- sharpyuv/libsharpyuv.pc.in.orig 2022-10-15 00:14:31 UTC ++++ sharpyuv/libsharpyuv.pc.in +@@ -0,0 +1,11 @@ ++prefix=@prefix@ ++exec_prefix=@exec_prefix@ ++libdir=@libdir@ ++includedir=@includedir@/webp ++ ++Name: libsharpyuv ++Description: Library for sharp RGB to YUV conversion ++Version: @PACKAGE_VERSION@ ++Cflags: -I${includedir} ++Libs: -L${libdir} -lsharpyuv ++Libs.private: -lm @PTHREAD_CFLAGS@ @PTHREAD_LIBS@ +--- sharpyuv/sharpyuv.c.orig 2022-08-05 23:49:26 UTC ++++ sharpyuv/sharpyuv.c +@@ -417,7 +417,7 @@ static int DoSharpArgbToYuv(const uint8_t* r_ptr, cons + // Hidden exported init function. + // By default SharpYuvConvert calls it with NULL. If needed, users can declare + // it as extern and call it with a VP8CPUInfo function. +-extern void SharpYuvInit(VP8CPUInfo cpu_info_func); ++SHARPYUV_EXTERN void SharpYuvInit(VP8CPUInfo cpu_info_func); + void SharpYuvInit(VP8CPUInfo cpu_info_func) { + static volatile VP8CPUInfo sharpyuv_last_cpuinfo_used = + (VP8CPUInfo)&sharpyuv_last_cpuinfo_used; +--- sharpyuv/sharpyuv.h.orig 2022-08-05 23:49:26 UTC ++++ sharpyuv/sharpyuv.h +@@ -18,6 +18,20 @@ extern "C" { + extern "C" { + #endif + ++#ifndef SHARPYUV_EXTERN ++#ifdef WEBP_EXTERN ++#define SHARPYUV_EXTERN WEBP_EXTERN ++#else ++// This explicitly marks library functions and allows for changing the ++// signature for e.g., Windows DLL builds. ++#if defined(__GNUC__) && __GNUC__ >= 4 ++#define SHARPYUV_EXTERN extern __attribute__((visibility("default"))) ++#else ++#define SHARPYUV_EXTERN extern ++#endif /* __GNUC__ >= 4 */ ++#endif /* WEBP_EXTERN */ ++#endif /* SHARPYUV_EXTERN */ ++ + // SharpYUV API version following the convention from semver.org + #define SHARPYUV_VERSION_MAJOR 0 + #define SHARPYUV_VERSION_MINOR 1 +@@ -65,11 +79,13 @@ typedef struct { + // adjacent pixels on the y, u and v channels. If yuv_bit_depth > 8, they + // should be multiples of 2. + // width, height: width and height of the image in pixels +-int SharpYuvConvert(const void* r_ptr, const void* g_ptr, const void* b_ptr, +- int rgb_step, int rgb_stride, int rgb_bit_depth, +- void* y_ptr, int y_stride, void* u_ptr, int u_stride, +- void* v_ptr, int v_stride, int yuv_bit_depth, int width, +- int height, const SharpYuvConversionMatrix* yuv_matrix); ++SHARPYUV_EXTERN int SharpYuvConvert(const void* r_ptr, const void* g_ptr, ++ const void* b_ptr, int rgb_step, ++ int rgb_stride, int rgb_bit_depth, ++ void* y_ptr, int y_stride, void* u_ptr, ++ int u_stride, void* v_ptr, int v_stride, ++ int yuv_bit_depth, int width, int height, ++ const SharpYuvConversionMatrix* yuv_matrix); + + // TODO(b/194336375): Add YUV444 to YUV420 conversion. Maybe also add 422 + // support (it's rarely used in practice, especially for images). +--- sharpyuv/sharpyuv_csp.h.orig 2022-08-05 23:49:26 UTC ++++ sharpyuv/sharpyuv_csp.h +@@ -35,8 +35,9 @@ typedef struct { + } SharpYuvColorSpace; + + // Fills in 'matrix' for the given YUVColorSpace. +-void SharpYuvComputeConversionMatrix(const SharpYuvColorSpace* yuv_color_space, +- SharpYuvConversionMatrix* matrix); ++SHARPYUV_EXTERN void SharpYuvComputeConversionMatrix( ++ const SharpYuvColorSpace* yuv_color_space, ++ SharpYuvConversionMatrix* matrix); + + // Enums for precomputed conversion matrices. + typedef enum { +@@ -49,7 +50,7 @@ typedef enum { + } SharpYuvMatrixType; + + // Returns a pointer to a matrix for one of the predefined colorspaces. +-const SharpYuvConversionMatrix* SharpYuvGetConversionMatrix( ++SHARPYUV_EXTERN const SharpYuvConversionMatrix* SharpYuvGetConversionMatrix( + SharpYuvMatrixType matrix_type); + + #ifdef __cplusplus +--- src/libwebp.pc.in.orig 2022-08-05 23:49:26 UTC ++++ src/libwebp.pc.in +@@ -6,6 +6,7 @@ Version: @PACKAGE_VERSION@ + Name: libwebp + Description: Library for the WebP graphics format + Version: @PACKAGE_VERSION@ ++Requires: libsharpyuv + Cflags: -I${includedir} + Libs: -L${libdir} -lwebp + Libs.private: -lm @PTHREAD_CFLAGS@ @PTHREAD_LIBS@ diff --git a/graphics/webp/pkg-plist b/graphics/webp/pkg-plist index 208a91457a54..d25732b22f2b 100644 --- a/graphics/webp/pkg-plist +++ b/graphics/webp/pkg-plist @@ -10,7 +10,13 @@ include/webp/demux.h include/webp/encode.h include/webp/mux.h include/webp/mux_types.h +include/webp/sharpyuv/sharpyuv.h +include/webp/sharpyuv/sharpyuv_csp.h include/webp/types.h +lib/libsharpyuv.a +lib/libsharpyuv.so +lib/libsharpyuv.so.0 +lib/libsharpyuv.so.0.0.0 lib/libwebp.a lib/libwebp.so lib/libwebp.so.7 @@ -27,6 +33,7 @@ lib/libwebpmux.a lib/libwebpmux.so lib/libwebpmux.so.3 lib/libwebpmux.so.3.0.10 +libdata/pkgconfig/libsharpyuv.pc libdata/pkgconfig/libwebp.pc libdata/pkgconfig/libwebpdecoder.pc libdata/pkgconfig/libwebpdemux.pc