Compare commits

...

157 Commits

Author SHA1 Message Date
a575436c62 Fix prerun script and add AUR history
Some checks failed
Workflows / Wake Runner (push) Successful in 5s
Workflows / Build and Push (push) Has been cancelled
2025-05-01 14:57:13 +02:00
d78893ff42 Merge remote-tracking branch 'aur/master' 2025-05-01 14:56:56 +02:00
ImperatorStorm
3da9fd70a7 upgpkg: aseprite 1.3.13-6
actually fix it for real this time
unfortunately make it awful to edit as a result
2025-04-30 20:03:13 -05:00
ImperatorStorm
d3ab2df85b upgpkg: aseprite 1.3.13-6
I dislike `gn`
2025-04-30 19:38:34 -05:00
ImperatorStorm
2822d9127d upgpkg: aseprite 1.3.13-6
try again again
2025-04-30 18:54:33 -05:00
ImperatorStorm
0f6950ba96 upgpkg: aseprite 1.3.13-6
try again
2025-04-30 18:47:20 -05:00
ImperatorStorm
3e97bcb3d8 upgpkg: aseprite 1.3.13-6
try to fix skia
2025-04-30 18:44:47 -05:00
ImperatorStorm
18db0ba033 upgpkg: aseprite 1.3.13-5
libxml2 rebuild
2025-04-30 17:31:26 -05:00
ImperatorStorm
06746f14f7 upgpkg: aseprite 1.3.13-4
workaround for cmake 4
2025-03-30 09:50:35 -05:00
ImperatorStorm
39b07a9297 upgpkg: aseprite 1.3.13-3
tinyxml2 rebuild
2025-03-23 12:09:05 -05:00
ImperatorStorm
bb62a30301 upgpkg: aseprite 1.3.13-2
Rebuild for tinyxml2 ABI change
2025-03-15 11:39:24 -05:00
ImperatorStorm
eb39bd7906 upgpkg: aseprite 1.3.13-1
upstream release
2025-02-27 11:18:36 -06:00
ImperatorStorm
4d1f436841 upgpkg: aseprite 1.3.12-1
upstream release
2025-01-28 14:43:34 -06:00
ImperatorStorm
efdd9a8532 Bump translations. 2025-01-11 17:27:48 -06:00
ImperatorStorm
a2faf88242 upgpkg: aseprite 1.3.11-1
upstream release
2025-01-11 16:56:53 -06:00
ImperatorStorm
3be0d92f58 upgpkg: aseprite 1.3.10.1-7
fix `cp` args
2025-01-05 16:46:02 -06:00
ImperatorStorm
ffed33147e upgpkg: aseprite 1.3.10.1-6
add translations
2025-01-05 16:24:52 -06:00
ImperatorStorm
8205cfd928 upgpkg: aseprite 1.3.10.1-5
Fix pkgrel + checksums
2024-12-25 17:18:30 -06:00
Jomar Milan
93c2e82a63 Set found when using shared libwebp 2024-12-25 17:16:51 -06:00
ImperatorStorm
16f6266c92 upgpkg: aseprite 1.3.10.1-3
Fix build
2024-11-25 19:39:37 -06:00
ImperatorStorm
18d6adea1e upgpkg: aseprite 1.3.10.1-1
upstream release
2024-11-22 10:42:26 -06:00
ImperatorStorm
3b7d5ac9de upgpkg: aseprite 1.3.9.1-1
upstream release
2024-10-06 01:48:20 -05:00
ImperatorStorm
062d51bad0 upgpkg: aseprite 1.3.9-1
upstream release
2024-10-02 13:14:36 -05:00
ImperatorStorm
8bbe712b15 upgpkg: aseprite 1.3.8.1-2
libfmt rebuild
2024-09-12 23:59:38 -05:00
ImperatorStorm
1d77599e42 upgpkg: aseprite 1.3.8.1-1
upstream release
2024-08-26 17:11:17 -05:00
ImperatorStorm
fc1ea126c9 upgpkg: aseprite 1.3.8-1
upstream release
2024-08-20 19:40:19 -05:00
ImperatorStorm
5c01d1c231 upgpkg: aseprite 1.3.7-2
Rebuild
2024-08-07 12:56:28 -05:00
ImperatorStorm
7a286d4331 1.3.7 switches to tinyxml2 2024-05-23 00:01:37 -05:00
ImperatorStorm
8ac7a09624 upgpkg: aseprite 1.3.7-1
upstream release
2024-05-22 23:44:59 -05:00
ImperatorStorm
e509181aa9 upgpkg: aseprite 1.3.6-1
upstream release
2024-04-09 13:55:52 -05:00
ImperatorStorm
4cb9d1b0e8 upgpkg: aseprite 1.3.5-2
Fixes #11
2024-03-23 21:46:42 -05:00
ImperatorStorm
abe5adccd4 upgpkg: aseprite 1.3.5-1
upstream release
2024-03-18 02:06:59 -05:00
ImperatorStorm
88d323a39c upgpkg: aseprite 1.3.4-1
upstream release
2024-02-21 21:44:27 -06:00
ImperatorStorm
edcb2c0ed8 upgpkg: aseprite 1.3.3-1
upstream release
2024-02-15 22:35:11 -06:00
ImperatorStorm
93b4b55bfa upgpkg: aseprite 1.3.2-3
cmark rebuild
2024-02-02 01:44:41 -06:00
ImperatorStorm
e119c72df4 upgpkg: aseprite 1.3.2-2
SPDX-ified
2024-01-20 22:47:17 -06:00
ImperatorStorm
5b5f507b12 upgpkg: aseprite 1.3.2-1
upstream release
2023-12-02 18:14:28 -06:00
ImperatorStorm
871d277dd6 upgpkg: aseprite 1.3.1-1
upstream release
2023-11-29 16:11:13 -06:00
ImperatorStorm
0b07e635bd upgpkg: aseprite 1.3-1
upstream release
2023-11-27 15:49:48 -06:00
ImperatorStorm
02b39fb0a6 libfmt=10 rebuild 2023-07-28 12:14:00 -07:00
ImperatorStorm
affde34216 -f 2023-05-03 12:57:49 -07:00
ImperatorStorm
b5cad094cb everything broke 2023-05-03 12:55:29 -07:00
ImperatorStorm
bf5e8bec21 Screw it, upstream uses clang, gcc>=13 is broken, using clang. 2023-05-03 12:40:07 -07:00
ImperatorStorm
0ae586ef92 Fix aseprite compilation with GCC 13 2023-05-03 12:21:21 -07:00
ImperatorStorm
8f3a87e054 GCC13 + Python 3.11 rebuilds 2023-05-03 11:59:54 -07:00
ImperatorStorm
e6b590fcae upgpkg: aseprite 1.2.40-4
Enable websockets
2023-04-16 15:56:27 -07:00
ImperatorStorm
04b6464785 upgpkg: aseprite 1.2.40-3
libcmark rebuild
2023-01-27 15:32:44 -08:00
ImperatorStorm
3e063a0a02 Openssl 3 rebuilds 2022-11-04 10:43:00 -07:00
ImperatorStorm
b155cd46e4 upgpkg: aseprite 1.2.40-1
upstream release
2022-09-05 20:42:40 -07:00
ImperatorStorm
8c329cd43e Update .SRCINFO. 2022-09-04 18:51:14 -07:00
ISSOtm
4db3b3c183 Clean up PKGBUILD a bit
Remove unused Skia config flags
Disable two unnecessary Skia features
Remove a duplicate LAF config flag
Correct use of wrong variable in package()
2022-09-04 18:21:29 -07:00
ImperatorStorm
e02f37502a fmt 9.1.0 rebuild 2022-09-01 08:51:20 -07:00
ImperatorStorm
950886399b Merge branch 'master' of github.com:ImperatorStorm/PKGBUILDs 2022-08-05 21:23:10 -07:00
ImperatorStorm
6624751d86 Remove debug echos 2022-08-05 21:16:20 -07:00
ImperatorStorm
983811ed8b upgpkg: aseprite 1.2.39-2
Fix libwebp patch
2022-08-05 21:15:27 -07:00
ImperatorStorm
ae2bd412dc Fix patch again 2022-08-05 20:40:23 -07:00
ImperatorStorm
525a99edef Fix shared-libwebp.patch. 2022-08-05 20:28:27 -07:00
ImperatorStorm
040afdc1ea upgpkg: aseprite 1.2.39-1
upstream release
2022-08-05 15:57:56 -07:00
ImperatorStorm
77f0ab44be upgpkg: aseprite 1.2.37-1
upstream release
2022-07-25 15:58:56 -07:00
ImperatorStorm
659376d196 Bump aseprite-skia ver 2022-06-02 13:10:54 -07:00
ImperatorStorm
aae81b3fb4 upgpkg: aseprite 1.2.35-1
Also improve `quilt-server`'s `PKGBUILD`.
2022-06-02 12:40:18 -07:00
ImperatorStorm
e358df22d7 Enable Aseprite scripting. 2022-05-23 11:43:12 -07:00
ImperatorStorm
71f865251f Revert "Add tenacity-git to tenacity-wxgtk3-git's conflicts."
This reverts commit ef45253dc4570e7396edfe3474fc530fb1b1fa06.
2022-04-17 18:05:21 -07:00
ImperatorStorm
9777b005bc Add FabioLolix's suggestions and update email. 2022-03-24 12:48:24 -07:00
ImperatorStorm
ff72515550 Remove unnecessary .gitignore files. 2022-03-16 22:06:47 -07:00
ImperatorStorm
f5159409ca upgpkg: aseprite 1.2.34.1-1
upstream release
2022-03-16 22:03:29 -07:00
ImperatorStorm
1539ec6a7c Tabs are pain. 2022-03-11 23:14:55 -08:00
ImperatorStorm
2123a4ee68 Further improvements to Aseprite PKGBUILD. 2022-03-11 15:30:08 -08:00
ImperatorStorm
7f62495148 Improvement to previous commit.
Download skia as `skia-$_skiaver.tar.gz` to prevent sourcefile collisions.
2022-03-11 15:21:31 -08:00
ryuukk
c83b6597a8 upgpkg: aseprite 1.2.33-2
Use release source instead of cloning the entire repo

