dev-games/aseprite: drop 1.2.40

Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
This commit is contained in:
Andreas Sturmlechner
2025-01-01 10:05:55 +01:00
parent 17d093c45e
commit b8b9cb53ae
7 changed files with 0 additions and 707 deletions

View File

@@ -1,3 +1,2 @@
DIST Aseprite-v1.2.40-Source.zip 61802371 BLAKE2B f6f586a3ca222de208e6639e3fc94a63f98e487e1975dccd2974ffa71f937384177639e3799fb81f064afaf1c4a048394fab32a30bcda353320ac55c38b17636 SHA512 0a548428a3362f49cb6cecaa061de8371ad3f0bc22d00bc957e21f22316772e854d7ad36ebb7e5b69274eea376bb62fa39abfd4bc02250524c3707f81a628b1f
DIST Aseprite-v1.3.5-Source.zip 64189695 BLAKE2B f796f688f0ba565ae32fde2e8d84e39b610f451054440ced078ce1fc847a9208460b45aa6efa059a56c9e0603b4fd156cc476a2c40715ec2c37181e39c06a401 SHA512 885386e84c55b84cc85ffbf16f7269ac1640458abe973c3aa2e3eabd807ea3e1e06ee6e6dfaffff9dd7b09d3b37bd9ac41821152838cd80742edd4d53302c0e3
DIST skia-m102-3338e90707323d2cd3a150276acb9f39933deee2.gh.tar.gz 53944562 BLAKE2B 9da3e8386cd7a18a6ee9362743bee4146c41038af8868a6f5e8a2dce468e4dc4669b488861d117da8d1bd8461b2ad47bfc300774a33a84153bca345d63a929a7 SHA512 9ae0032ee3861ce4958af6eb7047273d28b1faa3823576ef568e3c7faed7f49a9976540a72c3fa38234a4ae6319ac381324eff807938f9763781fd33ad67d075

View File

@@ -1,231 +0,0 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{10..12} )
inherit cmake desktop flag-o-matic ninja-utils python-any-r1 toolchain-funcs xdg-utils
SKIA_VER="m102"
# Last commit in ${SKIA_VER} feature branch
# Don't use skia.googlesource.com, it produces non-reproducible tarballs
SKIA_REV="3338e90707323d2cd3a150276acb9f39933deee2"
DESCRIPTION="Animated sprite editor & pixel art tool"
HOMEPAGE="https://www.aseprite.org"
SRC_URI="https://github.com/aseprite/aseprite/releases/download/v${PV}/Aseprite-v${PV}-Source.zip
https://github.com/google/skia/archive/${SKIA_REV}.tar.gz -> skia-${SKIA_VER}-${SKIA_REV}.gh.tar.gz"
# See https://github.com/aseprite/aseprite#license
LICENSE="Aseprite-EULA"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE="kde test webp"
RESTRICT="bindist mirror !test? ( test )"
RDEPEND="
app-arch/libarchive:=
app-text/cmark:=
dev-cpp/json11
dev-libs/tinyxml
media-libs/freetype
media-libs/giflib:=
media-libs/harfbuzz:=[truetype]
media-libs/libjpeg-turbo:=
media-libs/libpng:=
net-misc/curl
sys-libs/zlib:=
virtual/opengl
x11-libs/libX11
x11-libs/libXcursor
x11-libs/libXi
x11-libs/libxcb:=
kde? (
dev-qt/qtcore:5
dev-qt/qtgui:5
kde-frameworks/kio:5
)
webp? ( media-libs/libwebp:= )"
DEPEND="
${RDEPEND}
x11-base/xorg-proto"
BDEPEND="
${PYTHON_DEPS}
test? ( dev-cpp/gtest )
app-arch/unzip
dev-build/gn
virtual/pkgconfig"
DOCS=(
docs/ase-file-specs.md
docs/gpl-palette-extension.md
README.md
)
S="${WORKDIR}"
PATCHES=(
"${FILESDIR}/skia-${SKIA_VER}_remove_angle2.patch"
"${FILESDIR}/${PN}-1.2.40_shared_libarchive.patch"
"${FILESDIR}/${PN}-1.2.40_shared_json11.patch"
"${FILESDIR}/${PN}-1.2.40_shared_webp.patch"
"${FILESDIR}/${PN}-1.2.35_laf_fixes.patch"
"${FILESDIR}/${PN}-1.2.40_musl_pthreads.patch"
"${FILESDIR}/${PN}-1.2.40_ixwebsocket-gcc13.patch"
"${FILESDIR}/${PN}-1.2.40_laf-gcc13.patch"
)
src_prepare() {
# Remove extra \r on ends, #895504
sed -i -e 's/\r$//' \
third_party/IXWebSocket/ixwebsocket/IXWebSocketSendData.h || die
cmake_src_prepare
# Skia: remove custom optimizations
sed -i -e 's:"\/\/gn\/skia\:optimize",::g' \
"skia-${SKIA_REV}/gn/BUILDCONFIG.gn" || die
# Aseprite: don't install tga bundled library
sed -i -e '/install/d' src/tga/CMakeLists.txt || die
# Aseprite: don't use bundled gtest
sed -i -e '/add_subdirectory(googletest)/d' \
laf/third_party/CMakeLists.txt || die
# Fix shebang in thumbnailer
sed -i -e 's:#!/usr/bin/sh:#!/bin/sh:' \
src/desktop/linux/aseprite-thumbnailer || die
}
src_configure() {
# -Werror=strict-aliasing, -Werror=odr, -Werror=lto-type-mismatch
# https://bugs.gentoo.org/924692
# https://github.com/aseprite/aseprite/issues/4413
#
# There is a bundled skia that fails with ODR errors. When excluding just
# skia from testing, aseprite itself fails with strict-aliasing, and when
# that is disabled, fails again with ODR and lto-type-mismatch issues.
#
# There are a lot of issues, so don't trust any fixes without thorough
# testing.
append-flags -fno-strict-aliasing
filter-lto
einfo "Skia configuration"
cd "${WORKDIR}/skia-${SKIA_REV}" || die
tc-export AR CC CXX
passflags() {
local _f _x
_f=( ${1} )
_x="[$(printf '"%s", ' "${_f[@]}")]"
myconf_gn+=( ${2}="${_x}" )
}
local myconf_gn=(
ar=\"${AR}\"
cc=\"${CC}\"
cxx=\"${CXX}\"
is_official_build=true
is_component_build=false
is_debug=false
skia_use_egl=false
skia_use_dawn=false
skia_use_dng_sdk=false
skia_use_metal=false
skia_use_sfntly=false
skia_use_wuffs=false
skia_enable_pdf=false
skia_enable_svg=false
skia_use_expat=false
skia_use_ffmpeg=false
skia_use_fontconfig=false
skia_use_freetype=true
skia_use_gl=true
skia_use_harfbuzz=true
skia_use_icu=false
skia_use_libjpeg_turbo_decode=true
skia_use_libjpeg_turbo_encode=true
skia_use_libpng_decode=true
skia_use_libpng_encode=true
skia_use_libwebp_decode=$(usex webp true false)
skia_use_libwebp_encode=$(usex webp true false)
skia_use_lua=false
skia_use_vulkan=false
skia_use_x11=false
skia_use_xps=false
skia_use_zlib=true
)
passflags "${CFLAGS}" extra_cflags_c
passflags "${CXXFLAGS}" extra_cflags_cc
passflags "${LDFLAGS}" extra_ldflags
myconf_gn="${myconf_gn[@]}"
set -- gn gen --args="${myconf_gn% }" out/Static
echo "$@"
"$@" || die
einfo "Aseprite configuration"
cd "${WORKDIR}" || die
local mycmakeargs=(
-DENABLE_CCACHE=OFF
-DENABLE_DESKTOP_INTEGRATION=ON
-DENABLE_STEAM=OFF
-DENABLE_TESTS="$(usex test)"
-DENABLE_QT_THUMBNAILER="$(usex kde)"
-DENABLE_UPDATER=OFF
-DENABLE_UI=ON
-DENABLE_WEBP="$(usex webp)"
-DLAF_WITH_EXAMPLES=OFF
-DLAF_WITH_TESTS="$(usex test)"
-DFULLSCREEN_PLATFORM=ON
-DSKIA_DIR="${WORKDIR}/skia-${SKIA_REV}/"
-DSKIA_LIBRARY_DIR="${WORKDIR}/skia-${SKIA_REV}/out/Static/"
-DSKIA_LIBRARY="${WORKDIR}/skia-${SKIA_REV}/out/Static/libskia.a"
-DSKSHAPER_LIBRARY="${WORKDIR}/skia-${SKIA_REV}/out/Static/libskshaper.a"
-DUSE_SHARED_CMARK=ON
-DUSE_SHARED_CURL=ON
-DUSE_SHARED_FREETYPE=ON
-DUSE_SHARED_GIFLIB=ON
-DUSE_SHARED_HARFBUZZ=ON
-DUSE_SHARED_JPEGLIB=ON
-DUSE_SHARED_JSON11=ON
-DUSE_SHARED_LIBARCHIVE=ON
-DUSE_SHARED_LIBPNG=ON
-DUSE_SHARED_PIXMAN=ON
-DUSE_SHARED_TINYXML=ON
-DUSE_SHARED_WEBP=ON
-DUSE_SHARED_ZLIB=ON
)
cmake_src_configure
}
src_compile() {
einfo "Skia compilation"
cd "${WORKDIR}/skia-${SKIA_REV}" || die
eninja -C out/Static
einfo "Aseprite compilation"
cd "${WORKDIR}" || die
cmake_src_compile
}
src_install() {
newicon -s 64 "${S}/data/icons/ase64.png" "${PN}.png"
cmake_src_install
}
pkg_postinst() {
xdg_desktop_database_update
xdg_icon_cache_update
xdg_mimeinfo_database_update
}
pkg_postrm() {
xdg_desktop_database_update
xdg_icon_cache_update
xdg_mimeinfo_database_update
}