Closes #5
2022-03-11 15:17:42 -08:00
ImperatorStorm
3c989507b1 Upload .config file when building linux-lts-llvm 2022-02-18 22:50:05 -08:00
ImperatorStorm
34059c175c upgpkg: aseprite 1.2.33-1
upstream release
2022-02-08 20:46:19 -08:00
ImperatorStorm
631d903e53 upgpkg: aseprite 1.2.32-1
upstream release
2022-01-20 22:39:28 -08:00
ISSOtm
7aa9d99c25 Get rid of pixman in makedepends
We apply a patch so it's unnecessary, so why are we still requiring it?
2022-01-13 20:53:22 +01:00
ISSOtm
f6cc220db5 Use shared libfmt 2022-01-13 20:22:20 +01:00
ISSOtm
acea23a10b Get rid of buildtools and common dependencies 2022-01-13 20:03:06 +01:00
ISSOtm
265487a194 Register Aseprite's MIME info 2022-01-13 20:00:56 +01:00
ISSOtm
5571395d68 Fix up desktop integration 2022-01-13 20:00:54 +01:00
ISSOtm
e1fbe636bc Use upstream is_clang.py
The new version works fine under Python 3
2022-01-13 19:53:21 +01:00
ISSOtm
20382399c1 Start Git-ignoring now-deleted file 2022-01-13 19:33:23 +01:00
ISSOtm
9078bc1fac Fix build
Use more recent `gn`
Disable some functionality to broke the build (whether we should enable it back remains TBD)
Change Skia flags to fix up dependencies
Apply patch so missing Skia deps don't break Aseprite's build

Many of these changes were imported from my work on `aseprite-git`
https://github.com/ISSOtm/PKGBUILDs/tree/aseprite-git/aseprite-git
2022-01-13 19:32:37 +01:00
ImperatorStorm
a58e729f86 Updated gn, now have to dl a zip and unpack it. Builds fine, but my linker mold isn't finding laft-ft. I'll work on it tommorrow. 2022-01-12 23:50:07 -08:00
ImperatorStorm
f1f431dac8 Fix up shared-libwebp.patch. 2022-01-12 23:23:40 -08:00
ImperatorStorm
e61b3c9b5b upgpkg: aseprite 1.2.31-1
upstream release