View File

@@ -1,245 +0,0 @@
From a5d86afd43920d2401682ecd3ec6879a574845ea Mon Sep 17 00:00:00 2001
From: "Azamat H. Hackimov" <azamat.hackimov@gmail.com>
Date: Sun, 19 Feb 2023 21:08:36 +0300
Subject: [PATCH] Fix compilation on GCC-13
GCC-13 changes internal cstdint includes, and now files that uses
standart integer types should directly include cstdint header.
See: https://gcc.gnu.org/gcc-13/porting_to.html#header-dep-changes
See: https://github.com/machinezone/IXWebSocket/pull/443
Bug: https://bugs.gentoo.org/865117
Bug: https://bugs.gentoo.org/895440
--- a/third_party/IXWebSocket/ixwebsocket/IXBench.h
+++ b/third_party/IXWebSocket/ixwebsocket/IXBench.h
@@ -6,7 +6,7 @@
#pragma once
#include <chrono>
-#include <stdint.h>
+#include <cstdint>
#include <string>
namespace ix
--- a/third_party/IXWebSocket/ixwebsocket/IXConnectionState.h
+++ b/third_party/IXWebSocket/ixwebsocket/IXConnectionState.h
@@ -7,9 +7,9 @@
#pragma once
#include <atomic>
+#include <cstdint>
#include <functional>
#include <memory>
-#include <stdint.h>
#include <string>
namespace ix
--- a/third_party/IXWebSocket/ixwebsocket/IXDNSLookup.h
+++ b/third_party/IXWebSocket/ixwebsocket/IXDNSLookup.h
@@ -12,6 +12,7 @@
#include "IXCancellationRequest.h"
#include <atomic>
+#include <cstdint>
#include <memory>
#include <mutex>
#include <set>
--- a/third_party/IXWebSocket/ixwebsocket/IXHttp.h
+++ b/third_party/IXWebSocket/ixwebsocket/IXHttp.h
@@ -9,6 +9,7 @@
#include "IXProgressCallback.h"
#include "IXWebSocketHttpHeaders.h"
#include <atomic>
+#include <cstdint>
#include <tuple>
#include <unordered_map>
--- a/third_party/IXWebSocket/ixwebsocket/IXHttpClient.cpp
+++ b/third_party/IXWebSocket/ixwebsocket/IXHttpClient.cpp
@@ -12,6 +12,7 @@
#include "IXUserAgent.h"
#include "IXWebSocketHttpHeaders.h"
#include <assert.h>
+#include <cstdint>
#include <cstring>
#include <iomanip>
#include <random>
--- a/third_party/IXWebSocket/ixwebsocket/IXHttpServer.cpp
+++ b/third_party/IXWebSocket/ixwebsocket/IXHttpServer.cpp
@@ -10,6 +10,7 @@
#include "IXNetSystem.h"
#include "IXSocketConnect.h"
#include "IXUserAgent.h"
+#include <cstdint>
#include <cstring>
#include <fstream>
#include <sstream>
--- a/third_party/IXWebSocket/ixwebsocket/IXNetSystem.h
+++ b/third_party/IXWebSocket/ixwebsocket/IXNetSystem.h
@@ -6,6 +6,8 @@
#pragma once
+#include <cstdint>
+
#ifdef _WIN32
#ifndef WIN32_LEAN_AND_MEAN
--- a/third_party/IXWebSocket/ixwebsocket/IXSelectInterrupt.h
+++ b/third_party/IXWebSocket/ixwebsocket/IXSelectInterrupt.h
@@ -6,8 +6,8 @@
#pragma once
+#include <cstdint>
#include <memory>
-#include <stdint.h>
#include <string>
namespace ix
--- a/third_party/IXWebSocket/ixwebsocket/IXSelectInterruptEvent.h
+++ b/third_party/IXWebSocket/ixwebsocket/IXSelectInterruptEvent.h
@@ -5,8 +5,8 @@
#pragma once
#include "IXSelectInterrupt.h"
+#include <cstdint>
#include <mutex>
-#include <stdint.h>
#include <string>
#include <deque>
#ifdef _WIN32
--- a/third_party/IXWebSocket/ixwebsocket/IXSelectInterruptPipe.h
+++ b/third_party/IXWebSocket/ixwebsocket/IXSelectInterruptPipe.h
@@ -7,6 +7,7 @@
#pragma once
#include "IXSelectInterrupt.h"
+#include <cstdint>
#include <mutex>
#include <stdint.h>
#include <string>
--- a/third_party/IXWebSocket/ixwebsocket/IXSocket.cpp
+++ b/third_party/IXWebSocket/ixwebsocket/IXSocket.cpp
@@ -14,7 +14,6 @@
#include <array>
#include <assert.h>
#include <fcntl.h>
-#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
--- a/third_party/IXWebSocket/ixwebsocket/IXSocket.h
+++ b/third_party/IXWebSocket/ixwebsocket/IXSocket.h
@@ -7,6 +7,7 @@
#pragma once
#include <atomic>
+#include <cstdint>
#include <functional>
#include <memory>
#include <mutex>
--- a/third_party/IXWebSocket/ixwebsocket/IXSocketMbedTLS.cpp
+++ b/third_party/IXWebSocket/ixwebsocket/IXSocketMbedTLS.cpp
@@ -14,6 +14,7 @@
#include "IXNetSystem.h"
#include "IXSocket.h"
#include "IXSocketConnect.h"
+#include <cstdint>
#include <string.h>
#ifdef _WIN32
--- a/third_party/IXWebSocket/ixwebsocket/IXUuid.cpp
+++ b/third_party/IXWebSocket/ixwebsocket/IXUuid.cpp
@@ -16,6 +16,7 @@
#include "IXUuid.h"
+#include <cstdint>
#include <iomanip>
#include <random>
#include <sstream>
--- a/third_party/IXWebSocket/ixwebsocket/IXWebSocket.cpp
+++ b/third_party/IXWebSocket/ixwebsocket/IXWebSocket.cpp
@@ -13,6 +13,7 @@
#include "IXWebSocketHandshake.h"
#include <cassert>
#include <cmath>
+#include <cstdint>
namespace
--- a/third_party/IXWebSocket/ixwebsocket/IXWebSocket.h
+++ b/third_party/IXWebSocket/ixwebsocket/IXWebSocket.h
@@ -21,6 +21,7 @@
#include "IXWebSocketTransport.h"
#include <atomic>
#include <condition_variable>
+#include <cstdint>
#include <mutex>
#include <string>
#include <thread>
--- a/third_party/IXWebSocket/ixwebsocket/IXWebSocketPerMessageDeflate.cpp
+++ b/third_party/IXWebSocket/ixwebsocket/IXWebSocketPerMessageDeflate.cpp
@@ -46,6 +46,8 @@
*
*/
+#include <cstdint>
+
#include "IXWebSocketPerMessageDeflate.h"
#include "IXUniquePtr.h"
--- a/third_party/IXWebSocket/ixwebsocket/IXWebSocketPerMessageDeflateCodec.h
+++ b/third_party/IXWebSocket/ixwebsocket/IXWebSocketPerMessageDeflateCodec.h
@@ -10,6 +10,7 @@
#include "zlib.h"
#endif
#include <array>
+#include <cstdint>
#include <string>
#include <vector>
#include "IXWebSocketSendData.h"
--- a/third_party/IXWebSocket/ixwebsocket/IXWebSocketPerMessageDeflateOptions.h
+++ b/third_party/IXWebSocket/ixwebsocket/IXWebSocketPerMessageDeflateOptions.h
@@ -6,6 +6,7 @@
#pragma once
+#include <cstdint>
#include <string>
namespace ix
--- a/third_party/IXWebSocket/ixwebsocket/IXWebSocketSendData.h
+++ b/third_party/IXWebSocket/ixwebsocket/IXWebSocketSendData.h
@@ -6,6 +6,7 @@
#pragma once
+#include <cstdint>
#include <string>
#include <vector>
#include <iterator>
--- a/third_party/IXWebSocket/ixwebsocket/IXWebSocketTransport.cpp
+++ b/third_party/IXWebSocket/ixwebsocket/IXWebSocketTransport.cpp
@@ -45,7 +45,6 @@
#include <cstdarg>
#include <cstdlib>
#include <sstream>
-#include <stdlib.h>
#include <string.h>
#include <string>
#include <thread>
--- a/third_party/IXWebSocket/ixwebsocket/IXWebSocketTransport.h
+++ b/third_party/IXWebSocket/ixwebsocket/IXWebSocketTransport.h
@@ -21,6 +21,7 @@
#include "IXWebSocketSendData.h"
#include "IXWebSocketSendInfo.h"
#include <atomic>
+#include <cstdint>
#include <functional>
#include <list>
#include <memory>
--
2.39.2

View File

@@ -1,47 +0,0 @@
From 59c6af303dea4c6dc0c9da687ec73612929eacfc Mon Sep 17 00:00:00 2001
From: "Azamat H. Hackimov" <azamat.hackimov@gmail.com>
Date: Tue, 21 Feb 2023 17:01:04 +0300
Subject: [PATCH] Fix compilation on GCC13
GCC-13 changes internal cstdint includes, and now files that uses
standard integer types should directly include cstdint header.
See: https://gcc.gnu.org/gcc-13/porting_to.html#header-dep-changes
See: https://github.com/aseprite/laf/pull/55
Bug: https://bugs.gentoo.org/865117
Bug: https://bugs.gentoo.org/895616
--- a/laf/base/file_content.h
+++ b/laf/base/file_content.h
@@ -9,6 +9,7 @@
#pragma once
#include "base/buffer.h"
+#include "base/ints.h"
#include <cstdio>
#include <string>
--- a/laf/base/sha1.h
+++ b/laf/base/sha1.h
@@ -11,6 +11,8 @@
#include <vector>
#include <string>
+#include "base/ints.h"
+
extern "C" struct SHA1Context;
namespace base {
--- a/laf/base/sha1_rfc3174.h
+++ b/laf/base/sha1_rfc3174.h
@@ -18,6 +18,8 @@
#define BASE_SHA1_RFC3174_H_INCLUDED
#pragma once
+#include "base/ints.h"
+
#ifdef __cplusplus
extern "C" {
#endif
--
2.39.2

View File

@@ -1,57 +0,0 @@
From 27403363708ca72cbbbdb085de27896485c5c422 Mon Sep 17 00:00:00 2001
From: "Azamat H. Hackimov" <azamat.hackimov@gmail.com>
Date: Sat, 12 Nov 2022 05:13:08 +0300
Subject: [PATCH] Don't use pthread_detach() after pthread_join()
After pthread_join() all allocated to thread resources are freed, so
pthread_detach() after pthread_join() will results in undefined behavior
with SIGSERV on some libc implementations (like MUSL). According to
pthread_detach(3), "Either pthread_join(3) or pthread_detach() should be
called for each thread that an application creates".
---
base/thread.cpp | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/laf/base/thread.cpp b/laf/base/thread.cpp
index 81c1284..4d5e0ce 100644
--- a/laf/base/thread.cpp
+++ b/laf/base/thread.cpp
@@ -55,8 +55,12 @@ thread::thread()
thread::~thread()
{
- if (joinable())
+ if (joinable()) {
+#if LAF_WINDOWS
+ ::CloseHandle(m_native_handle);
+#endif
detach();
+ }
}
bool thread::joinable() const
@@ -69,6 +73,7 @@ void thread::join()
if (joinable()) {
#if LAF_WINDOWS
::WaitForSingleObject(m_native_handle, INFINITE);
+ ::CloseHandle(m_native_handle);
#else
::pthread_join((pthread_t)m_native_handle, NULL);
#endif
@@ -79,12 +84,7 @@ void thread::join()
void thread::detach()
{
if (joinable()) {
-#if LAF_WINDOWS
- ::CloseHandle(m_native_handle);
- m_native_handle = (native_handle_type)0;
-#else
- ::pthread_detach((pthread_t)m_native_handle);
-#endif
+ m_native_handle = (native_handle_type)NULL;
}
}
--
2.37.4

View File

@@ -1,54 +0,0 @@
From d92660c3187d0e7d5a0b7b2210f328d0d0bf73f2 Mon Sep 17 00:00:00 2001
From: "Azamat H. Hackimov" <azamat.hackimov@gmail.com>
Date: Sun, 10 Jul 2022 19:53:06 +0300
Subject: [PATCH 2/3] Use shared json11 library
Added option -DUSE_SHARED_JSON11
---
CMakeLists.txt | 7 +++++++
third_party/CMakeLists.txt | 4 +++-
2 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 85d447ac8..69ab97ed8 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -50,6 +50,7 @@ option(USE_SHARED_CMARK "Use your installed copy of cmark" off)
option(USE_SHARED_CURL "Use your installed copy of curl" off)
option(USE_SHARED_GIFLIB "Use your installed copy of giflib" off)
option(USE_SHARED_JPEGLIB "Use your installed copy of jpeglib" off)
+option(USE_SHARED_JSON11 "Use your installed copy of json11" off)
option(USE_SHARED_ZLIB "Use your installed copy of zlib" off)
option(USE_SHARED_LIBARCHIVE "Use your installed copy of libarchive" off)
option(USE_SHARED_LIBPNG "Use your installed copy of libpng" off)
@@ -301,6 +302,12 @@ else()
endif()
include_directories(${JPEG_INCLUDE_DIRS})
+if(USE_SHARED_JSON11)
+ find_package(PkgConfig QUIET)
+ pkg_check_modules(JSON11 json11)
+ include_directories(${JSON11_INCLUDE_DIRS})
+endif()
+
if(USE_SHARED_CMARK)
find_library(CMARK_LIBRARIES NAMES cmark)
find_path(CMARK_INCLUDE_DIRS NAMES cmark.h)
diff --git a/third_party/CMakeLists.txt b/third_party/CMakeLists.txt
index e0a11c9c6..63ad42f23 100644
--- a/third_party/CMakeLists.txt
+++ b/third_party/CMakeLists.txt
@@ -123,7 +123,9 @@ if(NOT USE_SHARED_CMARK)
endif()
# JSON
-add_subdirectory(json11)
+if(NOT USE_SHARED_JSON11)
+ add_subdirectory(json11)
+endif()
# libarchive
if(NOT USE_SHARED_LIBARCHIVE)
--
2.37.4

View File

@@ -1,72 +0,0 @@
From adabed7947074268be713e1da3b4cb2d6d8c88a5 Mon Sep 17 00:00:00 2001
From: "Azamat H. Hackimov" <azamat.hackimov@gmail.com>
Date: Sun, 10 Jul 2022 20:14:00 +0300
Subject: [PATCH 3/3] Use shared webp library
Added option -DUSE_SHARED_WEBP
---
CMakeLists.txt | 25 ++++++++++++++++---------
third_party/CMakeLists.txt | 2 +-
2 files changed, 17 insertions(+), 10 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 69ab97ed8..2cb0886cd 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -56,6 +56,7 @@ option(USE_SHARED_LIBARCHIVE "Use your installed copy of libarchive" off)
option(USE_SHARED_LIBPNG "Use your installed copy of libpng" off)
option(USE_SHARED_TINYXML "Use your installed copy of tinyxml" off)
option(USE_SHARED_PIXMAN "Use your installed copy of pixman" off)
+option(USE_SHARED_WEBP "Use your installed copy of webp" off)
option(USE_SHARED_FREETYPE "Use shared FreeType library" off)
option(USE_SHARED_HARFBUZZ "Use shared HarfBuzz library" off)
option(ENABLE_ASEPRITE_EXE "Compile main Aseprite executable" on)
@@ -345,17 +346,23 @@ add_subdirectory(laf)
# libwebp
if(ENABLE_WEBP)
- # Use libwebp from Skia
- if(LAF_BACKEND STREQUAL "skia")
- find_library(WEBP_LIBRARIES webp
- NAMES libwebp # required for Windows
- PATHS "${SKIA_LIBRARY_DIR}" NO_DEFAULT_PATH)
- set(WEBP_INCLUDE_DIR "${SKIA_DIR}/third_party/externals/libwebp/src")
+ if(USE_SHARED_WEBP)
+ find_package(PkgConfig QUIET)
+ pkg_check_modules(WEBP libwebp libwebpdemux libwebpmux)
+ include_directories(${WEBP_INCLUDE_DIR})
else()
- set(WEBP_LIBRARIES webp webpdemux libwebpmux)
- set(WEBP_INCLUDE_DIR ${LIBWEBP_DIR}/src)
+ # Use libwebp from Skia
+ if(LAF_BACKEND STREQUAL "skia")
+ find_library(WEBP_LIBRARIES webp
+ NAMES libwebp # required for Windows
+ PATHS "${SKIA_LIBRARY_DIR}" NO_DEFAULT_PATH)
+ set(WEBP_INCLUDE_DIR "${SKIA_DIR}/third_party/externals/libwebp/src")
+ else()
+ set(WEBP_LIBRARIES webp webpdemux libwebpmux)
+ set(WEBP_INCLUDE_DIR ${LIBWEBP_DIR}/src)
+ endif()
+ include_directories(${WEBP_INCLUDE_DIR})
endif()
- include_directories(${WEBP_INCLUDE_DIR})
endif()
message(STATUS "aseprite libwebp: ${WEBP_LIBRARIES}")
diff --git a/third_party/CMakeLists.txt b/third_party/CMakeLists.txt
index 63ad42f23..9e240bc3e 100644
--- a/third_party/CMakeLists.txt
+++ b/third_party/CMakeLists.txt
@@ -33,7 +33,7 @@ if(NOT USE_SHARED_GIFLIB)
add_subdirectory(giflib)
endif()
-if(ENABLE_WEBP AND NOT LAF_BACKEND STREQUAL "skia")
+if(ENABLE_WEBP AND NOT USE_SHARED_WEBP AND NOT LAF_BACKEND STREQUAL "skia")
set(WEBP_BUILD_EXTRAS OFF CACHE BOOL "Build extras.")
set(WEBP_BUILD_ANIM_UTILS OFF CACHE BOOL "Build animation utilities.")
set(WEBP_BUILD_CWEBP OFF CACHE BOOL "Build the cwebp command line tool.")
--
2.37.4