Apparently `common` got yeeted from DEPS, going to see if it builds with it before removing it
2022-01-12 23:06:33 -08:00
ISSOtm
4bbfab660a Use upstream-provided .desktop file
It's identical to ours, except it doesn't have the deprecated `Encoding` key
2022-01-07 19:52:54 +01:00
Eldred Habert
4bf904749f Use brand new PKGBUILD for Aseprite Package (#1)
* Use brand new PKGBUILD instead

Attempting to fix the old one's jank

* Install third-party licenses as well

* Install .desktop file as well

* Add missing build-time dependencies

* Install icons in the icon theme directories instead

Also remove redundant `$srcdir`s in `package()`

* Put font license in the central directory as well

* Bump pkgrel

It was bumped during my work

* Ignore files in subdirectories

* Add missing resource files

* Use underscores for local variable names

https://wiki.archlinux.org/title/Arch_package_guidelines#Package_etiquette
https://github.com/ImperatorStorm/PKGBUILDs/pull/1#discussion_r777122781

* Use HTTPS for upstream URL

* Add myself as co-maintainer

Thanks!

* Remove ICU dependency

We are using a statically-linked version instead, apparently

* Avoid interactive prompts when patching fails

* Clean up $srcdir

Extract Aseprite's sources into a separate directory
Configure Aseprite out-of-tree
Configure Skia in a fresh directory (apparently `gn` does not support out-of-tree)

* Disable Skottie in Skia

This functionality doesn't appear to be used by Aseprite,
and excluding it should reduce build time

* Only pull Skia dependencies that we need

This significantly reduces initial build time (from syncing large repos)
and storage use.
The only remaining dependency that has a chance to be axed is `dng_sdk`,
for which more investigation is needed.

* Avoid printing redundant flags in `gn` args

Brainfart.
"static" flags like `is_debug` were re-printed for each "non-static"
(e.g. `skia_use_*`) variant.
Doing it this way also allows getting rid of weird quote shenanigans.

* Simplify `gn` configure line

`is_official_build=true` sets Skia up to use system libs by default,
so only specify those that we *don't* want

* Pull `gn` version ourselves

That way, we can additionally check its integrity via the SHA256

* Add forgotten `libgl` dependency

What's weird is that the lib seems not to be linked to dynamically,
but I can't see it not being required at run time. Right?

* Maybe use system libwebp? Based on https://patch-diff.githubusercontent.com/raw/aseprite/aseprite/pull/2535.patch

* Fix system `libwebp`, add `pixman` as makedep

* possibly fix shared-libwebp.patch?

* Disable updater

https://github.com/ImperatorStorm/PKGBUILDs/pull/1#issuecomment-1003838784

* Avoid creating symlinks to Skia deps in their dirs

Would occur if they were already symlinked

* Use system HarfBuzz and FreeType

I remember getting build errors, but cannot reproduce them anymore.
So use the system libs more where possible!

* Find all WebP libs

* Mark libwebp as runtime dep

* Remove CMake variables used by libwebp build

They do nothing now that we are using shared libwebp

* Remove build-time dep on Pixman

It doesn't wind up being used at all in the end

* Trim off a bunch of dependencies from Skia

Only libpng is required to render some of the images, it seems,
so this reduces build time and the amount of sources, which is good!

Co-authored-by: ImperatorStorm <30777770+ImperatorStorm@users.noreply.github.com>
2022-01-05 15:55:41 -08:00
ImperatorStorm
e576abc19c
Nuked checksums for most things, unreliable. 2021-12-30 12:52:27 -08:00
ImperatorStorm
42407660df
Fixed incorrect checksums and downgraded skia to m81, as aseprite v1.2.30 requires m81, not m96 2021-12-30 11:56:21 -08:00
ImperatorStorm
7fb517544c
Updated to v1.2.30. I have no idea what the original maintainers where doing, so I just bumped aseprite to v1.2.30 and skia to aseprite-m96 2021-12-28 14:31:21 -08:00
rouhannb
cfffd018ed Update to v1.2.27, add Python 3 to makedepends 2021-04-20 09:30:21 -04:00
rouhannb
a251c85db5 Change googlesource tarball checksums to SKIP
Every time a tarball snapshot of a git repo is downloaded from
googlesource, the files’ timestamps are set to the request time, meaning
that it’s impossible to hash the raw files.
2020-11-18 03:50:42 -05:00
rouhannb
bfc177e10d Download tarballs instead of git repos 2020-11-16 21:48:52 -05:00
rouhannb
31fa464704 Some cleanup, stop hardcoding path of Python 2
Thanks ISSOtm
2020-08-22 13:34:12 -04:00
rouhannb
cd33bb9f80 Allow package to be rebuilt without cleaning src/ 2020-08-22 11:46:29 -04:00
rouhannb
bbac323ada Fix typo that breaks build 2020-08-18 09:58:03 -04:00
rouhannb
56bf57c504 Update to v1.2.25 2020-08-18 09:37:20 -04:00
rouhannb
280cf67c6b Update to v1.2.24 2020-08-12 20:35:50 -04:00
rouhannb
2e95f4def9 Update to v1.2.23 2020-08-05 02:03:04 -04:00
rouhannb
e9cc513398 Update to v1.2.22 2020-08-04 20:39:23 -04:00
rouhannb
75fb3cc5f2 Update to v1.2.21 2020-06-20 06:56:09 -04:00
rouhannb
2e0004396d Update to 1.2.19.2 2020-05-31 15:38:00 -04:00
rouhannb
bfc7722cf9 Update to 1.2.19 2020-05-28 23:28:02 -04:00
rouhannb
c45e175f87 Update to 1.2.18 2020-04-24 17:09:28 -04:00
rouhannb
0a3859dc23 Replace dependency harfbuzz-icu with harfbuzz 2020-04-12 13:00:13 -04:00
rouhannb
2a4321b4e0 Add freeglut and xorgproto as makedepends
Xorgproto was mentioned in a comment, and the script skia uses to
download dependencies mentions freeglut.
2020-04-11 11:26:05 -04:00
rouhannb
6e1d44e0e7 Restoring old python2 hack 2020-03-13 18:20:55 -04:00
rouhannb
b9cc5d332e Fix checksums for gn 2020-03-13 17:40:44 -04:00
rouhannb
3bc48e49e0 Use static libjpeg
Using libjpeg-turbo on Aseprite gives the error “Wrong JPEG library
version: library is 62, caller expects 80.” I’m not sure if there is any
way to use a shared library right now, so I took the easy way out
and just used the static library compiled with Aseprite.

Additionally, I changed the hack for using Python 2 with depot_tools to
something less messy.
2020-03-13 13:42:30 -04:00
rouhannb
9ab6b40eb3 Add .gitignore 2020-03-13 12:42:25 -04:00
rouhannb
ea6a429477 Update to v1.2.17 2020-03-12 20:05:31 -04:00
rouhannb
d38210d079 Empty pkgrel bump
A few users have been having an issue where the package was always
classified as outdated because the last pkgrel bump wasn't done
properly. Hopefully, this fixes that.
2020-02-19 18:29:28 -05:00
Rohan Bafna
8b1477cd2a Remove skia, update pkgrel 2020-02-11 15:55:45 -05:00
Andrew Bueide
6b9d4761f6 Update srcinfo 2020-02-04 22:42:07 -06:00
Andrew Bueide
df04467285 Add skia-git as conflicting dependency (build fails with it installed) 2020-02-04 22:40:05 -06:00
rouhannb
b0c2094df4 Fix checksum for aseprite.desktop 2019-11-22 17:28:00 -05:00
rouhannb
d43f492ccf Update to v1.2.16.2
Several changes were made so that the package would mimic the file
structure of the trial package that the Aseprite team distributes. These
include adding a makedepend on pandoc to convert the README into an HTML
file.
2019-11-21 18:18:43 -05:00
rouhannb
6ef79206f6 Update to v1.2.15
Updates the package to v1.2.15, adds skia build, puts maintainer names
in PKGBUILD. Skia deps are downloaded manually as downloading them
during prepare turns out to be bad practice, and long options and
verbosity are used for clarity, though it's not common or necessary.
EULA message was removed as there's no need for it and makepkg should
run without user input anyways.
2019-10-27 11:28:35 -04:00
Andrew Bueide
6172d5d986 Update source info 2019-07-01 23:43:42 -06:00
Andrew Bueide
ad92c64740 Update to 1.2.12 2019-07-01 23:35:54 -06:00
Andrew Bueide
db81874510 Remove .AURINFO 2019-05-21 05:00:06 -06:00
Andrew Bueide
4786021ddd Update to 1.11 2019-05-21 04:56:17 -06:00
Wilson E. Alvarez
2d3ed17c56 Disabled Allegro4 alias fix 2018-08-13 16:10:41 -04:00
Wilson E. Alvarez
91e67f2178 aseprite v1.2.9 2018-07-29 08:57:08 -04:00
Wilson E. Alvarez
d699465f50
aseprite v1.2.8 2018-04-03 20:56:32 -04:00
Wilson E. Alvarez
46ee8df8b2 Fixed dependency error. Cannot use shared libloadpng 2018-03-18 21:23:11 -04:00
Wilson E. Alvarez
f3a56dd79d aseprite v1.2.7.2 2018-03-18 11:34:00 -04:00
Wilson E. Alvarez
c26bd3e56f Do not use the allegro4 library from the official repository 2018-03-17 10:19:07 -04:00
Wilson E. Alvarez
03fef6d621 aseprite v1.2.7 2018-03-16 19:56:30 -04:00
Wilson E. Alvarez
e964b51676 aseprite v1.2.6 2017-12-20 07:52:55 -04:00
Wilson E. Alvarez
1849f02e6a Delete conflicting files with package libarchive. Must disable the compilation of these later on 2017-11-16 10:34:29 -04:00
Wilson E. Alvarez
c6c5dea28c Disabled using the shared freetype library due to a missing file 2017-11-16 09:07:55 -04:00
Wilson E. Alvarez
7f2175e6bf aseprite v1.1.24 2017-11-16 08:36:41 -04:00
Wilson E. Alvarez
cf0996c4f2 Added StartupWMClass=allegro to aseprite.desktop 2017-03-03 16:44:14 -04:00
Wilson E. Alvarez
9ec2eda088 Removed git from makedepends, and git command to fix error in build() 2017-03-03 01:27:56 -04:00
Wilson E. Alvarez
c8db098087 aseprite v1.1.13 2017-03-02 02:26:04 -04:00
Benoit Favre
3e04164a49 add git dependency 2016-12-20 13:44:34 +01:00
Benoit Favre
09d3e38579 remove cmark/gtest conflict 2016-12-19 21:37:17 +01:00
Benoit Favre
53bb60b0c9 bump version to 1.1.11, WARNING: upstream installs files from other projects 2016-12-10 16:09:24 +01:00
Benoit Favre
cdf8471f44 bump version to 1.1.9 2016-10-23 20:45:04 +02:00
Benoit Favre
72bf70388f update to 1.1.8 2016-09-21 10:56:30 +02:00
Benoit Favre
1cbf212d6b wrong install path 2016-09-02 14:24:49 +02:00
Benoit Favre
0eba7a583e install EULA 2016-09-02 14:24:09 +02:00
Benoit Favre
429827020c reflect new EULA 2016-09-02 14:18:58 +02:00
Benoit Favre
e20f36faa9 update to 1.1.7 2016-07-31 15:07:01 +02:00
Benoit Favre
c071ace64d update to 1.1.6 2016-07-07 08:26:40 +02:00
Benoit Favre
f21a076d51 update to 1.1.5.4 2016-05-16 17:39:57 +02:00
Benoit Favre
3216b95e47 bump to 1.1.5 2016-05-04 21:46:54 +02:00
Benoit Favre
9481f0f6bf bump to 1.1.4.1 2016-04-19 10:31:08 +02:00
Benoit Favre
9f47afc144 bump to 1.1.4 2016-04-12 20:22:22 +02:00
Benoit Favre
8d601df91e add support for webp; add mimetype in .desktop file 2016-03-29 14:48:44 +02:00
Benoit Favre
cf7b407078 bump to 1.1.3 2016-02-29 18:11:37 +01:00
Benoit Favre
241db80540 update to 1.1.2 2016-02-29 11:43:02 +01:00
Benoit Favre
3bcf189c37 fix overwritten freetype files 2015-11-09 10:01:03 +01:00
Benoit Favre
08c4945481 add freetype dependency 2015-11-09 09:15:40 +01:00
Benoit Favre
3e9e4745d1 update to 1.1.1 2015-11-08 21:50:09 +01:00
Benoit Favre
df8fc65618 update to 1.1.0.1 2015-09-09 16:11:09 +02:00
Benoit Favre
8a0109c897 Initial import 2015-06-26 07:55:52 +02:00
13 changed files with 597 additions and 1 deletions

62
.SRCINFO Normal file
View File

@ -0,0 +1,62 @@
pkgbase = aseprite
pkgdesc = Create animated sprites and pixel art
pkgver = 1.3.13
pkgrel = 6
url = https://www.aseprite.org/
arch = x86_64
license = LicenseRef-Aseprite-EULA
makedepends = cmake
makedepends = ninja
makedepends = git
makedepends = python
makedepends = libxi
makedepends = gn
makedepends = harfbuzz-icu
makedepends = clang
depends = cmark
depends = libcurl.so
depends = libgif.so
depends = libjpeg.so
depends = zlib
depends = libpng
depends = tinyxml2>=11.0.0
depends = libfreetype.so
depends = libarchive.so
depends = libfmt.so
depends = libwebp.so
depends = libwebpmux.so
depends = libwebpdemux.so
depends = hicolor-icon-theme
depends = libexpat.so=1-64
depends = libharfbuzz.so=0-64
depends = libgl
depends = libfontconfig.so
depends = libxcursor
noextract = Aseprite-v1.3.13-Source.zip
noextract = skia-m102.tar.gz
source = https://github.com/aseprite/aseprite/releases/download/v1.3.13/Aseprite-v1.3.13-Source.zip
source = skia-m102.tar.gz::https://github.com/aseprite/skia/archive/refs/tags/m102-861e4743af.tar.gz
source = aseprite-strings::git+https://github.com/aseprite/strings.git#commit=5499ce2030d831c614f1ce7fdfdaf36a973c21f8
source = desktop.patch
source = shared-fmt.patch
source = shared-libarchive.patch
source = shared-libwebp.patch
source = shared-skia-deps.patch
source = optional-pixman.patch
source = fix-shared-tinyxml2.patch
source = shared-libwebp-found.patch
source = include_cstdint.patch
sha256sums = c2e639c083d99a5a478ded7c86d9d7f4e4ff9ebebf6fedac7f8bfc94d6bd94c1
sha256sums = 8d76c1ad3693e1fc019eb14d806082148eb4ed7d601474aeeaae601b05a9b3ad
sha256sums = 8ee87f57b5792e5751f63fe37cdda8d29053cd4449e1f533e792e15abcfefa79
sha256sums = 8b14e36939e930de581e95abf0591645aa0fcfd47161cf88b062917dbaaef7f9
sha256sums = c3591d376180d99ff8001c3d549c0bd18ef5e4d95f1755ccaa8e2fd65dd5d2b3
sha256sums = 89cd28a5a90ee9dd42e85866b6f954bde526068d94311b0730a62f00f9cfffdb
sha256sums = 0f8adb959d7000697af453d6cf5aaf9984b74868008382aad541d2c29871c751
sha256sums = eb9f544e68b41b5cb1a9ab7a6648db51587e67e94f1a452cb5a84f3d224bf5d0
sha256sums = c2d14f9738a96a9db3695c00ac3d14b1312b6a595b151bd56e19422c86517654
sha256sums = ba02fc060dc930cfd66a8903a5d8a59f981753bdf416e91cc77a48c56c86aea3
sha256sums = 72605d6760c29eb98f2d8d8cf2cc9f9f7d7655bcf7cfc944f6a46b0957adbb14
sha256sums = ce20c8caa61b0e4b478eb08853e1148eba76836027ec04cf5d0f76c4db9ae112
pkgname = aseprite

4
.nvchecker.toml Normal file
View File

@ -0,0 +1,4 @@
[aseprite]
source = "regex"
regex = 'v(\d+\.\d+\.\d+)'
url = "https://github.com/aseprite/aseprite/tags"

194
PKGBUILD Normal file
View File

@ -0,0 +1,194 @@
# Maintainer: Imperator Storm <ImperatorStorm11@protonmail.com>
# Maintainer: Eldred Habert <me@eldred.fr>
# Contributor: Fredrick Brennan <copypaste@kittens.ph>
# Contributor: Andrew Bueide <abueide@protonmail.com>
# Contributor: rouhannb <rouhannb@protonmail.com>
# Contributor: Wilson E. Alvarez <wilson.e.alvarez1@gmail.com>
# Contributor: Benoit Favre <benoit.favre@gmail.com>
# Contributor: Alexander Rødseth <rodseth@gmail.com>
# Contributor: Kamil Biduś <kamil.bidus@gmail.com>
# Contributor: Jomar Milan <jomarm@jomarm.com>
pkgname=aseprite
pkgver=1.3.13
_skiaver=m102
_skiahash=861e4743af
pkgrel=6
pkgdesc='Create animated sprites and pixel art'
arch=('x86_64')
url="https://www.aseprite.org/"
license=('LicenseRef-Aseprite-EULA')
depends=(# ~ Aseprite's direct dependencies ~
# pixman is not linked to because we use Skia instead
# harfbuzz is linked statically because Aseprite expects an older version
cmark libcurl.so libgif.so libjpeg.so zlib libpng 'tinyxml2>=11.0.0' libfreetype.so libarchive.so libfmt.so
libwebp.so libwebpmux.so libwebpdemux.so
hicolor-icon-theme # For installing Aseprite's icons
# ~ Skia deps ~
# (Skia links dynamically to HarfBuzz, only Aseprite itself doesn't. >_<)
libexpat.so=1-64 libharfbuzz.so=0-64 libgl
# Already required by Aseprite: libjpeg-turbo libpng zlib freetype2
# These two are only reported by Namcap, but don't seem to be direct dependencies?
libfontconfig.so libxcursor)
makedepends=(# "Meta" dependencies
cmake ninja git python
# Aseprite (including e.g. LAF)
libxi
# Skia
gn harfbuzz-icu
# TODO: Benchmark clang v gcc
# Fuck it, compiling with GCC>=13 is broken and I'm not gonna write a patch to fix it
clang
)
source=("https://github.com/aseprite/aseprite/releases/download/v$pkgver/Aseprite-v$pkgver-Source.zip"
# Which branch a given build of Aseprite requires is noted in its `INSTALL.md`
"skia-$_skiaver.tar.gz::https://github.com/aseprite/skia/archive/refs/tags/$_skiaver-$_skiahash.tar.gz"
aseprite-strings::git+https://github.com/aseprite/strings.git#commit=5499ce2030d831c614f1ce7fdfdaf36a973c21f8
desktop.patch
shared-fmt.patch
# Based on https://patch-diff.githubusercontent.com/raw/aseprite/aseprite/pull/2535.patch
shared-libarchive.patch
# Based on https://patch-diff.githubusercontent.com/raw/aseprite/aseprite/pull/2523.patch
shared-libwebp.patch
shared-skia-deps.patch
optional-pixman.patch
fix-shared-tinyxml2.patch
shared-libwebp-found.patch
include_cstdint.patch)
noextract=("Aseprite-v$pkgver-Source.zip"
"skia-$_skiaver.tar.gz") # Don't extract Aseprite or skia sources at the root
sha256sums=('c2e639c083d99a5a478ded7c86d9d7f4e4ff9ebebf6fedac7f8bfc94d6bd94c1'
'8d76c1ad3693e1fc019eb14d806082148eb4ed7d601474aeeaae601b05a9b3ad'
'8ee87f57b5792e5751f63fe37cdda8d29053cd4449e1f533e792e15abcfefa79'
'8b14e36939e930de581e95abf0591645aa0fcfd47161cf88b062917dbaaef7f9'
'c3591d376180d99ff8001c3d549c0bd18ef5e4d95f1755ccaa8e2fd65dd5d2b3'
'89cd28a5a90ee9dd42e85866b6f954bde526068d94311b0730a62f00f9cfffdb'
'0f8adb959d7000697af453d6cf5aaf9984b74868008382aad541d2c29871c751'
'eb9f544e68b41b5cb1a9ab7a6648db51587e67e94f1a452cb5a84f3d224bf5d0'
'c2d14f9738a96a9db3695c00ac3d14b1312b6a595b151bd56e19422c86517654'
'ba02fc060dc930cfd66a8903a5d8a59f981753bdf416e91cc77a48c56c86aea3'
'72605d6760c29eb98f2d8d8cf2cc9f9f7d7655bcf7cfc944f6a46b0957adbb14'
'ce20c8caa61b0e4b478eb08853e1148eba76836027ec04cf5d0f76c4db9ae112')
_debug="false"
prepare() {
# Extract Aseprite's sources
mkdir -p aseprite
bsdtar -xf "${noextract[0]}" -C aseprite
# Extract Skia's sources
mkdir -p skia
bsdtar xf skia-$_skiaver.tar.gz --strip-components=1 -C skia
# Fix up Aseprite's desktop integration
[[ -n $_debug ]] && echo desktop.patch
env -C aseprite patch -tp1 <desktop.patch
# Allow using more shared libs
[[ -n $_debug ]] && echo shared-fmt.patch
env -C aseprite patch -tp1 <shared-fmt.patch
[[ -n $_debug ]] && echo shared-libarchive.patch
env -C aseprite patch -tp1 <shared-libarchive.patch
[[ -n $_debug ]] && echo shared-libwebp.patch
env -C aseprite patch -tp1 <shared-libwebp.patch
[[ -n $_debug ]] && echo shared-pixman.patch
env -C aseprite patch -tp1 <optional-pixman.patch
# Their "FindSkia" module forcefully tries to use Skia's FreeType and HarfBuzz,
# but we don't clone those because we use the shared ones. Avoid overwriting the settings instead.
[[ -n $_debug ]] && echo shared-skia-deps.patch
env -C aseprite patch -tp1 <shared-skia-deps.patch
# TinyEXIF cannot find tinyxml2 otherwise
[[ -n $_debug ]] && echo fix-shared-tinyxml2.patch
env -C aseprite/third_party/TinyEXIF patch -tp1 <fix-shared-tinyxml2.patch
[[ -n $_debug ]] && echo shared-libwebp-found.patch
env -C aseprite patch -tp1 <shared-libwebp-found.patch
[[ -n $_debug ]] && echo include_cstdint.patch
patch -tp1 <include_cstdint.patch
}
build() {
echo Building Skia...
local _skiadir="$PWD/skia/obj"
export CXX=clang++
export CC=clang
export AR=ar
export NM=nm
# Flags can be found by running `gn args --list "$_skiadir"` from skia's directory.
# (Pipe the output somewhere, there's a LOT of args.)
#
# The flags are chosen to provide the API required by Aseprite and nothing else (if possible),
# so as to reduce the compilation time and final binary size.
#
# Individual rationales:
# is_official_build: Suggested by the build instructions.
# skia_build_fuzzers: We don't care about them.
# skia_enable_pdf: Not used by Aseprite.
# skia_enable_skottie: Not used by Aseprite.
# skia_enable_sksl: laf seems to want to use it... but no references are made anywhere.
# skia_enable_svg: Not used by Aseprite. It seems it has its own SVG exporter.
# skia_use_lib*_{encode,decode}: Aseprite only loads PNG assets, so only libpng is required.
# skia_use_expat: Only required for the Android font manager and SVGCanvas/SVGDevice.
# skia_use_piex: Not used by Aseprite. Only used for reading RAW files.
# skia_use_xps: Not used outside of Windows.
# skia_use_zlib: Only used for PDF and RAW files.
# skia_use_libgifcodec: Only used for GIFs, which Aseprite doesn't use.
# skia_enable_{particles,skparagraph,sktext}: Aseprite does not link against this library.
# gn is bad software
env -C skia gn gen "$_skiadir" --args='is_official_build=true skia_build_fuzzers=false skia_enable_pdf=false skia_enable_skottie=false skia_enable_sksl=false skia_enable_svg=false skia_use_libjpeg_turbo_encode=false skia_use_libjpeg_turbo_decode=false skia_use_libwebp_encode=false skia_use_libwebp_decode=false skia_use_expat=false skia_use_piex=false skia_use_xps=false skia_use_zlib=false skia_use_libgifcodec=false skia_enable_particles=false skia_enable_skparagraph=false skia_enable_sktext=false cc="clang" cxx="clang++"'
ninja -C "$_skiadir" skia modules
echo Building Aseprite...
# Suppress install messages since we install to a temporary area; `install -v` will do the job
cmake -S aseprite -B build -G Ninja -Wno-dev -DCMAKE_INSTALL_MESSAGE=NEVER -DCMAKE_BUILD_TYPE=None \
-DENABLE_UPDATER=OFF -DENABLE_{SCRIPTING,WEBSOCKET}=ON \
-DLAF_WITH_{EXAMPLES,TESTS}=OFF -DLAF_BACKEND=skia \
-DSKIA_DIR="$PWD/skia" -DSKIA_LIBRARY_DIR="$_skiadir" \
-DUSE_SHARED_{CMARK,CURL,FMT,GIFLIB,JPEGLIB,ZLIB,LIBPNG,TINYXML,PIXMAN,FREETYPE,HARFBUZZ,LIBARCHIVE,WEBP}=YES \
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 # workaround
cmake --build build
}
check() {
export CXX=clang++
export CC=clang
export AR=ar
export NM=nm
env -C build ctest --output-on-failure
}
package() {
export CXX=clang++
export CC=clang
export AR=ar
export NM=nm
# Now the fun part: components of e.g. `libwebp` get installed as well,
# since we've had to compile it. But we don't want them.
# So, install normally, and then cherry-pick Aseprite's files out of that.
# Use a whitelist to prefer installing not enough (breakage goes noticed),
# instead of too much (cruft rarely goes noticed). Also hope that it doesn't break :)
cmake --install build --prefix=staging --strip
# Install the binary and its `.desktop` file
install -vDm 755 staging/bin/aseprite "$pkgdir/usr/bin/aseprite"
install -vDm 644 aseprite/src/desktop/linux/aseprite.desktop "$pkgdir/usr/share/applications/$pkgname.desktop"
install -vDm 644 aseprite/src/desktop/linux/mime/aseprite.xml "$pkgdir/usr/share/mime/packages/$pkgname.xml"
# Thumbnailer
install -vDm 755 aseprite/src/desktop/linux/aseprite-thumbnailer "$pkgdir/usr/bin/aseprite-thumbnailer"
install -vDm 644 aseprite/src/desktop/linux/gnome/aseprite.thumbnailer "$pkgdir/usr/share/thumbnailers/aseprite.thumbnailer"
# Install the icons in the correct directory (which is not the default)
local _size
for _size in 16 32 48 64 128 256; do
# The installed icon's name is taken from the `.desktop` file
install -vDm 644 staging/share/aseprite/data/icons/ase$_size.png "$pkgdir/usr/share/icons/hicolor/${_size}x$_size/apps/aseprite.png"
done
# Delete the icons to avoid copying them in two places (they aren't used by Aseprite itself)
rm -rf staging/share/aseprite/data/icons
# Install all of the program's data
cp -vrt "$pkgdir/usr/share" staging/share/aseprite
# Also install the licenses
install -vDm 644 -t "$pkgdir/usr/share/licenses/$pkgname" aseprite/{EULA.txt,docs/LICENSES.md}
# Copy the font's license, but leave it in the font directory as well (probably doesn't hurt)
install -vm 644 aseprite/data/fonts/LICENSE.txt "$pkgdir/usr/share/licenses/$pkgname/font.txt"
# Copy translations
mkdir -p "$pkgdir/usr/share/$pkgname/data/strings/"
cp -vt "$pkgdir/usr/share/$pkgname/data/strings/" aseprite-strings/*.ini
# Copy translations' license
install -vm 644 aseprite-strings/LICENSE.txt "$pkgdir/usr/share/licenses/$pkgname/translations.txt"
}

25
desktop.patch Normal file
View File

@ -0,0 +1,25 @@
diff --git a/src/desktop/linux/aseprite.desktop b/src/desktop/linux/aseprite.desktop
index e23999db8..803a1fc75 100644
--- a/src/desktop/linux/aseprite.desktop
+++ b/src/desktop/linux/aseprite.desktop
@@ -5,7 +5,7 @@ GenericName=Sprite Editor
Comment=Animated sprite editor & pixel art tool
Icon=aseprite
Categories=Graphics;2DGraphics;RasterGraphics
-Exec=aseprite %U
+Exec=aseprite %F
TryExec=aseprite
Terminal=false
StartupNotify=false
diff --git a/src/desktop/linux/mime/aseprite.xml b/src/desktop/linux/mime/aseprite.xml
index 52b2adb92..a656cb3b1 100644
--- a/src/desktop/linux/mime/aseprite.xml
+++ b/src/desktop/linux/mime/aseprite.xml
@@ -7,6 +7,6 @@
</magic>
<glob pattern="*.ase"/>
<glob pattern="*.aseprite"/>
- <icon name="aseprite"/>
+ <icon name="image-x-aseprite"/>
</mime-type>
</mime-info>

24
fix-shared-tinyxml2.patch Normal file
View File

@ -0,0 +1,24 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 674dbd6..1ba8329 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -3,6 +3,8 @@ cmake_minimum_required(VERSION 3.1)
project(TinyEXIF)
include(GNUInstallDirs)
+find_package(tinyxml2 REQUIRED)
+
#CMAKE_BUILD_TOOL
################################
@@ -141,6 +143,10 @@ if(BUILD_STATIC_LIBS)
endif()
endif()
+ # export targets for find_package config mode
+ export(TARGETS TinyEXIFstatic
+ FILE ${CMAKE_BINARY_DIR}/${CMAKE_PROJECT_NAME}Targets.cmake)
+
install(TARGETS TinyEXIFstatic
EXPORT ${CMAKE_PROJECT_NAME}Targets
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}

23
include_cstdint.patch Normal file
View File

@ -0,0 +1,23 @@
diff --git a/aseprite/third_party/json11/json11.cpp b/aseprite/third_party/json11/json11.cpp
index b16f409..9a45f8e 100644
--- a/aseprite/third_party/json11/json11.cpp
+++ b/aseprite/third_party/json11/json11.cpp
@@ -24,6 +24,7 @@
#include <cmath>
#include <cstdlib>
#include <cstdio>
+#include <cstdint>
#include <limits>
namespace json11 {
diff --git a/skia/src/sksl/transform/SkSLTransform.h b/skia/src/sksl/transform/SkSLTransform.h
index b2d1f90..6a34284 100644
--- a/skia/src/sksl/transform/SkSLTransform.h
+++ b/skia/src/sksl/transform/SkSLTransform.h
@@ -10,6 +10,7 @@
#include <memory>
#include <vector>
+#include <cstdint>
namespace SkSL {

23
optional-pixman.patch Normal file
View File

@ -0,0 +1,23 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index f16f09660d..40065905d3 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -271,16 +271,18 @@
include_directories(${TINYXML_INCLUDE_DIR})
# pixman
+if(NOT LAF_BACKEND STREQUAL "skia")
if(USE_SHARED_PIXMAN)
find_library(PIXMAN_LIBRARY NAMES pixman pixman-1)
find_path(PIXMAN_INCLUDE_DIR NAMES pixman.h PATH_SUFFIXES pixman-1)
else()
set(PIXMAN_LIBRARY pixman)
set(PIXMAN_INCLUDE_DIR
${PIXMAN_DIR}/pixman
${CMAKE_BINARY_DIR}) # For pixman-version.h
endif()
include_directories(${PIXMAN_INCLUDE_DIR})
+endif()
# freetype
if(USE_SHARED_FREETYPE)

2
prerun.sh Normal file → Executable file
View File

@ -1,4 +1,4 @@
git add remote aur https://aur.archlinux.org/aseprite.git git remote add aur https://aur.archlinux.org/aseprite.git
git fetch aur git fetch aur
git merge -X theirs --no-edit aur/master git merge -X theirs --no-edit aur/master

71
shared-fmt.patch Normal file
View File

@ -0,0 +1,71 @@
--- a/CMakeLists.txt 2022-01-08 00:37:08.165330523 +0100
+++ b/CMakeLists.txt 2022-01-08 00:52:41.163585173 +0100
@@ -54,6 +54,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_FMT "Use your installed copy of fmt" 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_ZLIB "Use your installed copy of zlib" off)
@@ -165,6 +165,7 @@
set(SOURCE_DATA_DIR ${CMAKE_CURRENT_SOURCE_DIR}/data)
set(CMARK_DIR ${CMAKE_CURRENT_SOURCE_DIR}/third_party/cmark)
set(CURL_DIR ${CMAKE_CURRENT_SOURCE_DIR}/third_party/curl)
+set(FMT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/third_party/fmt)
set(GIFLIB_DIR ${CMAKE_CURRENT_SOURCE_DIR}/third_party/giflib)
set(LIBJPEG_DIR ${CMAKE_CURRENT_SOURCE_DIR}/third_party/jpeg)
set(LIBPNG_DIR ${CMAKE_CURRENT_SOURCE_DIR}/third_party/libpng)
@@ -204,6 +205,15 @@
set(CURL_STATICLIB ON BOOL)
endif()
+if(USE_SHARED_FMT)
+ find_package(FMT REQUIRED)
+ set(FMT_LIBRARIES fmt::fmt)
+else()
+ set(FMT_FOUND)
+ set(FMT_LIBRARIES fmt)
+ # No need to include extra directories, actually
+endif()
+
# zlib
if(USE_SHARED_ZLIB)
find_package(ZLIB REQUIRED)
--- a/src/app/CMakeLists.txt 2022-01-08 00:37:07.378671200 +0100
+++ b/src/app/CMakeLists.txt 2022-01-08 00:53:13.669969512 +0100
@@ -741,7 +741,7 @@ target_link_libraries(app-lib
${HARFBUZZ_LIBRARIES}
json11
archive_static
- fmt
+ ${FMT_LIBRARIES}
tinyexpr
qoi)
if(ENABLE_PSD)
--- a/src/dio/CMakeLists.txt 2022-01-08 00:41:50.712726972 +0100
+++ b/src/dio/CMakeLists.txt 2022-01-08 00:53:39.936408022 +0100
@@ -10,7 +10,7 @@
target_link_libraries(dio-lib
${ZLIB_LIBRARIES}
- fmt
+ ${FMT_LIBRARIES}
flic-lib
laf-base
fixmath-lib
--- a/third_party/CMakeLists.txt 2022-01-08 00:37:08.165330523 +0100
+++ b/third_party/CMakeLists.txt 2022-01-08 00:54:30.455969136 +0100
@@ -106,7 +106,10 @@
endif()
add_subdirectory(simpleini)
-add_subdirectory(fmt)
+
+if(NOT USE_SHARED_FMT)
+ add_subdirectory(fmt)
+endif()
# Add cmark without tests
if(NOT USE_SHARED_CMARK)

75
shared-libarchive.patch Normal file
View File

@ -0,0 +1,75 @@
From cf84155eb143d821963e8fdf18781dfa164eac9b Mon Sep 17 00:00:00 2001
From: "Azamat H. Hackimov" <azamat.hackimov@gmail.com>
Date: Fri, 9 Oct 2020 02:18:36 +0300
Subject: [PATCH] Make LibArchive as shared library dependency
---
CMakeLists.txt | 11 +++++++++++
src/app/CMakeLists.txt | 2 +-
third_party/CMakeLists.txt | 22 ++++++++++++----------
3 files changed, 24 insertions(+), 11 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 9cb5a2cdfb..9d95936f36 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -60,6 +60,7 @@ 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_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)
option(USE_SHARED_TINYXML "Use your installed copy of tinyxml" off)
option(USE_SHARED_PIXMAN "Use your installed copy of pixman" off)
@@ -200,6 +201,16 @@ else()
endif()
include_directories(${ZLIB_INCLUDE_DIRS})
+# libarchive
+if(USE_SHARED_LIBARCHIVE)
+ find_package(LibArchive REQUIRED)
+else()
+ set(LibArchive_FOUND)
+ set(LibArchive_LIBRARIES archive_static)
+ set(LibArchive_INCLUDE_DIRS $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/libarchive/libarchive>)
+endif()
+include_directories(${LibArchive_INCLUDE_DIRS})
+
# libpng
if(USE_SHARED_LIBPNG)
find_package(PNG REQUIRED)
diff --git a/src/app/CMakeLists.txt b/src/app/CMakeLists.txt
index e1e3bc1ae3..4a37838e95 100644
--- a/src/app/CMakeLists.txt
+++ b/src/app/CMakeLists.txt
@@ -651,8 +651,8 @@ target_link_libraries(app-lib
${GIF_LIBRARIES}
${PNG_LIBRARIES}
${ZLIB_LIBRARIES}
+ ${LibArchive_LIBRARIES}
json11
- archive_static
${FMT_LIBRARIES}
tinyexpr
qoi)
diff --git a/third_party/CMakeLists.txt b/third_party/CMakeLists.txt
index ffd1c0cfcd..4839d4097c 100644
--- a/third_party/CMakeLists.txt.orig
+++ b/third_party/CMakeLists.txt
@@ -110,6 +110,7 @@ endif()
add_subdirectory(json11)
# libarchive
+if(NOT USE_SHARED_LIBARCHIVE)
set(HAVE_WCSCPY 1)
set(HAVE_WCSLEN 1)
@@ -126,6 +127,7 @@ set(ENABLE_CPIO OFF CACHE BOOL "Enable cpio building")
add_subdirectory(libarchive)
target_include_directories(archive_static INTERFACE
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/libarchive/libarchive>)
+endif()
# benchmark
if(ENABLE_BENCHMARKS)

View File

@ -0,0 +1,11 @@
diff -ura aseprite.orig/CMakeLists.txt aseprite.new/CMakeLists.txt
--- aseprite.orig/CMakeLists.txt 2024-12-25 12:50:48.325195746 -0800
+++ aseprite.new/CMakeLists.txt 2024-12-25 12:51:47.829384607 -0800
@@ -361,6 +361,7 @@
find_library(WEBPMUX_LIBRARY NAMES webpmux)
set(WEBP_LIBRARIES ${WEBP_LIBRARY} ${WEBPDEMUX_LIBRARY} ${WEBPMUX_LIBRARY})
find_path(WEBP_INCLUDE_DIRS NAMES decode.h PATH_SUFFIXES webp)
+ set(WEBP_FOUND ON)
else()
find_library(WEBP_LIBRARIES webp
NAMES libwebp # required for Windows

63
shared-libwebp.patch Normal file
View File

@ -0,0 +1,63 @@
From ca9e20a87be6dcc8d9b97841535b2320d2eb2f91 Mon Sep 17 00:00:00 2001
From: Drauthius <albert@diserholt.com>
Date: Sat, 26 Sep 2020 10:40:13 +0200
Subject: [PATCH] Shared webp library
Making optional linking with shared system webp library with
-DUSE_SHARED_WEBP option.
---
CMakeLists.txt | 12 +++++++++---
third_party/CMakeLists.txt | 2 +-
2 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index af077f6..fed17ff 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -58,6 +58,7 @@ 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_FREETYPE "Use shared FreeType library" off)
option(USE_SHARED_HARFBUZZ "Use shared HarfBuzz library" off)
+option(USE_SHARED_WEBP "Use your installed copy of webp" off)
option(ENABLE_ASEPRITE_EXE "Compile main Aseprite executable" on)
option(ENABLE_MEMLEAK "Enable memory-leaks detector (only for developers)" off)
option(ENABLE_NEWS "Enable the news in Home tab" on)
@@ -352,7 +352,13 @@ add_subdirectory(laf)
# libwebp
if(ENABLE_WEBP)
# Use libwebp from Skia
- if(LAF_BACKEND STREQUAL "skia")
+ if(USE_SHARED_WEBP)
+ find_library(WEBP_LIBRARY NAMES webp)
+ find_library(WEBPDEMUX_LIBRARY NAMES webpdemux)
+ find_library(WEBPMUX_LIBRARY NAMES webpmux)
+ set(WEBP_LIBRARIES ${WEBP_LIBRARY} ${WEBPDEMUX_LIBRARY} ${WEBPMUX_LIBRARY})
+ find_path(WEBP_INCLUDE_DIRS NAMES decode.h PATH_SUFFIXES webp)
+ else()
find_library(WEBP_LIBRARIES webp
NAMES libwebp # required for Windows
PATHS "${SKIA_LIBRARY_DIR}" NO_DEFAULT_PATH)
@@ -362,10 +368,6 @@ if(ENABLE_WEBP)
else()
set(WEBP_FOUND OFF)
endif()
- else()
- set(WEBP_FOUND ON)
- set(WEBP_LIBRARIES webp webpdemux libwebpmux)
- set(WEBP_INCLUDE_DIR ${LIBWEBP_DIR}/src)
endif()
endif()
message(STATUS "aseprite libwebp: ${WEBP_LIBRARIES}")
diff --git a/third_party/CMakeLists.txt b/third_party/CMakeLists.txt
index 4839d4097c..e8c3e83cbc 100644
--- a/third_party/CMakeLists.txt
+++ b/third_party/CMakeLists.txt
@@ -32,7 +32,7 @@ if(NOT USE_SHARED_GIFLIB)
add_subdirectory(giflib)
endif()
-if(ENABLE_WEBP AND NOT LAF_BACKEND STREQUAL "skia")
+if(ENABLE_WEBP AND NOT LAF_BACKEND STREQUAL "skia" AND NOT USE_SHARED_WEBP)
set(WEBP_BUILD_EXTRAS OFF CACHE BOOL "Build extras.")
add_subdirectory(libwebp)
endif()

21
shared-skia-deps.patch Normal file
View File

@ -0,0 +1,21 @@
--- src/laf/cmake/FindSkia.cmake.orig 2022-01-08 02:15:13.417619266 +0100
+++ src/laf/cmake/FindSkia.cmake 2022-01-08 02:15:43.603960491 +0100
@@ -32,14 +32,18 @@
# SkShaper module + freetype + harfbuzz
find_library(SKSHAPER_LIBRARY skshaper PATH "${SKIA_LIBRARY_DIR}")
+if(NOT USE_SHARED_FREETYPE)
set(FREETYPE_FOUND ON)
find_library(FREETYPE_LIBRARY freetype2 PATH "${SKIA_LIBRARY_DIR}" NO_DEFAULT_PATH)
set(FREETYPE_LIBRARIES ${FREETYPE_LIBRARY})
set(FREETYPE_INCLUDE_DIRS "${SKIA_DIR}/third_party/externals/freetype/include")
+endif()
+if(NOT USE_SHARED_HARFBUZZ)
find_library(HARFBUZZ_LIBRARY harfbuzz PATH "${SKIA_LIBRARY_DIR}" NO_DEFAULT_PATH)
set(HARFBUZZ_LIBRARIES ${HARFBUZZ_LIBRARY})
set(HARFBUZZ_INCLUDE_DIRS "${SKIA_DIR}/third_party/externals/harfbuzz/src")
+endif()
set(SKIA_LIBRARIES
${SKIA_LIBRARY}