Compare commits

..

862 commits

Author SHA1 Message Date
233a098355
backports/py3-rapidjson: drop due to orphan dependency 2024-12-13 11:20:41 -05:00
9ee55e001b
forgejo: add special case for dotnet9-stage0 2024-12-13 10:29:04 -05:00
a053fd35f3
forgejo: add special case for dotnet9-sdk 2024-12-13 10:26:58 -05:00
88d9198fee
forgejo: add special case for freetube 2024-12-13 10:20:15 -05:00
9e7a9c464e
user/papermc: move from unmaintained, upgrade to 1.21.3
All checks were successful
/ lint (pull_request) Successful in 42s
/ deploy-x86_64 (pull_request) Successful in 29s
/ build-x86_64 (pull_request) Successful in 4m14s
/ deploy-aarch64 (pull_request) Successful in 1m2s
/ build-aarch64 (pull_request) Successful in 15m44s
2024-12-10 16:20:45 -05:00
0a88d5c3a3
README: update notice for backports 2024-12-01 14:55:11 -05:00
f853f9956d
README: add notice for backports 2024-12-01 14:53:38 -05:00
b8f608772c
forgejo-ci: add clear-repo binary 2024-12-01 13:39:18 -05:00
89c8805846
forgejo-ci: backports use its own label 2024-12-01 13:12:13 -05:00
7a2cb83701
forgejo-ci: add ALL_PACKAGES var to skip maintainer filter 2024-12-01 12:44:29 -05:00
a068733225
forgejo-ci: add check-backports workflow 2024-12-01 12:35:57 -05:00
ab9d5e9650 backports/py3-numpy-stl: upgrade to 3.2.0 2024-12-01 01:47:25 +00:00
d7b083ff8c backports/libmedc: drop 2024-12-01 01:47:25 +00:00
43cc51f815 backports/signal-desktop: upgrade to 7.34.0 2024-12-01 01:47:25 +00:00
76f4a5af17 backports/py3-privy: bump pkgrel 2024-12-01 01:47:25 +00:00
e21b82beb4 backports/py3-flask-limiter: upgrade to 3.9.2 2024-12-01 01:47:25 +00:00
e1ba44fb3b backports/py3-dateparser: fix tests 2024-12-01 01:47:25 +00:00
b91f3b9ff9 backports/electron: upgrade to 33.2.1 2024-12-01 01:47:25 +00:00
7bdf12e9ba backports/calibre: upgrade to 7.21.0 2024-12-01 01:47:25 +00:00
c73afaf110 backports/uranium: fix check 2024-12-01 01:47:25 +00:00
b5577c66f1 backports/soqt: fix check 2024-12-01 01:47:25 +00:00
37d498e0ef backports/signal-desktop: upgrade to 7.30.0 2024-12-01 01:47:25 +00:00
0f5a3715ce backports/py3-trimesh: bump pkgrel 2024-12-01 01:47:25 +00:00
43a45d318c backports/py3-svgpath: build using gpep517 2024-12-01 01:47:25 +00:00
ea2def9dd2 backports/py3-rtree: build using gpep517 2024-12-01 01:47:25 +00:00
1a345ce163 backports/py3-rapidjson: build using gpep517 2024-12-01 01:47:25 +00:00
404979f01b backports/py3-pyinstrument: upgrade to 4.7.3 2024-12-01 01:47:25 +00:00
813dd51cbf backports/py3-pivy: bump pkgrel 2024-12-01 01:47:25 +00:00
0f88617c94 backports/py3-pathvalidate: upgrade to 3.2.1 2024-12-01 01:47:25 +00:00
88d35e2b2a backports/py3-numpy-stl: move to gpep517 2024-12-01 01:47:25 +00:00
a24da23d5d backports/py3-mapbox-earcut: move to gpep517 2024-12-01 01:47:25 +00:00
55ac054f92 backports/py3-limits: upgrade to 3.13.0 2024-12-01 01:47:25 +00:00
5e12f12d1e backports/py3-fuzzywuzzy: move to gpep517 2024-12-01 01:47:25 +00:00
559e9ced7a backports/py3-flask-limiter: bump pkgrel 2024-12-01 01:47:25 +00:00
b970b53d5b backports/py3-dataparser: fix check 2024-12-01 01:47:25 +00:00
42fba3ec09 backports/py3-microdata: drop due to community 2024-12-01 01:47:25 +00:00
192fefd457 backports/py3-utils: drop due to community 2024-12-01 01:47:25 +00:00
f4893f439f backports/py3-pytube: drop due to community 2024-12-01 01:47:25 +00:00
c34ae73f08 backports/py3-daemon: drop due to community 2024-12-01 01:47:25 +00:00
ca399a31cc backports/py3-colored: bump pkgrel 2024-12-01 01:47:25 +00:00
5e4808302b backports/py3-arcus: bump pkgrel 2024-12-01 01:47:25 +00:00
dcd308946a backports/py3-apsw: upgrade at 3.46.1.0 2024-12-01 01:47:25 +00:00
1253b5be22 backports/perl-math-random-isaac-xs: bump pkgrel 2024-12-01 01:47:25 +00:00
ea066664d7 backports/openssl1.1-compat: bump pkgrel 2024-12-01 01:47:25 +00:00
d7fb3c5419 backports/nlopt: upgrade to 2.8.0 2024-12-01 01:47:25 +00:00
f2e1f14f99 user/looking-glass: move from backports due to custom version 2024-12-01 01:47:25 +00:00
ad6f3d1c77 backports/libmedc: bump pkgrel 2024-12-01 01:47:25 +00:00
86b3f95e1b backports/freetube: bump pkgrel 2024-12-01 01:47:25 +00:00
b0845ca9b6 user/freecad: move from backports due to aports drop 2024-12-01 01:47:25 +00:00
8006b26b74 backports/fdm-materials: bump pkgrel 2024-12-01 01:47:25 +00:00
3bea445fde backports/electron-tasje: upgrade to 0.7.3 2024-12-01 01:47:25 +00:00
53280efc87 backports/electron: upgrade to 33.0.2 2024-12-01 01:47:25 +00:00
7c899e25cb backports/cura: bump pkgrel 2024-12-01 01:47:25 +00:00
53e39d64e5 backports/coin: bump pkgrel 2024-12-01 01:47:25 +00:00
88653d4dbd backports/caprine: bump pkgrel 2024-12-01 01:47:25 +00:00
3ea85f37b5 backports/calibre: upgrade to 7.20.0 2024-12-01 01:47:25 +00:00
00e5379973
user/tandoor-recipes: FTBFS 2024-11-30 20:34:19 -05:00
9e18a02c6a
user/sane: FTBFS 2024-11-30 20:33:41 -05:00
4fce7364ca
user/protobuf: drop 2024-11-30 20:33:21 -05:00
a362d7747a
user/paperless-ngx: disable due to uvicorn 2024-11-30 20:32:09 -05:00
396c98208d
backports/caprine: new aport 2024-10-29 09:01:48 -04:00
b345573aa1
forgejo: chose highest version when dealing with multiple downstream_versions 2024-10-29 08:56:16 -04:00
257e019992
forgejo: fix typo in check-community 2024-10-29 07:07:21 -04:00
97ed4992d7
forgejo: Fix is_it_old logics 2024-10-29 07:06:50 -04:00
7814f05e1c
Check every day at 5 am instead of hourly 2024-10-28 08:21:30 -04:00
9bf9771b8c
forgejo: update is_it_old to use new title format 2024-10-27 17:01:04 -04:00
6e698a0974
forgejo: add update check workflows 2024-10-27 15:02:24 -04:00
367a606da2
user/signal-desktop: upgrade to 7.29.0
Some checks failed
/ build-x86_64 (pull_request) Has been cancelled
/ deploy-x86_64 (pull_request) Has been cancelled
/ deploy-aarch64 (pull_request) Has been cancelled
/ build-aarch64 (pull_request) Has been cancelled
/ lint (pull_request) Successful in 31s
2024-10-16 20:38:26 -04:00
26657f4d57
backports/py3-sip: drop due to in community
All checks were successful
/ lint (pull_request) Successful in 28s
/ deploy-x86_64 (pull_request) Successful in 26s
/ build-x86_64 (pull_request) Successful in 42s
/ build-aarch64 (pull_request) Successful in 1m11s
/ deploy-aarch64 (pull_request) Successful in 54s
2024-10-16 20:28:51 -04:00
9e2e00cd44
backports/py3-qt6: drop due to in community 2024-10-16 20:28:26 -04:00
5771d09151
backports/py3-pyqt6-sip: drop due to in community 2024-10-16 20:28:02 -04:00
0414f86242
backports/py3-django-debug-toolbar: drop due to in community 2024-10-16 20:26:36 -04:00
fb7a3fe81b
user/caprine: drop due to move to aports 2024-10-16 20:07:46 -04:00
3ffe64d0d4
user/forgejo-aneksajo: drop due to move to iports 2024-10-16 20:07:07 -04:00
15d01121ba
user/zotero: drop due to in aports
All checks were successful
/ deploy-aarch64 (pull_request) Successful in 55s
/ build-aarch64 (pull_request) Successful in 1m14s
/ lint (pull_request) Successful in 28s
/ deploy-x86_64 (pull_request) Successful in 29s
/ build-x86_64 (pull_request) Successful in 39s
2024-10-16 20:04:33 -04:00
d24323205e backports/signal-desktop: upgrade to 7.28.0 2024-10-16 17:48:59 +00:00
eef1e89d88
backports/signal-desktop: upgrade to 7.28.0
All checks were successful
/ lint (pull_request) Successful in 28s
/ deploy-aarch64 (pull_request) Successful in 1m1s
/ build-aarch64 (pull_request) Successful in 1h4m59s
/ build-x86_64 (pull_request) Successful in 26m33s
/ deploy-x86_64 (pull_request) Successful in 40s
2024-10-09 18:23:19 -04:00
623d98575e user/zotero: upgrade to 7.0.7 2024-10-07 16:24:49 +00:00
b306518289
testing/signal-desktop: upgrade to 7.27.0
All checks were successful
/ lint (pull_request) Successful in 28s
/ deploy-x86_64 (pull_request) Successful in 38s
/ build-x86_64 (pull_request) Successful in 35m39s
/ build-aarch64 (pull_request) Successful in 1h19m18s
/ deploy-aarch64 (pull_request) Successful in 1m0s
2024-10-07 09:37:14 -04:00
63f6a6099f
backports/signal-desktop: import upstream changes 2024-09-27 17:32:59 -04:00
7e21600868
backports/signal-desktop: upgrade to 7.26.0
All checks were successful
/ lint (pull_request) Successful in 27s
/ deploy-x86_64 (pull_request) Successful in 38s
/ build-x86_64 (pull_request) Successful in 32m29s
/ build-aarch64 (pull_request) Successful in 1h8m29s
/ deploy-aarch64 (pull_request) Successful in 59s
2024-09-27 10:13:09 -04:00
714437157c
user/zotero: upgrade to 7.0.6
All checks were successful
/ lint (pull_request) Successful in 37s
/ deploy-x86_64 (pull_request) Successful in 1m2s
/ build-x86_64 (pull_request) Successful in 1h34m59s
/ deploy-aarch64 (pull_request) Successful in 1m7s
/ build-aarch64 (pull_request) Successful in 2h14m29s
2024-09-26 09:16:53 -04:00
f82ac83d0b
backports/signal-desktop: upgrade to 7.25.0
All checks were successful
/ lint (pull_request) Successful in 41s
/ build-x86_64 (pull_request) Successful in 24m19s
/ deploy-x86_64 (pull_request) Successful in 26s
/ deploy-aarch64 (pull_request) Successful in 57s
/ build-aarch64 (pull_request) Successful in 59m21s
2024-09-18 22:59:46 -04:00
b9b609bedf
backports/signal-desktop: upgrade to 7.24.1
All checks were successful
/ lint (pull_request) Successful in 26s
/ deploy-x86_64 (pull_request) Successful in 25s
/ build-x86_64 (pull_request) Successful in 22m30s
/ deploy-aarch64 (pull_request) Successful in 57s
/ build-aarch64 (pull_request) Successful in 57m41s
2024-09-13 11:20:57 -04:00
8ffac41cb8
backports/signal-desktop: upgrade to 7.24.0
All checks were successful
/ lint (pull_request) Successful in 27s
/ deploy-x86_64 (pull_request) Successful in 24s
/ build-x86_64 (pull_request) Successful in 23m6s
/ build-aarch64 (pull_request) Successful in 58m43s
/ deploy-aarch64 (pull_request) Successful in 56s
2024-09-12 13:42:16 -04:00
7ffb4b3105
backports/signal-desktop: upgrade to 7.23.0
All checks were successful
/ lint (pull_request) Successful in 26s
/ deploy-x86_64 (pull_request) Successful in 27s
/ build-x86_64 (pull_request) Successful in 15m33s
/ build-aarch64 (pull_request) Successful in 1h1m41s
/ deploy-aarch64 (pull_request) Successful in 57s
2024-09-09 13:46:08 -04:00
743ceb8dbe
backports/signal-desktop: upgrade to 7.22.2
All checks were successful
/ lint (pull_request) Successful in 38s
/ build-x86_64 (pull_request) Successful in 21m27s
/ deploy-x86_64 (pull_request) Successful in 44s
/ deploy-aarch64 (pull_request) Successful in 1m3s
/ build-aarch64 (pull_request) Successful in 1h3m14s
2024-09-05 16:05:34 -04:00
021b81131e
user/mathjax2: bump pkgrel
All checks were successful
/ lint (pull_request) Successful in 27s
/ deploy-aarch64 (pull_request) Successful in 53s
/ build-aarch64 (pull_request) Successful in 2m8s
/ deploy-x86_64 (pull_request) Successful in 26s
/ build-x86_64 (pull_request) Successful in 19m19s
2024-09-03 12:22:25 -04:00
d00a14e695
forgejo: always create artifacts for build stage
Some checks failed
/ lint (pull_request) Successful in 26s
/ deploy-aarch64 (pull_request) Successful in 51s
/ build-aarch64 (pull_request) Successful in 1m10s
/ deploy-x86_64 (pull_request) Has been skipped
/ build-x86_64 (pull_request) Failing after 2m15s
2024-09-03 12:17:26 -04:00
a6e60edfd9
user/rstudio-desktop: enable build 2024-09-03 12:15:02 -04:00
68130cdf8a user/zotero: upgrade to 7.0.3 2024-08-28 13:42:02 +00:00
888654be5c
user/rmfakecloud: upgrade to 0.0.19
All checks were successful
/ lint (pull_request) Successful in 32s
/ build-x86_64 (pull_request) Successful in 2m31s
/ deploy-x86_64 (pull_request) Successful in 31s
/ deploy-aarch64 (pull_request) Successful in 54s
/ build-aarch64 (pull_request) Successful in 9m20s
2024-08-26 11:04:13 -04:00
d6e00b6395
forgejo-ci: build.sh is now local rather than patched 2024-08-26 11:02:37 -04:00
77dc41c8aa
forgejo-ci: fix double v in repo 2024-08-22 21:42:50 -04:00
1478a9f5c7
forgejo-ci: use new forge repo
Some checks failed
/ deploy-aarch64 (pull_request) Has been cancelled
/ build-aarch64 (pull_request) Has been cancelled
/ build-x86_64 (pull_request) Has been cancelled
/ deploy-x86_64 (pull_request) Has been cancelled
/ lint (pull_request) Successful in 26s
2024-08-21 10:54:38 -04:00
fc3cfbc01c
user/forgejo-aneksajo: upgrade to 8.0.1 2024-08-21 10:19:57 -04:00
659bd20ba1
README: update name 2024-08-12 12:56:21 -04:00
970fd7297f
README: update upstream 2024-08-12 12:55:21 -04:00
135bcd5a89
README: update to use forge repo 2024-08-12 12:53:29 -04:00
e7bef354af
forgejo: initial implementation
Some checks failed
/ lint (pull_request) Successful in 29s
/ deploy-aarch64 (pull_request) Failing after 3m48s
/ build-aarch64 (pull_request) Successful in 58s
/ deploy-x86_64 (pull_request) Failing after 1m40s
/ build-x86_64 (pull_request) Successful in 28s
2024-08-12 12:39:43 -04:00
260b8c3da6
gitlab-ci: drop in favor of forgejo actions 2024-08-12 12:39:38 -04:00
9a81361936
README.md: new repo location 2024-08-10 16:34:15 -04:00
f124e1fd95 gitab-ci: use git-annex instead of git-lfs 2024-08-10 15:33:40 +00:00
3a9141372b user/py3-validators: bump 2024-08-10 15:33:40 +00:00
e0a5952518
Update README 2024-08-10 11:31:00 -04:00
14348459f1 README: update for codeberg migration 2024-08-10 02:44:17 +00:00
92b265a1d0 user/py3-django-rest-framework: drop due to migration to ilot iports 2024-08-10 02:44:17 +00:00
07ce4b2776 user/ruby3.2-take: drop due migration to ilot iports 2024-08-10 02:44:17 +00:00
9b5788e012 user/gitaly: drop due migration to ilot iports 2024-08-10 02:44:17 +00:00
580e136768 user/gitlab-foss: drop due migration to ilot iports 2024-08-10 02:44:17 +00:00
32a461c894 user/gitlab-pages: drop due migration to ilot iports 2024-08-10 02:44:17 +00:00
9320defbce user/gitlab-shell: drop due migration to ilot iports 2024-08-10 02:44:17 +00:00
9c03466cc0 user/mastodon: drop due migration to ilot iports 2024-08-10 02:44:17 +00:00
177efa00c2 user/ruby3.2: drop due migration to ilot iports 2024-08-10 02:44:17 +00:00
438d6d6e3e user/ruby3.2-bundler: drop due migration to ilot iports 2024-08-10 02:44:17 +00:00
638732a089 user/ruby3.2-minitest: drop due migration to ilot iports 2024-08-10 02:44:17 +00:00
d09e518d1f user/ruby3.2-power_assert: drop due migration to ilot iports 2024-08-10 02:44:17 +00:00
ece30e0fbb user/ruby3.2-test-unit: drop due migration to ilot iports 2024-08-10 02:44:17 +00:00
8a2a28342a user/ruby3.2-webrick: drop due migration to ilot iports 2024-08-10 02:44:17 +00:00
9d6bf2f5a2 user/authentik: drop due migration to ilot iports 2024-08-10 02:44:17 +00:00
10821c427a user/freescout: drop due migration to ilot iports 2024-08-10 02:44:17 +00:00
bc63f1ddb8 user/listmonk: drop due migration to ilot iports 2024-08-10 02:44:17 +00:00
187eb88770 user/loomio: drop due migration to ilot iports 2024-08-10 02:44:17 +00:00
60b6bb1f9a user/peertube: drop due migration to ilot iports 2024-08-10 02:44:17 +00:00
5edd40d7f0 user/php82-pecl-inotify: drop due migration to ilot iports 2024-08-10 02:44:17 +00:00
7870ee72dc user/php83-pecl-inotify: drop due migration to ilot iports 2024-08-10 02:44:17 +00:00
2f4998dfb6 user/py3-django-tenants: drop due migration to ilot iports 2024-08-10 02:44:17 +00:00
783a964410 user/py3-scim2-filter-parser: drop due migration to ilot iports 2024-08-10 02:44:17 +00:00
ff94611df0 user/py3-tenant-schemas-celery: drop due migration to ilot iports 2024-08-10 02:44:17 +00:00
bdc0c313c6 user/uptime-kuma: drop due migration to ilot iports 2024-08-10 02:44:17 +00:00
21082688af user/wikijs: drop due migration to ilot iports 2024-08-10 02:44:17 +00:00
a0993c9e31
user/zotero: upgrade to 7.0.0 2024-08-09 10:41:28 -04:00
686e6a6504 backports/py3-html5-parser: new aport 2024-08-08 16:14:05 +00:00
497771fe9e backports/py3-apsw: new aport 2024-08-08 16:14:05 +00:00
0807d658c5 backports/calibre: new aport 2024-08-08 16:14:05 +00:00
7320512e66 backports/freetube: upgrade to 0.21.3 2024-08-07 21:32:22 +00:00
475c43723c user/forgejo-aneksajo: new aport 2024-08-07 19:46:56 +00:00
ad7d9444cc
backports/looking-glass: upgrade to 7b_git20240607 2024-08-07 15:34:26 -04:00
87e02ab716 user/zotero: upgrade to 7.0.0_beta109 2024-08-01 21:25:12 +00:00
7671a9d567
backports/looking-glass: new aport 2024-07-30 23:39:19 -04:00
65f2a53a44 user/gitlab-foss: upgrade to 17.0.4, fix initd 2024-07-27 05:02:39 +00:00
4d473acf9e user/gitlab-pages: upgrade to 17.0.4 2024-07-27 05:02:39 +00:00
59705e3486 user/gitaly: upgrade to 17.0.4 2024-07-27 05:02:39 +00:00
72ad06acd7
backports/py3-pyqt6-sip: upgrade to 13.8.0 2024-07-27 00:51:52 -04:00
e5f83095e3 backports/py3-{pyqt6-sip, qt6, sip}: new aport 2024-07-27 04:49:23 +00:00
eb0374cfba
user/mastodon: fix initd scripts 2024-07-11 07:08:45 -04:00
07ea5d4b03
user/mastodon: upgrade to 4.2.10 2024-07-04 22:53:50 -04:00
091908e87e user/gitlab-shell: upgrade to 14.36.0 2024-07-05 02:17:29 +00:00
0b3331610d user/gitaly: upgrade to 17.0.3 2024-07-05 02:17:29 +00:00
948e244824 user/gitlab-pages: upgrade to 17.0.3 2024-07-05 02:17:29 +00:00
3124031a00 user/gitlab-foss: upgrade to 17.0.3 2024-07-05 02:17:29 +00:00
64d88aa2e1 user/authentik: add custom css to config dir 2024-07-04 03:15:58 +00:00
a5cd9ca969 user/authentik: upgrade to 2024.4.3 2024-07-04 03:15:58 +00:00
ddb15faac6
user/i18nspector: new aport 2024-07-03 16:59:16 -04:00
bdb37e35ee user/wikijs: new aport 2024-06-17 01:20:53 +00:00
1c7eeb3dce
user/ruby3.2-rugged: drop due to not needed 2024-06-14 08:32:52 -04:00
08ee79d032
user/grpc: drop due to not needed 2024-06-14 08:32:51 -04:00
81ac0611da
user/gitlab-pages: upgrade to 17.0.2 2024-06-14 08:32:49 -04:00
f57dc997f7
user/gitaly: upgrade to 17.0.2 2024-06-14 08:32:48 -04:00
7440e781b8
user/gitlab-foss: upgrade to 17.0.2 2024-06-14 08:32:44 -04:00
65a5f41649 user/gitlab-foss: upgrade to 16.11.4 2024-06-13 22:07:41 +00:00
507663db3b user/gitlab-pages: upgrade to 16.11.4 2024-06-13 22:07:41 +00:00
f5bbad0712 user/gitaly: upgrade to 16.11.4 2024-06-13 22:07:41 +00:00
ecc61a2182 user/php82-pecl-inotify: new aport 2024-06-13 20:33:20 +00:00
1f7767fc5b
user/php83-pecl-inotify: new aport 2024-06-13 13:48:22 -04:00
e5237392b1
user/authentik: add missing depends 2024-06-12 23:53:12 -04:00
43905a4a72
user/py3-django-rest-framework: fix to version 3.14.0 2024-06-12 23:53:03 -04:00
2a72f32a3a
user/py3-scim2-filter-parser: new aport 2024-06-12 23:52:52 -04:00
b29ff4dcae
user/py3-tenant-schemas-celery: new aports 2024-06-12 23:52:46 -04:00
d87a333de8
user/py3-django-tenants: new aports 2024-06-12 23:52:40 -04:00
849cc1d7b3 user/mastodon: upgrade to 4.2.9 2024-06-13 00:33:01 +00:00
ae8c40104c
user/gitlab-pages: upgrade to 16.9.8 2024-06-10 09:43:06 -04:00
29d690fe52
user/gitaly: upgrade to 16.9.8 2024-06-10 09:42:59 -04:00
ab3231afda
user/gitlab-shell: upgrade to 14.35.0 2024-06-10 09:42:53 -04:00
8ac74918a3
user/gitlab-foss: upgrade to 16.9.8 2024-06-10 09:42:46 -04:00
d3888ec0a3
user/zotero: add missing git info 2024-06-04 13:31:31 -04:00
c9d0bd0b1e
backports/signal-desktop: upgrade to 7.11.0 2024-06-04 12:15:55 -04:00
e9d494a147 user/peertube: enable build 2024-06-04 13:32:30 +00:00
fddd91b20c unmaintained/firefly-iii-plaid-connector: move from user 2024-06-04 13:22:14 +00:00
104708e9a6 user/firefly-iii: use php83 2024-06-04 13:22:14 +00:00
34e0757763 user/mastodon: enable build 2024-06-04 02:48:20 +00:00
068b275bf0 user/gitlab-foss: enable build 2024-06-04 02:48:11 +00:00
0c00fe0b12 user/zotero: upgrade to 7.0.0_beta83 2024-06-04 02:47:03 +00:00
4c1e2a5ad1 user/zotero: enable build 2024-06-04 02:47:03 +00:00
aa38757ca4
user/wallabag: use php83 2024-06-03 13:44:17 -04:00
01bb50572f user/zotero: disable due to build failure 2024-06-03 14:00:51 +00:00
3ab0e08102 user/rstudio-desktop: disable due to build failure 2024-06-03 14:00:51 +00:00
cead3482d0 user/peertube: disable due to build failure 2024-06-03 14:00:51 +00:00
0fda66c95d user/mastodon: disable due to build failure 2024-06-03 14:00:51 +00:00
536488e38a user/gitlab-foss: disable due to build failure 2024-06-03 14:00:51 +00:00
99aad33f76 user/firefly-iii-plaid-connector: disable due to build failure 2024-06-03 14:00:51 +00:00
1687c6e040 user/firefly-iii: disable due to build failure 2024-06-03 14:00:51 +00:00
72ee0d8d1a user/py3-validators: backports old version for tandoor 2024-06-03 13:36:31 +00:00
c1565cc31e backports/signal-desktop: disable due to build failure 2024-06-03 13:33:43 +00:00
d070b3f938
backports/electron: upgrade to 30.0.9 2024-06-03 09:30:32 -04:00
9115f3f438
backports/coin: bump pkgrel 2024-06-02 19:37:44 -04:00
70a9a1d2ef backports/signal-desktop: upgrade to 7.9.0 2024-06-02 23:36:36 +00:00
7f99c70ce5 backports/py3-limits: upgrade to 3.12.0 2024-06-02 23:36:13 +00:00
c2f2218c0a backports/py3-flask-limiter: upgrade to 3.7.0 2024-06-02 23:35:56 +00:00
2932096ea6 community/electron: upgrade to 30.0.5 2024-06-02 23:35:30 +00:00
34a6944283 backports/py3-pivy: upgrade to 0.6.9_alpha0 2024-06-02 23:33:12 +00:00
78d9f34889 backports/py3-pynest2d: bump pkgrel 2024-06-02 23:24:05 +00:00
d9314aa56b backports/py3-arcus: upgrade to 5.3.0 2024-06-02 23:24:05 +00:00
d8dcb89d2d backports/cura: fix build 2024-06-02 23:24:05 +00:00
2e84eef9d9 user/thelounge: move from backports 2024-06-02 23:22:30 +00:00
a4df28e246 backports/uranium: bump pkgrel 2024-06-02 23:22:08 +00:00
53a721ead8 backports/py3-trimesh: bump pkgrel 2024-06-02 23:22:08 +00:00
b84114435d backports/py3-svgpath: bump pkgrel 2024-06-02 23:22:08 +00:00
ec037fc6fd backports/py3-rapidjson: bump pkgrel 2024-06-02 23:22:08 +00:00
e1da3f4eb1 backports/py3-pyinstrument: bump pkgrel 2024-06-02 23:22:08 +00:00
8f83341ebe backports/py3-microdata: bump pkgrel 2024-06-02 23:22:08 +00:00
7380fdd1ac backports/py3-django-mapbox-earcut: bump pkgrel 2024-06-02 23:22:08 +00:00
8ea01a36bf backports/py3-django-debug-toolbar: bump pkgrel 2024-06-02 23:22:08 +00:00
e7e9e8df9c backports/py3-dateparser: bump pkgrel 2024-06-02 23:13:39 +00:00
78a43bb4de backports/py3-daemon: remove docutils depend 2024-06-02 23:13:26 +00:00
de61d62ece backports/openssl1.1-compat: fix build 2024-06-02 23:11:41 +00:00
58efa9d1c5 backports/libnest2d: bump pkgrel 2024-06-02 23:09:36 +00:00
e1c4603357 backports/libmedc: bump pkgrel 2024-06-02 23:09:21 +00:00
0b85dd2b35 backports/freetube: bump pkgrel 2024-06-02 23:07:34 +00:00
22a9e782c2
backports/freecad: disable due to missing py3-pyside2 depend 2024-06-02 19:05:52 -04:00
8447cddacb backports/php81-pecl-xmlrpc: dropped from aports 2024-06-02 22:57:33 +00:00
04adb3958c user/php81-pecl-inotify: drop 2024-06-02 22:57:33 +00:00
ad6af41168 unmaintained/php82-pecl-inotify: move from user 2024-06-02 22:57:33 +00:00
6c21bf267a user/perl-net-domain-tld: drop due to in community 2024-06-02 22:57:33 +00:00
106ef2e7c0 user/perl-math-random-secure: drop due to in community 2024-06-02 22:57:33 +00:00
c2788b3527 user/perl-math-random-isaac: drop due to in community 2024-06-02 22:57:33 +00:00
7fe91bbe55 user/perl-crypt-random-source: drop due to in community 2024-06-02 22:57:33 +00:00
123f23ae47 unmaintained/airsonic: move from user 2024-06-02 22:57:33 +00:00
bace283c40 user/pdf4qt: drop due to in community 2024-06-02 22:57:33 +00:00
027acc5f24
backports/py3-microdata: move from user 2024-06-02 18:47:35 -04:00
d180f3c84e
backports/php82-pecl-xmlrpc: dropped from aports 2024-06-02 18:43:56 -04:00
5fb9235a6f
backports/py3-webdavclient3: drop due to in community 2024-06-02 18:42:39 -04:00
293424b1fc
backports/py3-validators: drop due to in community 2024-06-02 18:42:38 -04:00
dd14ec4214
backports/py3-sphinxcontrib-autoprogram: drop due to in community 2024-06-02 18:42:36 -04:00
f8f3c3f623
backports/shiboken2: dropped from aports 2024-06-02 18:42:31 -04:00
b82a63b4f3
backports/py3-pyside2: dropped from aports 2024-06-02 18:41:33 -04:00
ccf45ced96
backports/py3-gitlab: drop due to in community 2024-06-02 18:41:23 -04:00
fd52fe031b
backports/py3-flask-principal: drop due to in community 2024-06-02 18:41:14 -04:00
2054dc7f6c
backports/py3-django-auth-ldap: drop due to in community 2024-06-02 18:40:54 -04:00
2c693a0735
backports/py3-codespell: drop due to in community 2024-06-02 18:40:39 -04:00
aa5271111c
backports/py3-cbor2: drop due to in community 2024-06-02 18:40:25 -04:00
ecb91c7a17 user/authentik: upgrade to 2024.4.2 2024-05-14 20:48:43 +00:00
caf4fa9ccd user/freescout: upgrade to 1.8.139 2024-05-14 19:11:18 +00:00
da47967494 user/uptime-kuma: upgrade to 1.23.13 2024-05-01 15:03:56 +00:00
0c3e1a5643
user/authentik: upgrade to 2024.4.1 2024-04-30 21:59:01 -04:00
dd4806d73f user/zotero: upgrade to 7.0.0_beta76, add check 2024-04-28 01:59:25 +00:00
7a6e398a09
user/authentik: upgrade to 2024.4.0 2024-04-24 14:21:01 -04:00
b2496b6e09 user/py3-xmlsec: drop for in aports community 2024-04-22 17:05:05 +00:00
97356cba4f user/py3-python3-saml: drop for in aports community 2024-04-22 17:05:05 +00:00
5b0ae29dca user/uptime-kuma: upgrade to 1.23.12 2024-04-19 19:00:48 +00:00
708afd7f0e
user/zotero: rebuild with firefox 115.10.0 2024-04-18 17:03:46 -04:00
050ac7ca90 unmaintained/roxy-wi: move from user 2024-04-16 17:21:05 +00:00
b4c8cce0cf user/tandoor-recipes: rebuild for python3.12 2024-04-16 17:21:05 +00:00
a10a4d40b7 user/roxy-wi: rebuild for python3.12 2024-04-16 17:21:05 +00:00
4bb69fce05 user/rm-extractor: rebuild for python3.12 2024-04-16 17:21:05 +00:00
736ce39150 user/py3-xmlsec: rebuild for python3.12 2024-04-16 17:21:05 +00:00
3d459468bd user/py3-python3-saml: rebuild for python3.12 2024-04-16 17:21:05 +00:00
ddebcf35a4 user/py3-microdata: rebuild for python3.12 2024-04-16 17:21:05 +00:00
02aec4ffd3 user/paperless-ngx: rebuild for python3.12 2024-04-16 17:21:05 +00:00
ea5b5e2f60 user/mastodon: rebuild for python3.12 2024-04-16 17:21:05 +00:00
b7deeb738f user/kb: rebuild for python3.12 2024-04-16 17:21:05 +00:00
12511e2a64 user/jellysub: rebuild for python3.12 2024-04-16 17:21:05 +00:00
8cddad5d72 user/grpc: rebuild for python3.12 2024-04-16 17:21:05 +00:00
36ed3813a0 user/calibre-web: rebuild for python3.12 2024-04-16 17:21:05 +00:00
d0300ac8b3 user/authentik: rebuild for python3.12 2024-04-16 17:21:05 +00:00
ca8eea2b54
backports/py3-webdavclient3: bump 2024-04-16 12:23:01 -04:00
2a65046a45 backports/py3-webdavclient3: add aport 2024-04-16 15:29:27 +00:00
da35bc1720 backports/py3-django-auth-ldap: add aport 2024-04-16 15:29:27 +00:00
f3779d8d89 backports/py3-pytube: new aport 2024-04-16 14:37:31 +00:00
5e65c0abb9 backports/py3-validators: rebuild against python 3.12 2024-04-16 13:01:02 +00:00
11ac1c742c Revert "backports/py3-validators: drop for in community"
This reverts commit cd8c8dc55d.
2024-04-16 13:01:02 +00:00
8e13b2c442 backports/py3-flask-limiter: rebuild against python 3.12 2024-04-16 11:58:29 +00:00
5dddb230f9 backports/py3-pivy: disable to due broken py3-pyside2 2024-04-16 04:31:44 +00:00
b22efac80a backports/py3-pyside2: disabled due to segfault 2024-04-16 04:31:44 +00:00
9a92d96a50 backports/shiboken2: new aport 2024-04-16 04:31:44 +00:00
edf1e0a0c5 backports/py3-pyside2: new aport 2024-04-16 04:31:44 +00:00
b652dddfcf backports/py3-*: rebuild remain against python 3.12 2024-04-16 04:31:44 +00:00
93aaeb31b9 backports/freetube: upgrade to 0.20.0 2024-04-16 03:49:02 +00:00
4a0505901e backports/py3-sphinzcontrib-autoprogram: rebuild against python 3.12 2024-04-16 03:37:04 +00:00
c1991a2c08 backports/py3-gitlab: upgrade to 4.4.0 2024-04-16 03:37:04 +00:00
d6fee0eb4d backports/py3-rtree: rebuild against python 3.12 2024-04-16 03:34:40 +00:00
2510dce542 backports/py3-mapbox-earcut: rebuild against python 3.12 2024-04-16 03:34:40 +00:00
390a01796e backports/py3-svgpath: rebuild against python 3.12 2024-04-16 03:34:40 +00:00
5e58780bc1 backports/py3-trimesh: rebuild 2024-04-16 03:34:40 +00:00
512c400b00 backports/libmedc: rebuild 2024-04-16 03:15:59 +00:00
f742579610 backports/py3-django-debug-toolbar: upgrade to 4.3 2024-04-16 03:14:56 +00:00
07a38065e6 backports/py3-dateparser: upgrade to 1.2.0 2024-04-15 20:55:12 +00:00
c47a118804 backports/py3-flask-principal: rebuild 2024-04-15 20:54:48 +00:00
a30c134fd3 backports/py3-levenshtein: upgrade to 0.25.1 2024-04-15 20:54:42 +00:00
c2257cc7ce backports/py3-limits: upgrade to 3.10.1 2024-04-15 20:53:52 +00:00
7b533ea001 backports/py3-cbor2: upgrade to 5.6.1 2024-04-15 20:53:36 +00:00
ab18390138 backports/uranium: rebuild 2024-04-15 20:52:56 +00:00
fb93a24f33 user/zotero: upgrade to 7.0.0_beta74 2024-04-15 20:52:41 +00:00
69bc8b2ff1 backports/electron-tasje: upgrade to 0.7.1 2024-04-14 22:52:33 +00:00
21d4c1908e backports/openscad: drop for in community 2024-04-14 22:50:48 +00:00
715c1f545a backports/dex: rebuild for python 3.12 2024-04-14 22:48:18 +00:00
785e28ab75 backports/nb: upgrade to 7.12.1 2024-04-14 22:46:32 +00:00
08f8bbbd72 backports/libspnav: drop for in community 2024-04-14 22:44:58 +00:00
e587a87e3c backports/py3-pyinstrument: upgrade to 4.6.2 2024-04-14 22:44:26 +00:00
db8069a8d0 backports/thelounge: rebuild 2024-04-14 22:44:11 +00:00
1658218568 backports/perl-math-random-isaac-xs: rebuild 2024-04-14 22:41:32 +00:00
80b60ca012 backports/rapidfuzz: upgrade to 3.0.0 2024-04-14 22:37:36 +00:00
ecb929e891 backports/signal-desktop: upgrade to 7.4.0 2024-04-14 21:38:56 +00:00
92287e391b backports/perl-module-find: drop for in community 2024-04-14 21:32:10 +00:00
a514444306 backports/uvicorn: drop for in community 2024-04-14 21:32:10 +00:00
6681d816a8 backports/py3-w3lib: drop for in community 2024-04-14 21:32:10 +00:00
cd8c8dc55d backports/py3-validators: drop for in community 2024-04-14 21:32:10 +00:00
c280d170ee backports/py3-httptools: drop for in community 2024-04-14 21:32:10 +00:00
33f1b837de backports/py3-a2wsgi: drop for in community 2024-04-14 21:32:10 +00:00
a9b84f6a7d user/py3-django-autocomplete-light: drop for in aports 2024-04-14 21:32:10 +00:00
1d098bcd92 user/py3-pyrdfa3: drop for in aports 2024-04-14 21:32:10 +00:00
faccdf4ebf user/xmlsec: drop for in aports 2024-04-14 21:32:10 +00:00
9ed9fda2ac user/py3-webdavclient3: drop for in aports 2024-04-14 21:32:10 +00:00
9969287e44 user/py3-recipe-scrapers: drop for in aports 2024-04-14 21:32:10 +00:00
853e422ff0 user/py3-pytube: drop for in aports 2024-04-14 21:32:10 +00:00
5a992237d8 user/py3-pytest-factoryboy: drop for in aports 2024-04-14 21:32:10 +00:00
fbde65756d user/py3-pyppeteer: drop for in aports 2024-04-14 21:32:10 +00:00
4219b51190 user/py3-onelogin: drop for in aports 2024-04-14 21:32:10 +00:00
caa4af5318 user/py3-jstyleson: drop for in aports 2024-04-14 21:32:10 +00:00
feaf0d342b user/py3-html-text: drop for in aports 2024-04-14 21:32:10 +00:00
a2bd40cb20 user/py3-extruct: drop for in aports 2024-04-14 21:32:10 +00:00
09dcf012bf user/py3-drf-writable-nested: drop for in aports 2024-04-14 21:32:10 +00:00
39a4d6ed54 user/py3-django-webpack-loader: drop for in aports 2024-04-14 21:32:10 +00:00
d5f8abeccd user/py3-django-scopes: drop for in aports 2024-04-14 21:32:10 +00:00
b15e3982d8 user/py3-django-js-reverse: drop for in aports 2024-04-14 21:32:10 +00:00
ff9981e6ee user/py3-django-hcaptcha: drop for in aports 2024-04-14 21:32:10 +00:00
c2992a5cc9 user/py3-django-cleanup: drop for in aports 2024-04-14 21:32:10 +00:00
1a7f5ae1c7 user/py3-django-auth-ldap: drop for in aports 2024-04-14 21:32:10 +00:00
c65f433040 user/py3-django-annoying: drop for in aports 2024-04-14 21:32:10 +00:00
a8fdc84a19 user/py3-crispy-bootstrap4: drop for in aports 2024-04-14 21:32:10 +00:00
4f3a3fca13
user/freescout: upgrade to 1.8.135 2024-04-13 10:37:06 -04:00
d80cb99ecc
user/freescout: update post-install update message 2024-04-12 22:56:54 -04:00
a6f42e0955 user/freescout: upgrade to 1.8.134 2024-04-13 02:41:48 +00:00
75582f0fd6
user/zotero: upgrade to 7.0.0_beta68 2024-04-02 14:31:36 -04:00
e7db0340bf
user/gitaly: upgrade to 16.9.3 2024-04-01 15:53:06 -04:00
7b3186e647
user/gitlab-pages: upgrade to 16.9.3 2024-04-01 15:52:38 -04:00
fdb5ab17a1
user/gitlab-foss: upgrade to 16.9.3 2024-04-01 15:52:21 -04:00
2a4c907f83 user/gitlab-shell: upgrade to 14.34.0 2024-03-10 14:36:22 +00:00
2a825ce109 user/gitaly: upgrade to 16.9.2 2024-03-10 14:36:22 +00:00
e8400cd165 user/gitlab-pages: upgrade to 16.9.2 2024-03-10 14:36:22 +00:00
6c24e38caf user/gitlab-foss: upgrade to 16.9.2 2024-03-10 14:36:22 +00:00
e0b2920fa4 user/freescout: upgrade to 1.8.126 2024-03-09 05:24:22 +00:00
5e1cfaa832
user/zotero: upgrade to 7.0.0_beta65 2024-03-06 19:24:18 -05:00
d5d85a538c user/zotero: enable on aarch64 2024-03-06 21:15:53 +00:00
bc0fb8396d user/authentik: upgrade to 2024.2.2 2024-03-06 03:52:37 +00:00
cb1f8cf70c user/uptime-kuma: new aport 2024-03-04 00:04:00 +00:00
a17fecd2f2 backports/thelounge: allow self https for connect-src 2024-02-27 23:07:53 +00:00
d871b6ca9d user/gitaly: upgrade to 16.9.0 2024-02-24 17:56:43 +00:00
07f02d7d4f user/gitlab-pages: upgrade to 16.9.0 2024-02-24 17:56:43 +00:00
b02725241b user/gitlab-foss: upgrade to 16.9.0 2024-02-24 17:56:43 +00:00
adfd7d5461
user/freescout: upgrade to 1.8.122 2024-02-23 14:47:08 -05:00
417cf900e1 user/mastodon: upgrade to 4.2.8 2024-02-23 19:21:25 +00:00
28d52cbcc7
user/listmonk: new aport 2024-02-23 01:20:52 -05:00
1279f4009c user/zotero: upgrade to 7.0.0_beta60 2024-02-23 02:59:14 +00:00
b9529a8d2c
user/freescout: fix post-upgrade 2024-02-22 20:32:58 -05:00
f5236f6a9a
user/freescout: refer to client as member 2024-02-22 20:20:25 -05:00
de465d44b6
user/freescout: add missing upgrade step 2024-02-22 15:34:03 -05:00
3e4b39966f user/freescout: upgrade to 1.8.120 2024-02-22 20:20:38 +00:00
718b7a441f user/mastodon: upgrade to 4.2.7 2024-02-22 18:45:52 +00:00
f3c2249274 user/authentik: upgrade to 2024.2.1 2024-02-22 18:45:36 +00:00
c9b849a66b user/gitlab-pages: upgrade to 16.8.3 2024-02-22 18:45:01 +00:00
bcfab7eccb user/gitlab-foss: upgrade to 16.8.3 2024-02-22 18:45:01 +00:00
a5feaf6806 user/gitaly: upgrade to 16.8.3 2024-02-22 18:45:01 +00:00
fa933b283d
user/scanservjs: upgrade to 3.0.3 2024-02-06 18:43:28 -05:00
150a546396 backports/signal-desktop: upgrade to 6.46.0 2024-02-06 15:21:08 +00:00
6bfd1707ab user/pdf4qt: new aport 2024-02-04 15:46:34 +00:00
e1c9e01b27
user/zotero: patch cleanup 2024-02-03 16:03:16 -05:00
800e0ff1b4
user/zotero: upgrade to 7.0.0_beta57
l
2024-02-03 15:02:01 -05:00
b9e95a4e58 user/zotero: merge firefox-esr and fix build 2024-02-03 19:48:08 +00:00
ca2f264713 user/zotero: upgrade to 7.0.0_git20240131 2024-02-03 19:48:08 +00:00
72e1de3224
backports/thelounge: new aport 2024-02-03 12:48:55 -05:00
7b760382bb
user/tandoor-recipes: upgrade to 1.5.12 2024-02-03 01:25:02 -05:00
03ecd212a1
user/mastodon: upgrade to 4.2.5 2024-02-01 11:21:11 -05:00
df1ff99b07
user/icedtea-web: fix desktop application 2024-01-31 10:49:24 -05:00
be4b23bd94 user/authentik: upgrade to 2023.10.7 2024-01-31 06:11:59 +00:00
21d5b39207 user/icedtea-web: new aport 2024-01-31 05:42:38 +00:00
9e00cce2ea
user/tandoor-recipes: upgrade to 1.5.11 2024-01-28 00:24:08 -05:00
cc1af00d34
user/dotnet8-sdk: now on aports 2024-01-28 00:20:29 -05:00
bdccdfdba2
user/dotnet8-runtime: now on aports 2024-01-28 00:20:16 -05:00
201ef47734
user/dotnet8-stage0: now on aports 2024-01-28 00:19:58 -05:00
5066be5df6 user/gitaly: upgrade to 16.8.1 2024-01-26 05:46:54 +00:00
a883140e49 user/gitlab-pages: upgrade to 16.8.1 2024-01-26 05:46:54 +00:00
6b5390fad8 user/gitlab-foss: upgrade to 16.8.1 2024-01-26 05:46:54 +00:00
2671b47b45
user/freescout: upgrade 1.8.119 2024-01-25 10:20:26 -05:00
c8c12df6b1 user/mastodon: upgrade to 4.2.4 2024-01-24 14:59:32 +00:00
2fa6e20f99 user/mastodon: add py3-elasticsearch depend 2024-01-24 14:59:32 +00:00
cab3eb0cae user/mastodon: use ruby 3.2 2024-01-24 14:59:32 +00:00
35a22c241e user/freescout: upgrade to 1.8.118 2024-01-22 04:33:29 +00:00
705157b616
user/gitlab-foss: fix glfm_markdown libary location 2024-01-21 19:58:16 -05:00
ffa0b84df5 user/gitaly: upgrade to 16.8.0 2024-01-21 23:48:26 +00:00
1363ab7df2 user/gitlab-shell: upgrade to 14.33.0 2024-01-21 23:48:26 +00:00
2fb5da77f9 user/gitlab-pages: upgrade to 16.8.0 2024-01-21 23:48:26 +00:00
331a8e92b3 user/gitlab-foss: upgrade to 16.8.0 2024-01-21 23:48:26 +00:00
b107c065f3 user/ruby3.2-test-unit: new aport 2024-01-21 23:48:26 +00:00
325c159bf0 user/ruby3.2-webrick: new aport 2024-01-21 23:48:26 +00:00
304a57c1c9 user/ruby3.2-rugged: new aport 2024-01-21 23:48:26 +00:00
36da7aa759 user/ruby3.2-power_assert: new aport 2024-01-21 23:48:26 +00:00
89806ba46c user/ruby3.0-webrick: remove for ruby3.2 2024-01-21 23:48:26 +00:00
3441d234c0 user/ruby3.0-test-unit: remove for ruby3.2 2024-01-21 23:48:26 +00:00
313ac34de8 user/ruby3.0-rugged: remove for ruby3.2 2024-01-21 23:48:26 +00:00
0cc62b6d4f user/ruby3.0-power_assert: remove for ruby3.2 2024-01-21 23:48:26 +00:00
36b9607f89 user/ruby3.0-rake: remove for ruby3.2 2024-01-21 23:48:26 +00:00
017303dac4 user/ruby3.0-bundler: remove for ruby3.2 2024-01-21 23:48:26 +00:00
87c6a5eca6 user/ruby3.0-minitest: remove for ruby3.2 2024-01-21 23:48:26 +00:00
e0b8a94f39 user/ruby3.0: remove for ruby3.2 2024-01-21 23:48:26 +00:00
a2b8b68641
backports/py3-twilio: remove due to community 2024-01-21 14:31:53 -05:00
95c8508a8e
backports/py3-python-jwt: remove due to community 2024-01-21 14:31:38 -05:00
018226775d user/py3-xmlsec: add xmlsec 1.3.3 support 2024-01-20 04:40:07 +00:00
c271508b7f
gitlab-ci: do not use testing repos 2024-01-19 09:50:52 -05:00
3f67a56a91
backports/py3-utils: new aport 2024-01-19 09:50:51 -05:00
ed759d3239
backports/py3-trimesh: new aport 2024-01-19 09:50:46 -05:00
993c865a5c
backports/py3-svgpath: new aport 2024-01-19 00:00:30 -05:00
9067438ed8
backports/py3-rtree: new aport 2024-01-18 23:48:48 -05:00
c00ab9d900
backports/py3-pyinstrument: new aport 2024-01-18 23:48:37 -05:00
c091c20672
backports/py3-numpy-stl: new aport 2024-01-18 23:48:28 -05:00
de4d9f1d38
backports/py3-mapbox-earcut: new aport 2024-01-18 23:48:15 -05:00
22368d6492
backports/nlopt: new aport 2024-01-18 23:48:03 -05:00
5d1ddda555
backports/libspatialindex: new aport 2024-01-18 23:47:54 -05:00
a409dd8147
backports/libnest2d: new aport 2024-01-18 23:47:43 -05:00
950993581c backports/py3-pynest2d: new aport 2024-01-19 03:11:34 +00:00
5b4e321820 backports/py3-arcus: new aport 2024-01-19 03:11:34 +00:00
fc88ae4f0c backports/fdm-materials: new aport 2024-01-19 03:11:34 +00:00
5a8ea97ecd backports/uranium: new aport 2024-01-19 03:11:34 +00:00
1a792f23c9 backports/cura: new aports 2024-01-19 03:11:34 +00:00
e811398af9 user/rmfakecloud: upgrade to 0.0.17 2024-01-15 22:57:50 +00:00
a23b312f46 backports/nb: new aport 2024-01-13 21:30:29 +00:00
5b65ef5b0d
user/kb: fix depends and colored patch 2024-01-12 17:00:40 -05:00
645eeea482
backports/py3-colored: new aport 2024-01-12 16:53:26 -05:00
7916377e65 [86;1R[86;1R[86;1R[86;1R[86;1gommits.
user/kb: new aport
2024-01-12 21:51:36 +00:00
9a7604eaad user/gitlab-foss: upgrade to 16.6.4 2024-01-12 15:32:06 +00:00
21018c4710 user/gitlab-pages: upgrade to 16.6.4 2024-01-12 15:32:06 +00:00
ed333c4461 user/gitaly: upgrade to 16.6.4 2024-01-12 15:32:06 +00:00
ebcbe1fec9 user/grpc: use ruby 3.2 2024-01-12 05:00:53 +00:00
49e4024cc6 user/grpc: use ruby 3.2 2024-01-12 05:00:53 +00:00
c91a725f96 user/protobuf: upgrade to ruby3.2 2024-01-12 05:00:53 +00:00
8b76c98089 user/loomio: new aport 2024-01-12 05:00:53 +00:00
02af6d8194 user/ruby3.2-rake: new aport 2024-01-12 05:00:53 +00:00
365e4301ae user/ruby3.2-bundler: new aport 2024-01-12 05:00:53 +00:00
055ea7572d user/ruby3.2-minitest: new aport 2024-01-12 05:00:53 +00:00
f94cd98eff user/ruby3.2: new aport 2024-01-12 05:00:53 +00:00
27fd9ab80c user/dotnet8-sdk: upgrade to 8.0.101 2024-01-12 02:17:05 +00:00
2ef38b56b4 user/dotnet8-runtime: upgrade to 8.0.1 2024-01-12 02:17:05 +00:00
2531809043 user/xochitl-bin: rebuild 2024-01-11 21:26:51 +00:00
4dc26a2d21 user/xf86-video-fbdev-rm: rebuild 2024-01-11 21:26:51 +00:00
8fc6bcc2e0 user/u-boot-rm: rebuild 2024-01-11 21:26:51 +00:00
2c2d9f59da user/rm-utils: rebuild 2024-01-11 21:26:51 +00:00
236ea2406f user/rm-extractor: rebuild 2024-01-11 21:26:51 +00:00
7e4c556b55 user/linux-rm-headers: upgrade to v1.3.4 of upstream 2024-01-11 21:26:51 +00:00
323137ca9e user/linux-rm: upgrade to v1.3.4 of upstream and fix build 2024-01-11 21:26:51 +00:00
3ef36a5960
user/authentik: upgrade to 2023.10.6 2024-01-09 13:20:51 -05:00
b463bbf277 user/peertube: new aport 2024-01-06 06:02:27 +00:00
f9f62cc125
user/freescout: upgrade to 1.8.116 2024-01-06 00:28:00 -05:00
c62e9cc1ce user/freescout: moved writable directories to /var/lib 2024-01-06 05:27:17 +00:00
7ed6778289 user/py3-python3-saml: new aport 2024-01-05 23:59:26 +00:00
8b019782cd user/py3-xmlsec: use latest xmlsec 2024-01-05 23:59:26 +00:00
e13e8b8638
user/py3-onelogin: new aport 2024-01-05 18:41:29 -05:00
37cc16bc08 user/freescout: new aport 2024-01-05 06:31:50 +00:00
bd961262a5 backports/py3-validators: pin to 0.20.0 for tandoor 2024-01-05 03:33:59 +00:00
ae18f93da1 user/tandoor-recipes: new aport 2024-01-05 03:33:59 +00:00
261bedbaac user/py3-webdavclient3: new aport 2024-01-05 03:33:59 +00:00
0ca7adc3a8 user/py3-recipe-scrapers: new aport 2024-01-05 03:33:59 +00:00
7083e622eb user/py3-pytest-factoryboy: new aport 2024-01-05 03:33:59 +00:00
7223c02683 user/py3-pytube: new aport 2024-01-05 03:33:59 +00:00
61b2e414b4 user/py3-pyrdfa3: new aport 2024-01-05 03:33:59 +00:00
8f3a9b0d01 user/py3-pyppeteer: new aport 2024-01-05 03:33:59 +00:00
f8391b17c1 user/py3-microdata: new aport 2024-01-05 03:33:59 +00:00
31626d57dd user/py3-jstyleson: new aport 2024-01-05 03:33:59 +00:00
3b9d7bd5ba user/py3-html-text: new aport 2024-01-05 03:33:59 +00:00
1a271f6c8e user/py3-extruct: new aport 2024-01-05 03:33:59 +00:00
2ea2deb1ca user/py3-drf-writable-nested: new aport 2024-01-05 03:33:59 +00:00
b11a2325ae user/py3-django-webpack-loader: new aport 2024-01-05 03:33:59 +00:00
5bc511682a user/py3-django-scopes: new aport 2024-01-05 03:33:59 +00:00
c4098d2bdb user/py3-django-js-reverse: new aport 2024-01-05 03:33:59 +00:00
32b826a565 user/py3-django-hcaptcha: new aport 2024-01-05 03:33:59 +00:00
0c66a3365e user/py3-django-cleanup: new aport 2024-01-05 03:33:59 +00:00
b7776f33fa user/py3-django-autocomplete-light: new aport 2024-01-05 03:33:59 +00:00
2d5403cea1 user/py3-django-auth-ldap: new aport 2024-01-05 03:33:59 +00:00
74c7c8d878 user/py3-django-annoying: new aport 2024-01-05 03:33:59 +00:00
8247c09ac0 user/py3-crispy-bootstrap4: new aport 2024-01-05 03:33:59 +00:00
b460c9feaa backports/py3-w3lib: new aport 2024-01-05 03:33:59 +00:00
655a6a0d07 backports/py3-django-debug-toolbar: new aport 2024-01-05 03:33:59 +00:00
3e15f69ad2 gitlab-ci: always pickup artifacts 2024-01-05 03:33:59 +00:00
3b9c28c813 user/authentik: upgrade to 2023.10.5 2023-12-29 17:41:09 +00:00
70e5057247 Update README.md 2023-12-08 03:40:47 +00:00
c5c0c156a0 backports/*: clean 2023-12-08 02:44:38 +00:00
10aaf62e26 user/mastodon: upgrade to 4.2.3 2023-12-06 00:15:33 +00:00
02081f71b7 user/gitlab-foss: upgrade to 16.6.1 2023-12-05 23:36:11 +00:00
f2770aa9ac
user/perl-text-markdown: in community 2023-12-05 14:25:22 -05:00
b97502d516
user/perl-rpc-xml: in community 2023-12-05 14:25:04 -05:00
d79cbda483
user/perl-locale-gettext: in community 2023-12-05 14:24:31 -05:00
eb541348de
user/perl-email-valid: in community 2023-12-05 14:24:10 -05:00
daf247f0aa
user/perl-cgi-formbuilder: in community 2023-12-05 14:23:55 -05:00
0f2b0e8155
user/py3-pytest-django: in community 2023-12-05 14:19:48 -05:00
67cebc80bd
*/*: clean-up community and testing 2023-12-05 14:18:53 -05:00
0a669827a1 backports/signal-desktop: upgrade to 6.40.0 2023-12-01 19:51:16 +00:00
515ce5c57b backports/electron: upgrade to 27.1.2 2023-12-01 17:35:38 +00:00
fd0f429eee
community/git-annex: upgrade to 10.20231129 2023-11-29 15:12:37 -05:00
46d0bffbd9
user/gitlab-foss: use sys-filesystem version 1.3.2 2023-11-29 13:22:37 -05:00
9e6beac6eb user/mastodon: upgrade to 4.2.1 2023-11-29 02:07:57 +00:00
67f4498faa user/gitlab-pages: upgrade to 16.6.0 2023-11-29 01:54:19 +00:00
3f1ec8a6cc user/gitlab-foss: upgrade to 16.6.0 2023-11-29 01:54:19 +00:00
6817cec4b8 user/gitlab-shell: upgrade to 14.30.1 2023-11-29 01:54:19 +00:00
f4bf9f53a1 user/gitaly: upgrade to 16.6.0 2023-11-29 01:54:19 +00:00
92ad6ea5a6 user/grpc: upgrade to 1.58.0 2023-11-29 01:54:19 +00:00
3befac4b9a user/protobuf: new aport 2023-11-29 01:54:19 +00:00
a04c921a0b testing/ikiwki: move from user 2023-11-29 01:23:54 +00:00
70fa91ab14 user/rmfakecloud: upgrade to 0.0.16 2023-11-29 01:22:34 +00:00
ae23e477e8 user/rstudio: enable 2023-11-29 01:19:53 +00:00
c5069e73b7
unmaintained/gconf: move from user 2023-11-28 20:06:49 -05:00
2ab914d26f
unmaintained/craftbukkit-plugin*: move from user 2023-11-28 20:05:05 -05:00
a008c21e12
unmaintained/grumble: move from user 2023-11-28 20:04:44 -05:00
9d4a64117f
unmaintained/mumble-web: move from user 2023-11-28 20:04:31 -05:00
9a0cf88fba
unmaintained/papermc: move from user 2023-11-28 20:04:17 -05:00
209fdf2282
unmaintained/freshrss*: move from user 2023-11-28 20:02:32 -05:00
737709d1f5 user/dotnet8-sdk: upgrade to 8.0.100 2023-11-28 00:53:11 +00:00
5ab3dafdd1 user/dotnet8-runtime: upgrade to 8.0.0 2023-11-28 00:53:11 +00:00
3fb3ec0d41 user/dotnet8-stage0: upgrade to 8.0.100 2023-11-28 00:53:11 +00:00
776b567f1f user/paperless-ngx: upgrade to 1.17.4 2023-11-27 19:48:18 +00:00
c5eb15765f user/calibre-web: upgrade to 0.6.21 2023-11-27 19:37:25 +00:00
d5dee60311 user/mastodon: enable 2023-11-27 19:32:23 +00:00
cc682c3917 backports/openssl1.1-compat: new aport 2023-11-27 19:03:21 +00:00
82ce5cc1a0
user/ruby3.0*: re-enable 2023-11-27 13:27:46 -05:00
2b18c58e1f user/authentik: upgrade to 2023.10.4 2023-11-27 18:16:40 +00:00
dbad9842c4
user/caprine: enable build 2023-11-27 11:43:12 -05:00
697e4764ef
user/caprine: upgrade to 2.59.1 2023-11-27 11:29:31 -05:00
fab01a1aa4
backports/py3-limits: new aport 2023-11-27 09:22:10 -05:00
d8fa3f9703
user/mastodon: disable due to ruby3.0 2023-11-27 09:21:42 -05:00
111e6a4a18 testing/py3-onelogin: new aport 2023-11-26 20:00:16 +00:00
1036e597d1 testing/py3-aenum: new aport 2023-11-26 20:00:16 +00:00
2e0750f430 testing/py3-webauthn: upgrade to 1.11.1 2023-11-26 20:00:16 +00:00
b38306c3db testing/py3-wand: upgrade to 0.6.13 2023-11-26 20:00:16 +00:00
cb29f2e9ff testing/py3-twilio: upgrade to 8.10.2 2023-11-26 20:00:16 +00:00
c739d0f2bb testing/py3-slack-sdk: upgrade to 3.26.0 2023-11-26 20:00:16 +00:00
5d69177b4c testing/py3-ruamel-yaml: upgrade to 0.18.5 2023-11-26 20:00:16 +00:00
5aabe9c6ea testing/py3-rpy2: upgrade to 3.5.14 2023-11-26 20:00:16 +00:00
755145c015 testing/py3-pytelegrambotapi: upgrade to 4.14.0 2023-11-26 20:00:16 +00:00
59e005cc44 testing/py3-pydantic-scim: upgrade to 0.0.8 2023-11-26 20:00:16 +00:00
7a3a22c557 testing/py3-pyaml: upgrade to 23.9.7 2023-11-26 20:00:16 +00:00
97efd636f2 testing/py3-portalocker: upgrade to 2.8.2 2023-11-26 20:00:16 +00:00
3256839967 testing/py3-ipware: upgrade to 2.0.0 2023-11-26 20:00:16 +00:00
67f22c4c88 testing/py3-imap-tools: upgrade to 1.5.0 2023-11-26 20:00:16 +00:00
9784e24a25 testing/py3-duo-client: upgrade to 5.2.0 2023-11-26 20:00:16 +00:00
c173c056e3 testing/py3-django-redis: upgrade to 5.4.0 2023-11-26 20:00:16 +00:00
ce1c4c7cc7 testing/py3-django-q: upgrade to 1.6.1 2023-11-26 20:00:16 +00:00
45c596483c testing/py3-django-otp: upgrade to 1.3.0 2023-11-26 20:00:16 +00:00
8885763783 testing/py3-django-environ: upgrade to 0.11.2 2023-11-26 20:00:16 +00:00
4a4b538172 testing/py3-django-drf-spectacular: upgrade to 0.26.5 2023-11-26 20:00:16 +00:00
f51291f016 testing/py3-django-allauth: upgrade to 0.58.2 2023-11-26 20:00:16 +00:00
c4b6764d44
testing/freetube: upgrade to 0.19.1 2023-11-26 11:27:17 -05:00
035d223cad backports/electron-tasje: upgrade to 0.7.0 2023-11-26 15:02:46 +00:00
fa03078459 backports/electron: upgrade to 27.1.0 2023-11-26 15:02:46 +00:00
efade45a0e community/dotnet6-runtime: sync with aports 2023-11-26 15:01:01 +00:00
6756e08c16 community/dotnet6-build: sync with aports 2023-11-26 15:01:01 +00:00
46e7fabb59 community/dotnet6-stage0: sync with aports 2023-11-26 15:01:01 +00:00
ef7698e757 community/dotnet7-runtime: sync with aports 2023-11-26 14:57:50 +00:00
37645465bc community/dotnet7-build: sync with aports 2023-11-26 14:57:50 +00:00
8b189a521f community/dotnet7-stage0: sync with aports 2023-11-26 14:57:50 +00:00
30f6e014bd community/yadm: sync with aports 2023-11-26 14:57:00 +00:00
c8e0701739 community/git-annex: sync with aports 2023-11-26 14:57:00 +00:00
4f32bea3af testing/py3-twilio: sync with aports 2023-11-26 14:57:00 +00:00
c31c062006 testing/py3-swagger-spec-validator: sync with aports 2023-11-26 14:57:00 +00:00
7a42546ba4 testing/py3-ruamel-yaml-clib: sync with aports 2023-11-26 14:57:00 +00:00
6ffb1f3d85 testing/py3-ruamel-raml: sync with aports 2023-11-26 14:57:00 +00:00
9a4240789e testing/py3-rpy2: sync with aports 2023-11-26 14:57:00 +00:00
66318e421b testing/py3-goodreads: sync with aports 2023-11-26 14:57:00 +00:00
2090b34f43 testing/py3-flower: sync with aports 2023-11-26 14:57:00 +00:00
0e800ce8c2 testing/py3-django-q: sync with aports 2023-11-26 14:57:00 +00:00
038744fa84 testing/py3-django-extensions: sync with testing 2023-11-26 14:57:00 +00:00
cabfc92ad5 testing/py3-click-didyoumean: sync with testing 2023-11-26 14:57:00 +00:00
32c81d3bc4 testing/pearl-file-share: sync with testing 2023-11-26 14:57:00 +00:00
a8220abdff testing/freetube: sync with testing 2023-11-26 14:57:00 +00:00
86bdea4400 backports/py3-structlog: move from testing 2023-11-26 14:57:00 +00:00
264c04c14d
community/powershell: sync with aports 2023-11-25 11:03:12 -05:00
662e718ad6
gitlab-ci: enable aarch64 builders 2023-11-24 16:46:24 -05:00
c1c98ed24c
backports/sqlcipher: now in community 2023-11-24 16:46:23 -05:00
b4784d9a53
unmaintained/slade: move from backports 2023-11-24 16:46:22 -05:00
f46361d11d
backports/signal-desktop: upgrade to 6.39.1 2023-11-24 16:46:20 -05:00
48301f5d48
backports/rapidfuzz: upgrade to 2.2.3 2023-11-24 16:46:19 -05:00
2d03b12c23
backports/py3-wxpython: now in community 2023-11-24 16:46:18 -05:00
2d96035a08
backports/py3-whitenoise: now in community 2023-11-24 16:46:16 -05:00
2603fcf7d3
backports/py3-vine: update build 2023-11-24 16:46:15 -05:00
d1cd058cf3
backports/py3-sphinxcontrib-autoprogram: update build 2023-11-24 16:46:13 -05:00
c558ea4340
backports/py3-rapidjson: upgrade to 1.12 2023-11-24 16:46:12 -05:00
3a5b050493
backports/py3-psycopg: now in community 2023-11-24 16:46:11 -05:00
de64255e4b
backports/py3-pathvalidate: upgrade to 3.2.0 2023-11-24 16:46:09 -05:00
76d0574413
backports/py3-fuzzywuzzy: enable 2023-11-24 16:46:08 -05:00
11dc3d9344
backports/py3-levenshteine: upgrade to 0.23.0 2023-11-24 16:46:06 -05:00
9ebe8e3290
backports/jwcrypto: upgrade to 1.5.0 2023-11-24 16:46:05 -05:00
795de4bf97
backports/py3-httptools: upgrade to 0.6.1 2023-11-24 16:46:03 -05:00
c360ae7a79
backports/py3-hatch-fancy-pypi-readme: now in community 2023-11-24 16:46:02 -05:00
6a43138f45
backports/py3-gitlab: upgrade to 4.1.1 2023-11-24 16:46:01 -05:00
1e28879f05
backports/py3-flask-limiter: upgrade to 3.5.0 2023-11-24 16:45:59 -05:00
0bd7faca61
backports/py3-docker-py: now in community 2023-11-24 16:45:58 -05:00
92f4a996e3
backports/py3-deepmerge: now in community 2023-11-24 16:45:57 -05:00
b084150b9f
backports/py3-codespell: upgrade to 2.2.6 2023-11-24 16:45:55 -05:00
18e4c9bf17
testing/py3-click-repl: move from backports 2023-11-24 16:45:54 -05:00
c30a94f509
testing/py3-click-didyoumean: move from backports 2023-11-24 16:45:52 -05:00
6b0e1e15af
backports/py3-click-repl: upgrade to 0.3.0 2023-11-24 16:45:51 -05:00
8027ff421a
backports/py3-cbor2: upgrade to 5.5.0 2023-11-24 16:45:50 -05:00
be83876650
backports/py3-a2wsgi: upgrade to 1.8.0 2023-11-24 16:45:48 -05:00
fb21e2a4b9
php-pecl-mcrypt: now in community 2023-11-24 16:45:47 -05:00
3f7ff5fc31
php-pecl-inotify: move to user 2023-11-24 16:45:46 -05:00
8e83978816
backports/perl-file-homedir: now in community 2023-11-24 16:45:45 -05:00
3e5f897722
backports/opencsg: now in community 2023-11-24 16:45:43 -05:00
df571ac166
backports/opencascade: now in community 2023-11-24 16:45:42 -05:00
dd9534a9e6
backports/ngspice: now in community 2023-11-24 16:45:41 -05:00
457b2a729c
backports/lib3mf: now in community 2023-11-24 16:45:40 -05:00
f4fbdd254a
backports/kicad: now in community 2023-11-24 16:45:38 -05:00
49fa1d1e24
backports/front-parisienne: now in community 2023-11-24 16:45:37 -05:00
68320b90ed
backports/git: version now in main 2023-11-24 16:45:35 -05:00
ba0caca883
backports/crc32c: now in community 2023-11-24 12:54:35 -05:00
9bb5da1453
backports/catch2-3: now in community 2023-11-24 12:48:41 -05:00
36cbf88905
backports/cargo-auditable: now in main 2023-11-24 12:48:10 -05:00
5e719a2e2c
*/*: aarch64 initial port 2023-11-24 12:43:25 -05:00
d135da4c84
user/mastodon: upgrade to 4.1.8 2023-09-19 11:59:19 -04:00
968c3d2ef8
user/dotnet8-sdk: swap sdk and runtime + portable build 2023-09-08 15:12:20 -04:00
32a55f61be
user/dotnet8-runtime: swap sdk and runtime + portable build 2023-09-08 15:12:06 -04:00
aa71d24702
user/dotnet8-stage0: support sdk as stage1 2023-09-08 15:10:56 -04:00
0db9ff5c2b backports/electron: upgrade to 26.1.0 2023-09-01 19:22:34 +00:00
199a0231e9 user/authentik: add missing depend 2023-09-01 18:02:37 +00:00
69f88e8918 backports/py3-docker-py: new aport 2023-09-01 18:02:37 +00:00
4b242674dd backports/py3-docker: drop 2023-09-01 18:02:37 +00:00
124d774704 user/authentik: use py3-docker-py instead of py3-docker 2023-09-01 18:02:37 +00:00
c32e9a73c5 backports/kicad: upgrade to 7.0.7 2023-09-01 17:31:32 +00:00
a27ba4ad42 backports/py3-docker: new aport 2023-09-01 17:24:50 +00:00
8d6e473d97
user/authentik: upgrade to 2023.8.2 2023-09-01 12:39:29 -04:00
972381ae44
backports/freecad: upgrade to 0.20.1 2023-08-31 21:19:51 -04:00
21ce420fb8 backports/freecad: enable build 2023-09-01 00:32:12 +00:00
bdea75ee96 backports/uvicorn: enable 2023-08-31 23:30:37 +00:00
8aff9751a5
backports/rapidfuzz: upgrade to 2.0.0 2023-08-31 13:38:59 -04:00
73216a21f1
unmaintained/slade: move from user 2023-08-31 13:03:36 -04:00
19ac1ce96a
unmaintained/phppgadmin: move from user 2023-08-31 13:03:17 -04:00
e2fb96e136
unmaintained/mattermost: move from user 2023-08-31 13:02:51 -04:00
966941476f
user/zotero: disable 2023-08-31 13:02:04 -04:00
d67dcd1811
user/ruby3.0-rugged: upgrade to 1.6.3 2023-08-31 13:01:46 -04:00
abc3b1a07a
user/rstudio-desktop: disable 2023-08-31 13:01:10 -04:00
1874c9762c
user/grpc: disable 2023-08-31 13:00:44 -04:00
dba85ceaef
user/gitlab-foss: disable 2023-08-31 13:00:36 -04:00
d50921e431
user/firefox-esr: disable 2023-08-31 13:00:26 -04:00
788f9b0aa4
testing/hsxkpasswd: sync with aports 2023-08-31 13:00:10 -04:00
d6337b4ceb
community/git-annex: upgrade for edge 2023-08-31 12:59:51 -04:00
dbca3a622d
backports/uvicorn: disable 2023-08-31 12:59:14 -04:00
770ed36f2f
backports/rapidfuzz: disable 2023-08-31 12:58:54 -04:00
f5384a4c3f
backports/py3-levenshtein: disable 2023-08-31 12:58:15 -04:00
ebe177e487
backports/freecad: disable 2023-08-31 12:57:59 -04:00
a310a1e6fd backports/py3-flask-limiter: checksum 2023-08-31 01:10:55 +00:00
47dee49bc3 testing/py3-portalocker: new aport 2023-08-31 01:10:55 +00:00
02e2509b39 testing/py3-docker: drop duplicate 2023-08-31 01:10:55 +00:00
6d7ac191e4 testing/py3-whoosh: move from user 2023-08-31 01:10:55 +00:00
2b5ea79474 testing/py3-webauthn: move from user 2023-08-31 01:10:55 +00:00
657f3d8521 testing/py3-wand: move from user 2023-08-31 01:10:55 +00:00
1499281eb9 testing/py3-urllib3-secure-extra: move from user 2023-08-31 01:10:55 +00:00
034a8b80aa testing/py3-ua-parser: move from user 2023-08-31 01:10:55 +00:00
ca7e37aef2 testing/py3-twilio: move from user 2023-08-31 01:10:55 +00:00
283f2505cf testing/py3-tika: move from user 2023-08-31 01:10:55 +00:00
0e8074ffce testing/py3-swagger-spec-validator: move from user 2023-08-31 01:10:55 +00:00
2602322a8c testing/py3-slack-sdk: move from user 2023-08-31 01:10:55 +00:00
9097c1d4da testing/py3-ruamel-yaml: move from user 2023-08-31 01:10:55 +00:00
b90a9f716c testing/py3-ruamel-yaml-clib: move from user 2023-08-31 01:10:55 +00:00
d98f9dae6a testing/py3-rpy2: move from user 2023-08-31 01:10:55 +00:00
26f670ddd6 testing/py3-rauth: move from user 2023-08-31 01:10:55 +00:00
b05c84fef1 testing/py3-pytz-deprecation-shim: move from user 2023-08-31 01:10:55 +00:00
5cad1665a6 testing/py3-pytelegrambotapi: move from user 2023-08-31 01:10:55 +00:00
90cb0ee11d testing/py3-pydantic-scim: move from user 2023-08-31 01:10:55 +00:00
60bc034f61 testing/py3-pyaml: move from user 2023-08-31 01:10:55 +00:00
da52559518 testing/py3-openid: move from user 2023-08-31 01:10:55 +00:00
d083b85a09 testing/py3-opencontainers: move from user 2023-08-31 01:10:55 +00:00
447ae3222a testing/py3-memcached: move from user 2023-08-31 01:10:55 +00:00
b4ad7dc77c testing/py3-langdetect: move from user 2023-08-31 01:10:55 +00:00
b8979a4159 testing/py3-iso639: move from user 2023-08-31 01:10:55 +00:00
03aec9e958 testing/py3-ipware: move from user 2023-08-31 01:10:55 +00:00
f38b6ca78c testing/py3-inotifyrecursive: move from user 2023-08-31 01:10:55 +00:00
c13dff94c5 testing/py3-inotify-simple: move from user 2023-08-31 01:10:55 +00:00
6947968de3 testing/py3-imap-tools: move from user 2023-08-31 01:10:55 +00:00
1749b1deed testing/py3-goodreads: move from user 2023-08-31 01:10:55 +00:00
17321a7110 testing/py3-flower: move from user 2023-08-31 01:10:55 +00:00
c8374a9d05 testing/py3-facebook-sdk: move from user 2023-08-31 01:10:55 +00:00
ab424f26ff testing/py3-duo-client: move from user 2023-08-31 01:10:55 +00:00
8c91a05e4a testing/py3-dumb-init: move from user 2023-08-31 01:10:55 +00:00
47b55c3d96 testing/py3-docker: move from user 2023-08-31 01:10:55 +00:00
36950d2048 testing/py3-django-rest-framework-guardian: move from user 2023-08-31 01:10:55 +00:00
c33d300107 testing/py3-django-redis: move from user 2023-08-31 01:10:55 +00:00
7615e090b7 testing/py3-django-q: move from user 2023-08-31 01:10:55 +00:00
c4259dee25 testing/py3-django-prometheus: move from user 2023-08-31 01:10:55 +00:00
44e94a2199 testing/py3-django-picklefield: move from user 2023-08-31 01:10:55 +00:00
2ee9c85c31 testing/py3-django-otp: move from user 2023-08-31 01:10:55 +00:00
56d3b5f467 testing/py3-django-guardian: move from user 2023-08-31 01:10:55 +00:00
d31e1cec52 testing/py3-django-extensions: move from user 2023-08-31 01:10:55 +00:00
f913376230 testing/py3-django-environ: move from user 2023-08-31 01:10:55 +00:00
04b4ed9090 testing/py3-django-drf-spectacular: move from user 2023-08-31 01:10:55 +00:00
e45bc7c6c7 testing/py3-django-compression-middleware: move from user 2023-08-31 01:10:55 +00:00
c6d52607b8 testing/py3-django-channels: move from user 2023-08-31 01:10:55 +00:00
ecdd3778a7 testing/py3-django-channels-redis: move from user 2023-08-31 01:10:55 +00:00
542a6fad45 testing/py3-django-celery-results: move from user 2023-08-31 01:10:55 +00:00
149cd61df5 testing/py3-django-allauth: move from user 2023-08-31 01:10:55 +00:00
77a00e2bf3 testing/py3-dacite: move from user 2023-08-31 01:10:55 +00:00
306237b553 testing/py3-concurrent-log-handler: move from user 2023-08-31 01:10:55 +00:00
e6ef8a392b testing/py3-backports-abc: move from user 2023-08-31 01:10:55 +00:00
abc5acc54c backports/py3-whitenoise: move from user 2023-08-31 01:10:55 +00:00
463176a8b4 testing/py3-structlog: move from user 2023-08-31 01:10:55 +00:00
41c2bc27e3 user/py3-pathvalidate: move from user 2023-08-31 01:10:55 +00:00
5d046fe878 backports/py3-hatch-fancy-pypi: move from user 2023-08-31 01:10:55 +00:00
a42582583b backports/py3-flask-limiter: move from user 2023-08-31 01:10:55 +00:00
09363bd7d7 backports/py3-django-oauth-toolkit: move from user 2023-08-31 01:10:55 +00:00
93314a5349 backports/py3-deepmerge: move from user 2023-08-31 01:10:55 +00:00
eab6a228f8 backports/py3-dateparser: move from user 2023-08-31 01:10:55 +00:00
0b3ee80df8
user/authentik: drop py3-redis-nonfree 2023-08-30 14:41:00 -04:00
4a72f830ac
user/py3-redis-nonfree: remove aport 2023-08-30 14:40:32 -04:00
21d7ef4c18
user/authentik: fix patch 2023-08-30 14:34:09 -04:00
54d07d5ed5 user/authentik: use psycopg version 3 2023-08-30 23:30:54 +00:00
ddc38cb3cb user/authentik: upgrade to 2023.8.1 2023-08-30 23:30:54 +00:00
1fe8eee6a7
backports/py3-psycopg: new aport 2023-08-30 14:13:55 -04:00
6354220dfd backports/signal-desktop: downgrade to 6.18.1 2023-08-30 16:39:43 +00:00
f06a24abed community/git-annex: upgrade to 10.20230828 2023-08-30 13:34:18 +00:00
cc23fe6f94
backports/signal-desktop: upgrade to 6.29.1 2023-08-28 18:32:26 -04:00
0d069b2ff0
user/qubes-vm-*: drop due to migration to dedicated repo 2023-08-27 15:14:59 -04:00
1888406e7d
user/gitlab-pages: new aport 2023-08-13 18:13:01 -04:00
563031d313 user/ikiwiki: new aport 2023-08-13 21:51:50 +00:00
0dbfe34707 user/perl-text-markdown: new aport 2023-08-13 21:51:50 +00:00
c5ce314f81 user/perl-rpc-xml: new aport 2023-08-13 21:51:50 +00:00
63732a25af user/perl-locale-gettext: new aport 2023-08-13 21:51:50 +00:00
4dadd3d995 user/perl-cgi-formbuilder: new aport 2023-08-13 21:51:50 +00:00
a0d9ca58e9 user/mastodon: upgrade to 4.1.6 2023-08-13 21:51:11 +00:00
fc6b8f484b
user/gitlab-foss: upgrade to 16.2.4 2023-08-13 16:48:25 -04:00
b7b2f2d14b community/dotnet6-runtime: upgrade to 6.0.21 2023-08-13 15:30:59 +00:00
beac6f35d0 community/dotnet6-build: upgrade to 6.0.121 2023-08-13 15:30:59 +00:00
9caf165061 community/dotnet6-stage0: upgrade to 6.0.121 2023-08-13 15:30:59 +00:00
41ba4a9d0d
community/dotnet7-runtime: upgrade to 7.0.10 2023-08-13 01:35:57 -04:00
fe7b7edf3c
community/dotnet7-build: upgrade to 7.0.110 2023-08-13 01:35:53 -04:00
be1ccf6575
community/dotnet7-stage0: upgrade to 7.0.110 2023-08-13 00:53:05 -04:00
d002de0f3d
user/dotnet8-runtime: bump pkgrel 2023-08-13 00:28:10 -04:00
dcd268d3a6
user/dotnet8-build: fix ppc64le build 2023-08-13 00:28:06 -04:00
5e958eb570
user/dotnet8-stage0: bump pkgrel 2023-08-13 00:27:13 -04:00
1215578116
gitlab-ci: enable s390x and ppc64le runners 2023-08-13 00:27:00 -04:00
2f7f2d81f5
*/*: re-enable armv7 2023-08-11 15:49:05 -04:00
d29bbc2059
user/rm-extractor: push rel 2023-08-11 15:41:45 -04:00
f6233bd055
.gitlab-ci: make cross builds optional 2023-08-11 15:34:58 -04:00
204c0e2206 user/dotnet8-runtime: upgrade to 8.0.0_pre7 2023-08-10 22:37:58 +00:00
28f90f0dbe user/dotnet8-build: upgrade to 8.0.0_pre7 2023-08-10 22:37:58 +00:00
441d79f325 user/dotnet8-stage0: upgrade to 8.0.0_pre7 2023-08-10 22:37:58 +00:00
5fa5e73919 user/dotnet8-runtime: upgrade to 8.0.0_pre4 2023-08-10 22:37:58 +00:00
0a3abc7a86 user/dotnet8-build: upgrade to 8.0.100_pre4 2023-08-10 22:37:58 +00:00
f2c5a232e7 user/dotnet8-stage0: upgrade to 8.0.100_pre4 2023-08-10 22:37:58 +00:00
24305d9fe8
user/gitlab-foss: upgrade to 16.2.3 2023-08-03 20:34:26 -04:00
d518d40b5e
user/gitlab-foss: upgrade to 16.2.2 2023-08-03 17:49:02 -04:00
9296d8212b community/git-annex: upgrade to 10.20230802 2023-08-03 21:44:02 +00:00
49ef107b0c user/authentik: upgrade to 2023.6.0 (for real) 2023-07-23 20:17:31 +00:00
0a4e657ba8
user/gitaly: use Git 2.41 2023-07-23 14:44:36 -04:00
3c1a6fc401
backports/git: new aport 2023-07-23 14:44:32 -04:00
a3886cd884
user/gitlab-foss: fix gems folder 2023-07-23 12:37:58 -04:00
ebe3449109 user/gitlab-shell: upgrade to 14.24.0 2023-07-23 15:43:28 +00:00
69f8dabffd user/gitlab-foss: upgrade to 16.2.0 2023-07-23 15:43:28 +00:00
124cda4546 user/gitaly: upgrade to 16.2.0 2023-07-23 15:43:28 +00:00
56be55de9c user/mastodon: upgrade to 4.1.5 2023-07-23 15:43:08 +00:00
d4ad265fae user/authentik: upgrade to 2023.6.0 2023-07-23 14:24:19 +00:00
8277256a0d
backports/crc32c: new aport 2023-07-19 14:53:11 -04:00
d3b220644d
backports/cargo-auditable: new aport 2023-07-19 14:53:04 -04:00
36564d7f54
backports/signal-desktop: upgrade to 6.25.0 2023-07-19 14:28:16 -04:00
59378e03d4 user/gitlab-foss: upgrade to 16.1.2 2023-07-19 17:39:08 +00:00
7965b78606
user/mastodon: re-enable 2023-07-12 21:46:54 -04:00
ddd31d910f
user/mastodon: disable on v3.18 due to no nodejs18 support 2023-07-12 17:21:14 -04:00
ce4fc21ebf user/mastodon: upgrade to 4.1.4 2023-07-12 12:42:18 +00:00
1d08692369
user/paperless: add missing tesseract-data-osd depend 2023-07-07 22:11:52 -04:00
709801ef38 user/paperless-ngx: add missing depend 2023-07-08 01:42:22 +00:00
75e24ea11a user/sane: add no avahi thread patch 2023-07-08 01:42:22 +00:00
e1aec2ea8c user/gitlab-foss: upgrade to 16.1.1 2023-07-07 22:08:00 +00:00
9270d9a5ee user/authentik: upgrade to 2023.5.5 2023-07-07 17:20:58 +00:00
7a31399052
user/mastodon: upgrade to 4.1.3 2023-07-07 13:03:59 -04:00
e6d1411c4c
community/powershell: upgrade to 7.3.5 2023-07-02 12:50:07 -04:00
e2226da9c2
user/paperless-ngx: upgrade to 1.16.5 2023-06-30 19:10:53 -04:00
c6c43b9690 user/mastodon: fix omniauth login redirect 2023-06-27 14:38:21 +00:00
ed3d337366 Update README.md 2023-06-26 22:26:28 +00:00
88acd9ca74
README.md: rewrite 2023-06-26 18:21:14 -04:00
71f6f36c32 community/git-annex: upgrade to 10.20230626 2023-06-26 20:36:00 +00:00
c780a2b192 community/dotnet7-runtime: upgrade to 7.0.8 2023-06-26 20:35:13 +00:00
755ed3935f community/dotnet7-build: upgrade to 7.0.108 2023-06-26 20:35:13 +00:00
7b71732dff community/dotnet6-runtime: upgrade to 6.0.19 2023-06-26 20:31:37 +00:00
9319051878 community/dotnet6-build: upgrade to 6.0.119 2023-06-26 20:31:37 +00:00
3602075a7f
community/yadm: upgrade to 3.2.2 2023-06-26 15:35:26 -04:00
7ef54e1342 user/ruby3.0: upgrade to 3.0.6 2023-06-26 18:24:37 +00:00
5097bd10bf user/gitlab-foss: upgrade to 16.1.0 2023-06-26 18:22:24 +00:00
b62b816e42 user/gitaly: upgrade to 16.1.0 2023-06-26 18:22:24 +00:00
6be6db8341 user/gitlab-shell: upgrade to 14.23.0 2023-06-26 18:22:24 +00:00
1c5cbbde29
user/py3-xmlsec: fix xmlsec depends 2023-06-26 13:44:19 -04:00
a466c90875
user/authentik: add wrapper binary 2023-06-26 13:44:13 -04:00
b673d25060
user/authentik: upgrade 2023.5.4 2023-06-25 09:53:08 -04:00
477dd265ec user/mastodon: upgrade to v4.1.2 2023-06-22 03:44:50 +00:00
58f8ecb7b4
user/authentik: add ldap init.d 2023-06-21 09:29:50 -04:00
0db9e07bf6
user/py3-xmlsec: enable build following xmlsec 1.2 backport 2023-06-21 09:27:10 -04:00
baceb8a509
user/xmlsec: new aport 2023-06-21 09:26:51 -04:00
f459a14e23
user/authentik: enable build following xmlsec 1.2 backport 2023-06-21 09:26:31 -04:00
abddfa0a83
user/py3-openid: new aport 2023-06-14 16:49:41 -04:00
2dd21acbe7
user/py3-django-allauth: new aport 2023-06-14 16:49:30 -04:00
57eeeed3ea
user/paperless-ngx: experimental SSO support 2023-06-14 16:49:09 -04:00
d8cf25312b user/py3-ipware: new aport 2023-06-14 04:01:31 +00:00
a058b34578 user/py3-django-celery-results: new aport 2023-06-14 04:01:31 +00:00
f466969928 user/py3-django-compression-middleware: new aport 2023-06-14 04:01:31 +00:00
12523ac1eb user/paperless-ngx: upgrade to 1.15.1 2023-06-14 04:01:31 +00:00
8389167575
user/authentik: upgrade to 2023.05.03 2023-06-13 21:08:21 -04:00
7075f316d4 backports/php82-pecl-inotify: new aport 2023-06-02 21:49:46 +00:00
66e7255a20 backports/php81-pecl-inotify: new aport 2023-06-02 21:49:46 +00:00
6757e81985 user/authentik: upgrade to 2023.5.2 2023-05-30 14:59:04 +00:00
3acf6d19d8
user/xf86-video-fbdev-rm: set timer at 0.05 of a second 2023-05-30 10:26:29 -04:00
6e69e6485b
user/u-boot-rm: do not send over GS0 2023-05-21 02:43:15 -04:00
b5e5e9eb96
user/u-boot-rm: undebug 2023-05-21 02:27:44 -04:00
d1ee21885c user/linux-rm: enable module unloading 2023-05-21 05:40:06 +00:00
821741113e
user/u-boot-rm: debug boot 2023-05-21 01:33:58 -04:00
4c1937339a user/u-boot-rm: only use ttyGS0 as console 2023-05-21 04:18:45 +00:00
5c9ab423a1
user/linux-rm: enable serial console 2023-05-20 23:39:02 -04:00
2e160a8cfe user/u-boot-rm: console to ttyGS0 2023-05-21 03:23:31 +00:00
d2468de3c5
user/linux-rm: disable wifi powermanagement 2023-05-20 22:45:57 -04:00
45918ec123
user/xf86-video-fbdev-rm: set timer to 1/10 of a second for update 2023-05-17 03:11:51 -04:00
df2f3b9712 user/linux-rm: disable eink autoupdate 2023-05-17 07:10:45 +00:00
5182055bca user/xf86-video-fbdev-rm: new aport 2023-05-17 07:01:17 +00:00
470e476872
user/linux-rm-headers: fix conflict with linux-headers 2023-05-17 02:45:59 -04:00
b3c079bed6
user/rm-extractor: fix depends 2023-05-16 16:07:38 -04:00
af71aad01d user/xochitl-bin: new aport 2023-05-16 20:07:16 +00:00
5be54371ed user/rm-extractor: new aport 2023-05-16 19:44:39 +00:00
db7b6a5408
user/authentik: upgrade to 2023.5.0 2023-05-16 10:58:22 -04:00
91ce841d04 backports/soqt: new aport 2023-05-15 20:53:51 +00:00
fd0479b93a backports/libmedc: new aport 2023-05-15 20:53:51 +00:00
892393bbb1 backports/coin: new aport 2023-05-15 20:53:51 +00:00
56634a3f6d backports/py3-pivy: new aport 2023-05-15 20:53:51 +00:00
9b33be18a3 backports/freecad: new aport 2023-05-15 20:53:51 +00:00
b719cfbc29
backports/libspnav: new aport 2023-05-15 15:58:32 -04:00
c0e9394404
backports/opencsg: new aport 2023-05-15 15:58:23 -04:00
fddbbeeff6
backports/lib3mf: new aport 2023-05-15 15:57:43 -04:00
1e91811d60
backports/openscad: new aport 2023-05-15 15:54:59 -04:00
b6d1faba24 backports/py3-wxpython: disable armv7 2023-05-15 19:51:14 +00:00
c5555b3c91 backports/opencascade: disable armv7 2023-05-15 19:51:14 +00:00
eee570abe3 backports/ngspice: disable armv7 2023-05-15 19:51:14 +00:00
3949fd7545 backports/py3-wxpython: new aport 2023-05-15 19:51:14 +00:00
1b178eb5a7 backports/opencascade-dev: new aport 2023-05-15 19:51:14 +00:00
3416531690 backports/ngspice: new aport 2023-05-15 19:51:14 +00:00
4a62a26545 backports/kicad: new aport 2023-05-15 19:51:14 +00:00
9526b1de38
user/gitlab-foss: upgrade to 15.11.2 2023-05-08 12:46:03 -04:00
5394ec808e
user/gitlab-foss: upgrade to 15.10.6 2023-05-08 12:30:18 -04:00
17d69a4355
user/gitlab-shell: upgrade to 14.19.0 2023-05-08 11:59:42 -04:00
4660ce6f93
gitlab-ci: crossbuild on backports 2023-05-07 22:47:54 -04:00
0f10c7b666
backports/dex: new aport 2023-05-07 22:46:46 -04:00
61702569f0 user/dmenu-user: enable armv7 2023-05-08 00:30:24 +00:00
6fe688a6ee user/dmenu-user: rename from qubes-dmenu 2023-05-08 00:30:24 +00:00
625f30ccbe
gitlab-ci: fetch before checkout 2023-05-07 19:39:05 -04:00
5bfd393f30
user/u-boot-rm: enable for armv7 2023-05-07 19:21:42 -04:00
126a5addbd
user/linux-rm-headers: enable for armv7 2023-05-07 19:20:44 -04:00
f8654bde58
user/linux-rm: enable for armv7 2023-05-07 19:20:25 -04:00
f6c7341627
user/rm-utils: enable for armv7 2023-05-07 19:20:01 -04:00
73032f9918
gitlab-ci: skip lint for backports 2023-05-07 18:56:33 -04:00
a80ee9f7ab
user/*: disable armv7 2023-05-07 18:56:31 -04:00
400f30213a
gitlab-ci: enable crossbuild only on user repo 2023-05-07 18:56:28 -04:00
54864f7743
community/git-annex: move from user 2023-05-07 18:22:46 -04:00
2b93d9f8c0
community/powershell: move from user 2023-05-07 18:22:11 -04:00
c98b9bf780
testing/freetube: move from user 2023-05-07 18:20:11 -04:00
60860a64b8
testing/perl-file-share: move from backports 2023-05-07 18:19:29 -04:00
7d9b527407
testing/hsxkpasswd: move from user 2023-05-07 18:18:52 -04:00
8920e00d54
community/yadm: move from user 2023-05-07 18:18:21 -04:00
647e9bfeac
community/dotnet7-runtime: move from user 2023-05-07 18:17:58 -04:00
353b0fa2a4
community/dotnet7-build: move from user 2023-05-07 18:17:48 -04:00
051fd99c0d
community/dotnet7-stage0: move from user 2023-05-07 18:17:34 -04:00
cdadd45fb9
community/dotnet6-runtime: move from user 2023-05-07 18:17:19 -04:00
abbb1dd03a
community/dotnet6-build: move from user 2023-05-07 18:17:06 -04:00
40927e5f2d
community/dotnet6-stage0: move from user 2023-05-07 18:16:45 -04:00
593 changed files with 9082 additions and 30981 deletions

View file

@ -1,27 +1,26 @@
#!/bin/sh
# shellcheck disable=SC3043
. $CI_PROJECT_DIR/.gitlab/bin/functions.sh
. /usr/local/lib/functions.sh
# shellcheck disable=SC3040
set -eu -o pipefail
readonly APORTSDIR=$CI_PROJECT_DIR
readonly REPOS="cross backports user"
readonly REPOS="backports user"
readonly ALPINE_REPOS="main community testing"
readonly ARCH=$(apk --print-arch)
# gitlab variables
readonly BASEBRANCH=$CI_MERGE_REQUEST_TARGET_BRANCH_NAME
: "${REPODEST:=$HOME/packages}"
: "${MIRROR:=https://lab.ilot.io/ayakael/repo-apk/-/raw}"
: "${MIRROR:=https://ayakael.net/api/packages/forge/alpine}"
: "${ALPINE_MIRROR:=http://dl-cdn.alpinelinux.org/alpine}"
: "${MAX_ARTIFACT_SIZE:=300000000}" #300M
: "${CI_DEBUG_BUILD:=}"
: "${CI_ALPINE_BUILD_OFFSET:=0}"
: "${CI_ALPINE_BUILD_LIMIT:=9999}"
: "${CI_ALPINE_TARGET_ARCH:=$(uname -m)}"
msg() {
local color=${2:-green}
@ -71,7 +70,7 @@ report() {
get_release() {
case $BASEBRANCH in
v*) echo "${BASEBRANCH%-*}";;
v*) echo "$BASEBRANCH";;
edge) echo edge;;
*) die "Branch \"$BASEBRANCH\" not supported!"
esac
@ -80,9 +79,8 @@ get_release() {
build_aport() {
local repo="$1" aport="$2"
cd "$APORTSDIR/$repo/$aport"
export CHOST=$CI_ALPINE_TARGET_ARCH
if abuild -r 2>&1 | report "build-$aport"; then
checkapk | report "checkapk-$aport" || true
checkapk 2>&1 | report "checkapk-$aport" || true
aport_ok="$aport_ok $repo/$aport"
else
aport_ng="$aport_ng $repo/$aport"
@ -92,7 +90,6 @@ build_aport() {
check_aport() {
local repo="$1" aport="$2"
cd "$APORTSDIR/$repo/$aport"
export CHOST=$CI_ALPINE_TARGET_ARCH
if ! abuild check_arch 2>/dev/null; then
aport_na="$aport_na $repo/$aport"
return 1
@ -105,16 +102,13 @@ set_repositories_for() {
release=$(get_release)
for repo in $REPOS; do
[ "$repo" = "non-free" ] && continue
[ "$release" == "edge" ] && [ "$repo" == "backports" ] && continue
repos="$repos $MIRROR/$release/$repo $REPODEST/$repo"
[ "$repo" = "$target_repo" ] && break
done
doas sh -c "printf '%s\n' $repos >> /etc/apk/repositories"
doas apk update || true
if [ "$CI_ALPINE_TARGET_ARCH" != "$ARCH" ]; then
doas sh -c "printf '%s\n' $repos >> $HOME/sysroot-$CI_ALPINE_TARGET_ARCH/etc/apk/repositories"
doas cp -R /etc/apk/keys/* $HOME/sysroot-$CI_ALPINE_TARGET_ARCH/etc/apk/keys/.
doas apk --root=$HOME/sysroot-$CI_ALPINE_TARGET_ARCH update || true
fi
doas apk update
}
apply_offset_limit() {
@ -134,21 +128,9 @@ setup_system() {
[ "$release" != "edge" ] && [ "$repo" == "testing" ] && continue
repos="$repos $ALPINE_MIRROR/$release/$repo"
done
repos="$repos $MIRROR/$release/cross"
doas sh -c "printf '%s\n' $repos > /etc/apk/repositories"
doas apk -U upgrade -a || doas apk fix || die "Failed to up/downgrade system"
if [ "$CI_ALPINE_TARGET_ARCH" != "$ARCH" ]; then
doas apk add gcc-$CI_ALPINE_TARGET_ARCH
fi
gitlab_key_to_rsa $ABUILD_KEY rsa-private $HOME/.abuild/$ABUILD_KEY_NAME.rsa
gitlab_key_to_rsa $ABUILD_KEY_PUB rsa-public $HOME/.abuild/$ABUILD_KEY_NAME.rsa.pub
chmod 700 $HOME/.abuild/$ABUILD_KEY_NAME.rsa
echo "PACKAGER_PRIVKEY=$HOME/.abuild/$ABUILD_KEY_NAME.rsa" >> $HOME/.abuild/abuild.conf
doas cp $HOME/.abuild/$ABUILD_KEY_NAME.rsa.pub /etc/apk/keys/$ABUILD_KEY_NAME.rsa.pub
# patch abuild for crosscompiling
doas patch -p1 -d / -i $CI_PROJECT_DIR/.gitlab/patches/abuild-cross.patch
doas apk -U upgrade -a || apk fix || die "Failed to up/downgrade system"
abuild-keygen -ain
doas sed -i -E 's/export JOBS=[0-9]+$/export JOBS=$(nproc)/' /etc/abuild.conf
( . /etc/abuild.conf && echo "Building with $JOBS jobs" )
mkdir -p "$REPODEST"
@ -198,7 +180,7 @@ sysinfo || true
setup_system || die "Failed to setup system"
# git no longer allows to execute in repositories owned by different users
doas chown -R $USER: .
doas chown -R buildozer: .
fetch_flags="-qn"
debugging && fetch_flags="-v"
@ -221,7 +203,6 @@ build_start=$CI_ALPINE_BUILD_OFFSET
build_limit=$CI_ALPINE_BUILD_LIMIT
for repo in $(changed_repos); do
mkdir -p "$APORTSDIR"/logs "$APORTSDIR"/packages "$APORTSDIR"/keys
set_repositories_for "$repo"
built_aports=0
changed_aports_in_repo=$(changed_aports "$repo")
@ -276,3 +257,4 @@ if [ "$failed" = true ]; then
elif [ -z "$aport_ok" ]; then
msg "No packages found to be built." yellow
fi

41
.forgejo/bin/check_ver.sh Executable file
View file

@ -0,0 +1,41 @@
#!/bin/bash
# expects the following env variables:
# downstream: downstream repo
repo=${downstream/*\/}
curl --silent $downstream/x86_64/APKINDEX.tar.gz | tar -O -zx APKINDEX > APKINDEX
if [ "$ALL_PACKAGES" == "true" ]; then
owned_by_you=$(awk -F ':' '{if($1=="o"){print $2}}' APKINDEX | sort | uniq)
echo "Found $(printf '%s\n' $owned_by_you | wc -l ) packages"
else
owned_by_you=$(awk -v RS= -v ORS="\n\n" '/m:Antoine Martin \(ayakael\) <dev@ayakael.net>/' APKINDEX | awk -F ':' '{if($1=="o"){print $2}}' | sort | uniq)
echo "Found $(printf '%s\n' $owned_by_you | wc -l ) packages owned by you"
fi
rm -f out_of_date not_in_anitya
for pkg in $owned_by_you; do
upstream_version=$(curl --fail -X GET -sS -H 'Content-Type: application/json' "https://release-monitoring.org/api/v2/packages/?name=$pkg&distribution=Alpine" | jq -r '.items.[].stable_version')
downstream_version=$(sed -n "/^P:$pkg$/,/^$/p" APKINDEX | awk -F ':' '{if($1=="V"){print $2}}' | sort -V | tail -n 1)
downstream_version=${downstream_version/-*}
# special cases
case $pkg in
freetube) upstream_version=$(curl --fail -X GET -sS -H 'Content-Type: application/json' "https://release-monitoring.org/api/v2/packages/?name=$pkg&distribution=Alpine" | jq -r '.items.[].version' | sed "s|-beta||");;
dotnet9-sdk|dotnet9-stage0) upstream_version=${upstream_version/-*};;
esac
if [ -z "$upstream_version" ]; then
echo "$pkg not in anitya"
echo "$pkg" >> not_in_anitya
elif [ "$downstream_version" != "$(printf '%s\n' $upstream_version $downstream_version | sort -V | head -n 1)" ]; then
echo "$pkg higher downstream"
continue
elif [ "$upstream_version" != "$downstream_version" ]; then
echo "$pkg upstream version $upstream_version does not match downstream version $downstream_version"
echo "$pkg $downstream_version $upstream_version $repo" >> out_of_date
fi
done

17
.forgejo/bin/clear-repo.sh Executable file
View file

@ -0,0 +1,17 @@
#!/bin/sh
TARGET_REPO=$1
ARCH=$2
curl --silent $TARGET_REPO/$ARCH/APKINDEX.tar.gz | tar -O -zx APKINDEX > APKINDEX
pkgs=$(awk -F ':' '{if($1=="o"){print $2}}' APKINDEX | sort | uniq)
for pkg in $pkgs; do
pkgvers=$(sed -n "/^P:$pkg$/,/^$/p" APKINDEX | awk -F ':' '{if($1=="V"){print $2}}')
for pkgver in $pkgvers; do
echo "Deleting $pkg-$pkgver of arch $ARCH from $TARGET_REPO"
curl -s --user $FORGE_REPO_USER:$FORGE_REPO_TOKEN -X DELETE $TARGET_REPO/$ARCH/$pkg-$pkgver.apk
done
done

165
.forgejo/bin/create_issue.sh Executable file
View file

@ -0,0 +1,165 @@
#!/bin/bash
# expects:
# env variable FORGEJO_TOKEN
# file out_of_date
IFS='
'
repo=${downstream/*\/}
does_it_exist() {
name=$1
downstream_version=$2
upstream_version=$3
repo=$4
query="$repo/$name: upgrade to $upstream_version"
query="$(echo $query | sed 's| |%20|g' | sed 's|:|%3A|g' | sed 's|/|%2F|g' )"
result="$(curl --silent -X 'GET' \
"$GITHUB_SERVER_URL/api/v1/repos/$GITHUB_REPOSITORY/issues?state=open&q=$query&type=issues" \
-H 'accept: application/json' \
-H "authorization: Basic $FORGEJO_TOKEN"
)"
if [ "$result" == "[]" ]; then
return 1
fi
}
is_it_old() {
name=$1
downstream_version=$2
upstream_version=$3
repo=$4
query="$repo/$name: upgrade to"
query="$(echo $query | sed 's| |%20|g' | sed 's|:|%3A|g' | sed 's|/|%2F|g' )"
result="$(curl --silent -X 'GET' \
"$GITHUB_SERVER_URL/api/v1/repos/$GITHUB_REPOSITORY/issues?state=open&q=$query&type=issues" \
-H 'accept: application/json' \
-H "authorization: Basic $FORGEJO_TOKEN"
)"
result_title="$(echo $result | jq -r '.[].title' )"
result_id="$(echo $result | jq -r '.[].number' )"
result_upstream_version="$(echo $result_title | awk '{print $4}')"
if [ "$upstream_version" != "$result_upstream_version" ]; then
echo $result_id
else
echo 0
fi
}
update_title() {
name=$1
downstream_version=$2
upstream_version=$3
repo=$4
id=$5
result=$(curl --silent -X 'PATCH' \
"$GITHUB_SERVER_URL/api/v1/repos/$GITHUB_REPOSITORY/issues/$id" \
-H 'accept: application/json' \
-H "authorization: Basic $FORGEJO_TOKEN" \
-H 'Content-Type: application/json' \
-d "{
\"title\": \"$repo/$name: upgrade to $upstream_version\"
}"
)
return 0
}
create_issue() {
name=$1
downstream_version=$2
upstream_version=$3
repo=$4
result=$(curl --silent -X 'POST' \
"$GITHUB_SERVER_URL/api/v1/repos/$GITHUB_REPOSITORY/issues" \
-H 'accept: application/json' \
-H "authorization: Basic $FORGEJO_TOKEN" \
-H 'Content-Type: application/json' \
-d "{
\"title\": \"$repo/$name: upgrade to $upstream_version\",
\"labels\": [
$LABEL_NUMBER
]
}")
return 0
}
if [ -f out_of_date ]; then
out_of_date="$(cat out_of_date)"
echo "Detected $(wc -l out_of_date) out-of-date packages, creating issues"
for pkg in $out_of_date; do
name="$(echo $pkg | awk '{print $1}')"
downstream_version="$(echo $pkg | awk '{print $2}')"
upstream_version="$(echo $pkg | awk '{print $3}')"
repo="$(echo $pkg | awk '{print $4}')"
if does_it_exist $name $downstream_version $upstream_version $repo; then
echo "Issue for $repo/$name already exists"
continue
fi
id=$(is_it_old $name $downstream_version $upstream_version $repo)
if [ "$id" != "0" ] && [ -n "$id" ]; then
echo "Issue for $repo/$name needs updating"
update_title $name $downstream_version $upstream_version $repo $id
continue
fi
echo "Creating issue for $repo/$name"
create_issue $name $downstream_version $upstream_version $repo
done
fi
if [ -f not_in_anitya ]; then
query="Add missing $repo packages to anitya"
query="$(echo $query | sed 's| |%20|g')"
result="$(curl --silent -X 'GET' \
"$GITHUB_SERVER_URL/api/v1/repos/$GITHUB_REPOSITORY/issues?state=open&q=$query&type=issues" \
-H 'accept: application/json' \
-H "authorization: Basic $FORGEJO_TOKEN"
)"
if [ "$result" == "[]" ]; then
echo "Creating anitya issue"
result=$(curl --silent -X 'POST' \
"$GITHUB_SERVER_URL/api/v1/repos/$GITHUB_REPOSITORY/issues" \
-H 'accept: application/json' \
-H "authorization: Basic $FORGEJO_TOKEN" \
-H 'Content-Type: application/json' \
-d "{
\"title\": \"Add missing $repo packages to anitya\",
\"body\": \"- [ ] $(sed '{:q;N;s/\n/\\n- [ ] /g;t q}' not_in_anitya)\",
\"labels\": [
$LABEL_NUMBER
]
}")
else
echo "Updating anitya issue"
result_id="$(echo $result | jq -r '.[].number' )"
result=$(curl --silent -X 'PATCH' \
"$GITHUB_SERVER_URL/api/v1/repos/$GITHUB_REPOSITORY/issues/$result_id" \
-H 'accept: application/json' \
-H "authorization: Basic $FORGEJO_TOKEN" \
-H 'Content-Type: application/json' \
-d "{
\"body\": \"- [ ] $(sed '{:q;N;s/\n/\\n- [ ] /g;t q}' not_in_anitya)\"
}"
)
fi
fi

26
.forgejo/bin/deploy.sh Executable file
View file

@ -0,0 +1,26 @@
#!/bin/sh
# shellcheck disable=SC3040
set -eu -o pipefail
readonly REPOS="backports user"
readonly BASEBRANCH=$GITHUB_BASE_REF
readonly TARGET_REPO=$CI_ALPINE_REPO
apkgs=$(find package -type f -name "*.apk")
for apk in $apkgs; do
branch=$(echo $apk | awk -F '/' '{print $2}')
arch=$(echo $apk | awk -F '/' '{print $3}')
name=$(echo $apk | awk -F '/' '{print $4}')
echo "Sending $name of arch $arch to $TARGET_REPO/$BASEBRANCH/$branch"
return=$(curl -s --user $FORGE_REPO_USER:$FORGE_REPO_TOKEN --upload-file $apk $TARGET_REPO/$BASEBRANCH/$branch 2>&1)
echo $return
if [ "$return" == "package file already exists" ]; then
echo "Package already exists, refreshing..."
curl -s --user $FORGE_REPO_USER:$FORGE_REPO_TOKEN -X DELETE $TARGET_REPO/$BASEBRANCH/$branch/$arch/$name
curl -s --user $FORGE_REPO_USER:$FORGE_REPO_TOKEN --upload-file $apk $TARGET_REPO/$BASEBRANCH/$branch
fi
done

View file

@ -0,0 +1,52 @@
on:
pull_request:
types: [ assigned, opened, synchronize, reopened ]
jobs:
build-aarch64:
runs-on: aarch64
container:
image: alpinelinux/alpine-gitlab-ci:latest
env:
CI_PROJECT_DIR: ${{ github.workspace }}
CI_DEBUG_BUILD: ${{ runner.debug }}
CI_MERGE_REQUEST_PROJECT_URL: ${{ github.server_url }}/${{ github.repository }}
CI_MERGE_REQUEST_TARGET_BRANCH_NAME: ${{ github.base_ref }}
steps:
- name: Environment setup
run: |
doas apk add nodejs git patch curl
cd /etc/apk/keys
doas curl -JO https://ayakael.net/api/packages/forge/alpine/key
- name: Repo pull
uses: actions/checkout@v4
with:
fetch-depth: 500
- name: Package build
run: |
${{ github.workspace }}/.forgejo/bin/build.sh
touch packages/dummy
- name: Package upload
uses: forgejo/upload-artifact@v3
with:
name: package
path: packages
deploy-aarch64:
needs: [build-aarch64]
runs-on: aarch64
container:
image: alpine:latest
env:
CI_ALPINE_REPO: 'https://ayakael.net/api/packages/forge/alpine'
FORGE_REPO_TOKEN: ${{ secrets.FORGE_REPO_TOKEN }}
FORGE_REPO_USER: ${{ vars.FORGE_REPO_USER }}
steps:
- name: Setting up environment
run: apk add nodejs curl findutils git gawk
- name: Repo pull
uses: actions/checkout@v4
- name: Package download
uses: forgejo/download-artifact@v3
- name: Package deployment
run: ${{ github.workspace }}/.forgejo/bin/deploy.sh

View file

@ -0,0 +1,52 @@
on:
pull_request:
types: [ assigned, opened, synchronize, reopened ]
jobs:
build-x86_64:
runs-on: x86_64
container:
image: alpinelinux/alpine-gitlab-ci:latest
env:
CI_PROJECT_DIR: ${{ github.workspace }}
CI_DEBUG_BUILD: ${{ runner.debug }}
CI_MERGE_REQUEST_PROJECT_URL: ${{ github.server_url }}/${{ github.repository }}
CI_MERGE_REQUEST_TARGET_BRANCH_NAME: ${{ github.base_ref }}
steps:
- name: Environment setup
run: |
doas apk add nodejs git patch curl
cd /etc/apk/keys
doas curl -JO https://ayakael.net/api/packages/forge/alpine/key
- name: Repo pull
uses: actions/checkout@v4
with:
fetch-depth: 500
- name: Package build
run: |
${{ github.workspace }}/.forgejo/bin/build.sh
touch packages/dummy
- name: Package upload
uses: forgejo/upload-artifact@v3
with:
name: package
path: packages
deploy-x86_64:
needs: [build-x86_64]
runs-on: x86_64
container:
image: alpine:latest
env:
CI_ALPINE_REPO: 'https://ayakael.net/api/packages/forge/alpine'
FORGE_REPO_TOKEN: ${{ secrets.FORGE_REPO_TOKEN }}
FORGE_REPO_USER: ${{ vars.FORGE_REPO_USER }}
steps:
- name: Setting up environment
run: apk add nodejs curl findutils git gawk
- name: Repo pull
uses: actions/checkout@v4
- name: Package download
uses: forgejo/download-artifact@v3
- name: Package deployment
run: ${{ github.workspace }}/.forgejo/bin/deploy.sh

View file

@ -0,0 +1,28 @@
on:
workflow_dispatch:
schedule:
- cron: '0 5 * * *'
jobs:
check-backports:
name: Check backports repo
runs-on: x86_64
container:
image: alpine:latest
env:
downstream: https://ayakael.net/api/packages/forge/alpine/v3.21/backports
FORGEJO_TOKEN: ${{ secrets.forgejo_token }}
LABEL_NUMBER: 1
ALL_PACKAGES: true
steps:
- name: Environment setup
run: apk add grep coreutils gawk curl wget bash nodejs git jq sed
- name: Get scripts
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Check out-of-date packages
run: ${{ github.workspace }}/.forgejo/bin/check_ver.sh
- name: Create issues
run: ${{ github.workspace }}/.forgejo/bin/create_issue.sh

View file

@ -0,0 +1,27 @@
on:
workflow_dispatch:
schedule:
- cron: '0 5 * * *'
jobs:
check-community:
name: Check community repo
runs-on: x86_64
container:
image: alpine:latest
env:
downstream: https://dl-cdn.alpinelinux.org/alpine/edge/community
FORGEJO_TOKEN: ${{ secrets.forgejo_token }}
LABEL_NUMBER: 4
steps:
- name: Environment setup
run: apk add grep coreutils gawk curl wget bash nodejs git jq sed
- name: Get scripts
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Check out-of-date packages
run: ${{ github.workspace }}/.forgejo/bin/check_ver.sh
- name: Create issues
run: ${{ github.workspace }}/.forgejo/bin/create_issue.sh

View file

@ -0,0 +1,27 @@
on:
workflow_dispatch:
schedule:
- cron: '0 5 * * *'
jobs:
check-community:
name: Check testing repo
runs-on: x86_64
container:
image: alpine:latest
env:
downstream: https://dl-cdn.alpinelinux.org/alpine/edge/testing
FORGEJO_TOKEN: ${{ secrets.forgejo_token }}
LABEL_NUMBER: 4
steps:
- name: Environment setup
run: apk add grep coreutils gawk curl wget bash nodejs git jq sed
- name: Get scripts
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Check out-of-date packages
run: ${{ github.workspace }}/.forgejo/bin/check_ver.sh
- name: Create issues
run: ${{ github.workspace }}/.forgejo/bin/create_issue.sh

View file

@ -0,0 +1,27 @@
on:
workflow_dispatch:
schedule:
- cron: '0 5 * * *'
jobs:
check-user:
name: Check user repo
runs-on: x86_64
container:
image: alpine:latest
env:
downstream: https://ayakael.net/api/packages/forge/alpine/edge/user
FORGEJO_TOKEN: ${{ secrets.forgejo_token }}
LABEL_NUMBER: 4
steps:
- name: Environment setup
run: apk add grep coreutils gawk curl wget bash nodejs git jq sed
- name: Get scripts
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Check out-of-date packages
run: ${{ github.workspace }}/.forgejo/bin/check_ver.sh
- name: Create issues
run: ${{ github.workspace }}/.forgejo/bin/create_issue.sh

View file

@ -0,0 +1,21 @@
on:
pull_request:
types: [ assigned, opened, synchronize, reopened ]
jobs:
lint:
run-name: lint
runs-on: x86_64
container:
image: alpinelinux/apkbuild-lint-tools:latest
env:
CI_PROJECT_DIR: ${{ github.workspace }}
CI_DEBUG_BUILD: ${{ runner.debug }}
CI_MERGE_REQUEST_PROJECT_URL: ${{ github.server_url }}/${{ github.repository }}
CI_MERGE_REQUEST_TARGET_BRANCH_NAME: ${{ github.base_ref }}
steps:
- run: doas apk add nodejs git
- uses: actions/checkout@v4
with:
fetch-depth: 500
- run: lint

View file

@ -1,89 +0,0 @@
stages:
- verify
- build
- deploy
variables:
GIT_STRATEGY: clone
GIT_DEPTH: "500"
lint:
stage: verify
interruptible: true
script:
- |
sudo apk add shellcheck atools doas abuild
export PATH="$PATH:$CI_PROJECT_DIR/.gitlab/bin"
lint
allow_failure: true
only:
- merge_requests
tags:
- apk-$CI_MERGE_REQUEST_TARGET_BRANCH_NAME
.build:
stage: build
interruptible: true
script:
- |
sudo apk add alpine-sdk lua-aports doas
doas addgroup $USER abuild
export PATH="$PATH:$CI_PROJECT_DIR/.gitlab/bin"
sudo -Eu $USER build.sh
artifacts:
paths:
- packages/
- keys/
- logs/
expire_in: 7 days
when: always
only:
- merge_requests
tags:
- apk-$CI_MERGE_REQUEST_TARGET_BRANCH_NAME
.cross:
stage: build
interruptible: true
script:
- |
sudo apk add alpine-sdk lua-aports doas gzip xz qemu-$CI_QEMU_TARGET_ARCH
doas addgroup $USER abuild
export PATH="$PATH:$CI_PROJECT_DIR/.gitlab/bin"
build-rootfs.sh alpine${CI_MERGE_REQUEST_TARGET_BRANCH_NAME/v} $CI_ALPINE_TARGET_ARCH --rootfsdir $HOME/sysroot-$CI_ALPINE_TARGET_ARCH
cp /etc/apk/repositories $HOME/sysroot-$CI_ALPINE_TARGET_ARCH/etc/apk/.
sudo -Eu $USER CHOST=$CI_TARGET_ALPINE_ARCH build.sh
artifacts:
paths:
- packages/
- keys/
- logs/
expire_in: 7 days
when: always
only:
- merge_requests
tags:
- apk-$CI_MERGE_REQUEST_TARGET_BRANCH_NAME
build-x86_64:
extends: .build
build-armv7:
extends: .cross
variables:
CI_ALPINE_TARGET_ARCH: armv7
CI_QEMU_TARGET_ARCH: arm
push:
interruptible: true
stage: deploy
script:
- |
sudo apk add abuild git-lfs findutils
export PATH="$PATH:$CI_PROJECT_DIR/.gitlab/bin"
push.sh
rules:
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
when: manual
tags:
- repo

View file

@ -1,111 +0,0 @@
#!/bin/sh
set -e
arch=
builddir=
checkdepends=
depends=
depends_dev=
depends_doc=
depends_libs=
depends_openrc=
depends_static=
install=
install_if=
langdir=
ldpath=
license=
makedepends=
makedepends_build=
makedepends_host=
md5sums=
options=
patch_args=
pkgbasedir=
pkgdesc=
pkgdir=
pkgname=
pkgrel=
pkgver=
pkggroups=
pkgusers=
provides=
provider_priority=
replaces=
sha256sums=
sha512sums=
sonameprefix=
source=
srcdir=
startdir=
subpackages=
subpkgdir=
subpkgname=
triggers=
url=
# abuild.conf
CFLAGS=
CXXFLAGS=
CPPFLAGS=
LDFLAGS=
JOBS=
MAKEFLAGS=
CMAKE_CROSSOPTS=
. ./APKBUILD
: "$arch"
: "$builddir"
: "$checkdepends"
: "$depends"
: "$depends_dev"
: "$depends_doc"
: "$depends_libs"
: "$depends_openrc"
: "$depends_static"
: "$install"
: "$install_if"
: "$langdir"
: "$ldpath"
: "$license"
: "$makedepends"
: "$makedepends_build"
: "$makedepends_host"
: "$md5sums"
: "$options"
: "$patch_args"
: "$pkgbasedir"
: "$pkgdesc"
: "$pkgdir"
: "$pkgname"
: "$pkgrel"
: "$pkgver"
: "$pkggroups"
: "$pkgusers"
: "$provides"
: "$provider_priority"
: "$replaces"
: "$sha256sums"
: "$sha512sums"
: "$sonameprefix"
: "$source"
: "$srcdir"
: "$startdir"
: "$subpackages"
: "$subpkgdir"
: "$subpkgname"
: "$triggers"
: "$url"
# abuild.conf
: "$CFLAGS"
: "$CXXFLAGS"
: "$CPPFLAGS"
: "$LDFLAGS"
: "$JOBS"
: "$MAKEFLAGS"
: "$CMAKE_CROSSOPTS"

View file

@ -1,16 +0,0 @@
#!/bin/sh
shellcheck -s ash \
-e SC3043 \
-e SC3057 \
-e SC3060 \
-e SC2016 \
-e SC2086 \
-e SC2169 \
-e SC2155 \
-e SC2100 \
-e SC2209 \
-e SC2030 \
-e SC2031 \
-e SC1090 \
-xa $CI_PROJECT_DIR/.gitlab/bin/APKBUILD_SHIM

View file

@ -1,556 +0,0 @@
#!/usr/bin/env bash
# Availabl here: https://lab.ilot.io/dotnet/arcade/-/blob/7f6d9796cc7f594772f798358dbdd8c69b6a97af/eng/common/cross/build-rootfs.sh
# Only modification: qemu-$arch-static becomes qemu-$arch
set -e
usage()
{
echo "Usage: $0 [BuildArch] [CodeName] [lldbx.y] [llvmx[.y]] [--skipunmount] --rootfsdir <directory>]"
echo "BuildArch can be: arm(default), arm64, armel, armv6, ppc64le, riscv64, s390x, x64, x86"
echo "CodeName - optional, Code name for Linux, can be: xenial(default), zesty, bionic, alpine"
echo " for alpine can be specified with version: alpineX.YY or alpineedge"
echo " for FreeBSD can be: freebsd12, freebsd13"
echo " for illumos can be: illumos"
echo " for Haiku can be: haiku."
echo "lldbx.y - optional, LLDB version, can be: lldb3.9(default), lldb4.0, lldb5.0, lldb6.0 no-lldb. Ignored for alpine and FreeBSD"
echo "llvmx[.y] - optional, LLVM version for LLVM related packages."
echo "--skipunmount - optional, will skip the unmount of rootfs folder."
echo "--use-mirror - optional, use mirror URL to fetch resources, when available."
echo "--jobs N - optional, restrict to N jobs."
exit 1
}
__CodeName=xenial
__CrossDir=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
__BuildArch=arm
__AlpineArch=armv7
__FreeBSDArch=arm
__FreeBSDMachineArch=armv7
__IllumosArch=arm7
__QEMUArch=arm
__UbuntuArch=armhf
__UbuntuRepo="http://ports.ubuntu.com/"
__LLDB_Package="liblldb-3.9-dev"
__SkipUnmount=0
# base development support
__UbuntuPackages="build-essential"
__AlpinePackages="alpine-base"
__AlpinePackages+=" build-base"
# symlinks fixer
__UbuntuPackages+=" symlinks"
# runtime dependencies
__UbuntuPackages+=" libicu-dev"
__UbuntuPackages+=" liblttng-ust-dev"
__UbuntuPackages+=" libunwind8-dev"
__UbuntuPackages+=" libnuma-dev"
# runtime libraries' dependencies
__UbuntuPackages+=" libcurl4-openssl-dev"
__UbuntuPackages+=" libkrb5-dev"
__UbuntuPackages+=" libssl-dev"
__UbuntuPackages+=" zlib1g-dev"
__FreeBSDBase="12.3-RELEASE"
__FreeBSDPkg="1.17.0"
__FreeBSDABI="12"
__FreeBSDPackages="libunwind"
__FreeBSDPackages+=" icu"
__FreeBSDPackages+=" libinotify"
__FreeBSDPackages+=" openssl"
__FreeBSDPackages+=" krb5"
__FreeBSDPackages+=" terminfo-db"
__IllumosPackages="icu"
__IllumosPackages+=" mit-krb5"
__IllumosPackages+=" openssl"
__IllumosPackages+=" zlib"
__HaikuPackages="gmp"
__HaikuPackages+=" gmp_devel"
__HaikuPackages+=" krb5"
__HaikuPackages+=" krb5_devel"
__HaikuPackages+=" libiconv"
__HaikuPackages+=" libiconv_devel"
__HaikuPackages+=" llvm12_libunwind"
__HaikuPackages+=" llvm12_libunwind_devel"
__HaikuPackages+=" mpfr"
__HaikuPackages+=" mpfr_devel"
# ML.NET dependencies
__UbuntuPackages+=" libomp5"
__UbuntuPackages+=" libomp-dev"
__Keyring=
__UseMirror=0
__UnprocessedBuildArgs=
while :; do
if [[ "$#" -le 0 ]]; then
break
fi
lowerI="$(echo "$1" | tr "[:upper:]" "[:lower:]")"
case $lowerI in
-\?|-h|--help)
usage
exit 1
;;
arm)
__BuildArch=arm
__UbuntuArch=armhf
__AlpineArch=armv7
__QEMUArch=arm
;;
arm64)
__BuildArch=arm64
__UbuntuArch=arm64
__AlpineArch=aarch64
__QEMUArch=aarch64
__FreeBSDArch=arm64
__FreeBSDMachineArch=aarch64
;;
armel)
__BuildArch=armel
__UbuntuArch=armel
__UbuntuRepo="http://ftp.debian.org/debian/"
__CodeName=jessie
;;
armv6)
__BuildArch=armv6
__UbuntuArch=armhf
__QEMUArch=arm
__UbuntuRepo="http://raspbian.raspberrypi.org/raspbian/"
__CodeName=buster
__LLDB_Package="liblldb-6.0-dev"
if [[ -e "/usr/share/keyrings/raspbian-archive-keyring.gpg" ]]; then
__Keyring="--keyring /usr/share/keyrings/raspbian-archive-keyring.gpg"
fi
;;
riscv64)
__BuildArch=riscv64
__AlpineArch=riscv64
__QEMUArch=riscv64
__UbuntuArch=riscv64
__UbuntuRepo="http://deb.debian.org/debian-ports"
__UbuntuPackages="${__UbuntuPackages// libunwind8-dev/}"
unset __LLDB_Package
if [[ -e "/usr/share/keyrings/debian-ports-archive-keyring.gpg" ]]; then
__Keyring="--keyring /usr/share/keyrings/debian-ports-archive-keyring.gpg --include=debian-ports-archive-keyring"
fi
;;
ppc64le)
__BuildArch=ppc64le
__AlpineArch=ppc64le
__QEMUArch=ppc64le
__UbuntuArch=ppc64el
__UbuntuRepo="http://ports.ubuntu.com/ubuntu-ports/"
__UbuntuPackages="${__UbuntuPackages// libunwind8-dev/}"
__UbuntuPackages="${__UbuntuPackages// libomp-dev/}"
__UbuntuPackages="${__UbuntuPackages// libomp5/}"
unset __LLDB_Package
;;
s390x)
__BuildArch=s390x
__AlpineArch=s390x
__QEMUArch=s390x
__UbuntuArch=s390x
__UbuntuRepo="http://ports.ubuntu.com/ubuntu-ports/"
__UbuntuPackages="${__UbuntuPackages// libunwind8-dev/}"
__UbuntuPackages="${__UbuntuPackages// libomp-dev/}"
__UbuntuPackages="${__UbuntuPackages// libomp5/}"
unset __LLDB_Package
;;
x64)
__BuildArch=x64
__AlpineArch=x86_64
__QEMUArch=x86_64
__UbuntuArch=amd64
__FreeBSDArch=amd64
__FreeBSDMachineArch=amd64
__illumosArch=x86_64
__UbuntuRepo=
;;
x86)
__BuildArch=x86
__AlpineArch=i386
__QEMUArch=i386
__UbuntuArch=i386
__AlpineArch=x86
__UbuntuRepo="http://archive.ubuntu.com/ubuntu/"
;;
lldb*)
version="${lowerI/lldb/}"
parts=(${version//./ })
# for versions > 6.0, lldb has dropped the minor version
if [[ "${parts[0]}" -gt 6 ]]; then
version="${parts[0]}"
fi
__LLDB_Package="liblldb-${version}-dev"
;;
no-lldb)
unset __LLDB_Package
;;
llvm*)
version="${lowerI/llvm/}"
parts=(${version//./ })
__LLVM_MajorVersion="${parts[0]}"
__LLVM_MinorVersion="${parts[1]}"
# for versions > 6.0, llvm has dropped the minor version
if [[ -z "$__LLVM_MinorVersion" && "$__LLVM_MajorVersion" -le 6 ]]; then
__LLVM_MinorVersion=0;
fi
;;
xenial) # Ubuntu 16.04
if [[ "$__CodeName" != "jessie" ]]; then
__CodeName=xenial
fi
;;
zesty) # Ubuntu 17.04
if [[ "$__CodeName" != "jessie" ]]; then
__CodeName=zesty
fi
;;
bionic) # Ubuntu 18.04
if [[ "$__CodeName" != "jessie" ]]; then
__CodeName=bionic
fi
;;
focal) # Ubuntu 20.04
if [[ "$__CodeName" != "jessie" ]]; then
__CodeName=focal
fi
;;
jammy) # Ubuntu 22.04
if [[ "$__CodeName" != "jessie" ]]; then
__CodeName=jammy
fi
;;
jessie) # Debian 8
__CodeName=jessie
if [[ -z "$__UbuntuRepo" ]]; then
__UbuntuRepo="http://ftp.debian.org/debian/"
fi
;;
stretch) # Debian 9
__CodeName=stretch
__LLDB_Package="liblldb-6.0-dev"
if [[ -z "$__UbuntuRepo" ]]; then
__UbuntuRepo="http://ftp.debian.org/debian/"
fi
;;
buster) # Debian 10
__CodeName=buster
__LLDB_Package="liblldb-6.0-dev"
if [[ -z "$__UbuntuRepo" ]]; then
__UbuntuRepo="http://ftp.debian.org/debian/"
fi
;;
bullseye) # Debian 11
__CodeName=bullseye
if [[ -z "$__UbuntuRepo" ]]; then
__UbuntuRepo="http://ftp.debian.org/debian/"
fi
;;
sid) # Debian sid
__CodeName=sid
if [[ -z "$__UbuntuRepo" ]]; then
__UbuntuRepo="http://ftp.debian.org/debian/"
fi
;;
tizen)
__CodeName=
__UbuntuRepo=
__Tizen=tizen
;;
alpine*)
__CodeName=alpine
__UbuntuRepo=
version="${lowerI/alpine/}"
if [[ "$version" == "edge" ]]; then
__AlpineVersion=edge
else
parts=(${version//./ })
__AlpineMajorVersion="${parts[0]}"
__AlpineMinoVersion="${parts[1]}"
__AlpineVersion="$__AlpineMajorVersion.$__AlpineMinoVersion"
fi
;;
freebsd12)
__CodeName=freebsd
__SkipUnmount=1
;;
freebsd13)
__CodeName=freebsd
__FreeBSDBase="13.0-RELEASE"
__FreeBSDABI="13"
__SkipUnmount=1
;;
illumos)
__CodeName=illumos
__SkipUnmount=1
;;
haiku)
__CodeName=haiku
__BuildArch=x64
__SkipUnmount=1
;;
--skipunmount)
__SkipUnmount=1
;;
--rootfsdir|-rootfsdir)
shift
__RootfsDir="$1"
;;
--use-mirror)
__UseMirror=1
;;
--use-jobs)
shift
MAXJOBS=$1
;;
*)
__UnprocessedBuildArgs="$__UnprocessedBuildArgs $1"
;;
esac
shift
done
if [[ "$__BuildArch" == "armel" ]]; then
__LLDB_Package="lldb-3.5-dev"
fi
__UbuntuPackages+=" ${__LLDB_Package:-}"
if [[ -n "$__LLVM_MajorVersion" ]]; then
__UbuntuPackages+=" libclang-common-${__LLVM_MajorVersion}${__LLVM_MinorVersion:+.$__LLVM_MinorVersion}-dev"
fi
if [[ -z "$__RootfsDir" && -n "$ROOTFS_DIR" ]]; then
__RootfsDir="$ROOTFS_DIR"
fi
if [[ -z "$__RootfsDir" ]]; then
__RootfsDir="$__CrossDir/../../../.tools/rootfs/$__BuildArch"
fi
if [[ -d "$__RootfsDir" ]]; then
if [[ "$__SkipUnmount" == "0" ]]; then
umount "$__RootfsDir"/* || true
fi
rm -rf "$__RootfsDir"
fi
mkdir -p "$__RootfsDir"
__RootfsDir="$( cd "$__RootfsDir" && pwd )"
if [[ "$__CodeName" == "alpine" ]]; then
__ApkToolsVersion=2.12.11
__ApkToolsDir="$(mktemp -d)"
wget "https://gitlab.alpinelinux.org/api/v4/projects/5/packages/generic//v$__ApkToolsVersion/x86_64/apk.static" -P "$__ApkToolsDir"
chmod +x "$__ApkToolsDir/apk.static"
mkdir -p "$__RootfsDir"/usr/bin
cp -v "/usr/bin/qemu-$__QEMUArch" "$__RootfsDir/usr/bin"
if [[ "$__AlpineVersion" == "edge" ]]; then
version=edge
else
version="v$__AlpineVersion"
fi
# initialize DB
"$__ApkToolsDir/apk.static" \
-X "http://dl-cdn.alpinelinux.org/alpine/$version/main" \
-X "http://dl-cdn.alpinelinux.org/alpine/$version/community" \
-U --allow-untrusted --root "$__RootfsDir" --arch "$__AlpineArch" --initdb add
if [[ "$__AlpineLlvmLibsLookup" == 1 ]]; then
__AlpinePackages+=" $("$__ApkToolsDir/apk.static" \
-X "http://dl-cdn.alpinelinux.org/alpine/$version/main" \
-X "http://dl-cdn.alpinelinux.org/alpine/$version/community" \
-U --allow-untrusted --root "$__RootfsDir" --arch "$__AlpineArch" \
search 'llvm*-libs' | sort | tail -1 | sed 's/-[^-]*//2g')"
fi
# install all packages in one go
"$__ApkToolsDir/apk.static" \
-X "http://dl-cdn.alpinelinux.org/alpine/$version/main" \
-X "http://dl-cdn.alpinelinux.org/alpine/$version/community" \
-U --allow-untrusted --no-scripts --root "$__RootfsDir" --arch "$__AlpineArch" \
add $__AlpinePackages
rm -r "$__ApkToolsDir"
elif [[ "$__CodeName" == "freebsd" ]]; then
mkdir -p "$__RootfsDir"/usr/local/etc
JOBS=${MAXJOBS:="$(getconf _NPROCESSORS_ONLN)"}
wget -O - "https://download.freebsd.org/ftp/releases/${__FreeBSDArch}/${__FreeBSDMachineArch}/${__FreeBSDBase}/base.txz" | tar -C "$__RootfsDir" -Jxf - ./lib ./usr/lib ./usr/libdata ./usr/include ./usr/share/keys ./etc ./bin/freebsd-version
echo "ABI = \"FreeBSD:${__FreeBSDABI}:${__FreeBSDMachineArch}\"; FINGERPRINTS = \"${__RootfsDir}/usr/share/keys\"; REPOS_DIR = [\"${__RootfsDir}/etc/pkg\"]; REPO_AUTOUPDATE = NO; RUN_SCRIPTS = NO;" > "${__RootfsDir}"/usr/local/etc/pkg.conf
echo "FreeBSD: { url: \"pkg+http://pkg.FreeBSD.org/\${ABI}/quarterly\", mirror_type: \"srv\", signature_type: \"fingerprints\", fingerprints: \"${__RootfsDir}/usr/share/keys/pkg\", enabled: yes }" > "${__RootfsDir}"/etc/pkg/FreeBSD.conf
mkdir -p "$__RootfsDir"/tmp
# get and build package manager
wget -O - "https://github.com/freebsd/pkg/archive/${__FreeBSDPkg}.tar.gz" | tar -C "$__RootfsDir"/tmp -zxf -
cd "$__RootfsDir/tmp/pkg-${__FreeBSDPkg}"
# needed for install to succeed
mkdir -p "$__RootfsDir"/host/etc
./autogen.sh && ./configure --prefix="$__RootfsDir"/host && make -j "$JOBS" && make install
rm -rf "$__RootfsDir/tmp/pkg-${__FreeBSDPkg}"
# install packages we need.
INSTALL_AS_USER=$(whoami) "$__RootfsDir"/host/sbin/pkg -r "$__RootfsDir" -C "$__RootfsDir"/usr/local/etc/pkg.conf update
INSTALL_AS_USER=$(whoami) "$__RootfsDir"/host/sbin/pkg -r "$__RootfsDir" -C "$__RootfsDir"/usr/local/etc/pkg.conf install --yes $__FreeBSDPackages
elif [[ "$__CodeName" == "illumos" ]]; then
mkdir "$__RootfsDir/tmp"
pushd "$__RootfsDir/tmp"
JOBS=${MAXJOBS:="$(getconf _NPROCESSORS_ONLN)"}
echo "Downloading sysroot."
wget -O - https://github.com/illumos/sysroot/releases/download/20181213-de6af22ae73b-v1/illumos-sysroot-i386-20181213-de6af22ae73b-v1.tar.gz | tar -C "$__RootfsDir" -xzf -
echo "Building binutils. Please wait.."
wget -O - https://ftp.gnu.org/gnu/binutils/binutils-2.33.1.tar.bz2 | tar -xjf -
mkdir build-binutils && cd build-binutils
../binutils-2.33.1/configure --prefix="$__RootfsDir" --target="${__illumosArch}-sun-solaris2.10" --program-prefix="${__illumosArch}-illumos-" --with-sysroot="$__RootfsDir"
make -j "$JOBS" && make install && cd ..
echo "Building gcc. Please wait.."
wget -O - https://ftp.gnu.org/gnu/gcc/gcc-8.4.0/gcc-8.4.0.tar.xz | tar -xJf -
CFLAGS="-fPIC"
CXXFLAGS="-fPIC"
CXXFLAGS_FOR_TARGET="-fPIC"
CFLAGS_FOR_TARGET="-fPIC"
export CFLAGS CXXFLAGS CXXFLAGS_FOR_TARGET CFLAGS_FOR_TARGET
mkdir build-gcc && cd build-gcc
../gcc-8.4.0/configure --prefix="$__RootfsDir" --target="${__illumosArch}-sun-solaris2.10" --program-prefix="${__illumosArch}-illumos-" --with-sysroot="$__RootfsDir" --with-gnu-as \
--with-gnu-ld --disable-nls --disable-libgomp --disable-libquadmath --disable-libssp --disable-libvtv --disable-libcilkrts --disable-libada --disable-libsanitizer \
--disable-libquadmath-support --disable-shared --enable-tls
make -j "$JOBS" && make install && cd ..
BaseUrl=https://pkgsrc.smartos.org
if [[ "$__UseMirror" == 1 ]]; then
BaseUrl=https://pkgsrc.smartos.skylime.net
fi
BaseUrl="$BaseUrl/packages/SmartOS/trunk/${__illumosArch}/All"
echo "Downloading manifest"
wget "$BaseUrl"
echo "Downloading dependencies."
read -ra array <<<"$__IllumosPackages"
for package in "${array[@]}"; do
echo "Installing '$package'"
# find last occurrence of package in listing and extract its name
package="$(sed -En '/.*href="('"$package"'-[0-9].*).tgz".*/h;$!d;g;s//\1/p' All)"
echo "Resolved name '$package'"
wget "$BaseUrl"/"$package".tgz
ar -x "$package".tgz
tar --skip-old-files -xzf "$package".tmp.tg* -C "$__RootfsDir" 2>/dev/null
done
echo "Cleaning up temporary files."
popd
rm -rf "$__RootfsDir"/{tmp,+*}
mkdir -p "$__RootfsDir"/usr/include/net
mkdir -p "$__RootfsDir"/usr/include/netpacket
wget -P "$__RootfsDir"/usr/include/net https://raw.githubusercontent.com/illumos/illumos-gate/master/usr/src/uts/common/io/bpf/net/bpf.h
wget -P "$__RootfsDir"/usr/include/net https://raw.githubusercontent.com/illumos/illumos-gate/master/usr/src/uts/common/io/bpf/net/dlt.h
wget -P "$__RootfsDir"/usr/include/netpacket https://raw.githubusercontent.com/illumos/illumos-gate/master/usr/src/uts/common/inet/sockmods/netpacket/packet.h
wget -P "$__RootfsDir"/usr/include/sys https://raw.githubusercontent.com/illumos/illumos-gate/master/usr/src/uts/common/sys/sdt.h
elif [[ "$__CodeName" == "haiku" ]]; then
JOBS=${MAXJOBS:="$(getconf _NPROCESSORS_ONLN)"}
echo "Building Haiku sysroot for x86_64"
mkdir -p "$__RootfsDir/tmp"
cd "$__RootfsDir/tmp"
git clone -b hrev56235 https://review.haiku-os.org/haiku
git clone -b btrev43195 https://review.haiku-os.org/buildtools
cd "$__RootfsDir/tmp/buildtools" && git checkout 7487388f5110021d400b9f3b88e1a7f310dc066d
# Fetch some unmerged patches
cd "$__RootfsDir/tmp/haiku"
## Add development build profile (slimmer than nightly)
git fetch origin refs/changes/64/4164/1 && git -c commit.gpgsign=false cherry-pick FETCH_HEAD
# Build jam
cd "$__RootfsDir/tmp/buildtools/jam"
make
# Configure cross tools
echo "Building cross-compiler"
mkdir -p "$__RootfsDir/generated"
cd "$__RootfsDir/generated"
"$__RootfsDir/tmp/haiku/configure" -j"$JOBS" --sysroot "$__RootfsDir" --cross-tools-source "$__RootfsDir/tmp/buildtools" --build-cross-tools x86_64
# Build Haiku packages
echo "Building Haiku"
echo 'HAIKU_BUILD_PROFILE = "development-raw" ;' > UserProfileConfig
"$__RootfsDir/tmp/buildtools/jam/jam0" -j"$JOBS" -q '<build>package' '<repository>Haiku'
BaseUrl="https://depot.haiku-os.org/__api/v2/pkg/get-pkg"
# Download additional packages
echo "Downloading additional required packages"
read -ra array <<<"$__HaikuPackages"
for package in "${array[@]}"; do
echo "Downloading $package..."
# API documented here: https://github.com/haiku/haikudepotserver/blob/master/haikudepotserver-api2/src/main/resources/api2/pkg.yaml#L60
# The schema here: https://github.com/haiku/haikudepotserver/blob/master/haikudepotserver-api2/src/main/resources/api2/pkg.yaml#L598
hpkgDownloadUrl="$(wget -qO- --post-data='{"name":"'"$package"'","repositorySourceCode":"haikuports_x86_64","versionType":"LATEST","naturalLanguageCode":"en"}' \
--header='Content-Type:application/json' "$BaseUrl" | jq -r '.result.versions[].hpkgDownloadURL')"
wget -P "$__RootfsDir/generated/download" "$hpkgDownloadUrl"
done
# Setup the sysroot
echo "Setting up sysroot and extracting needed packages"
mkdir -p "$__RootfsDir/boot/system"
for file in "$__RootfsDir/generated/objects/haiku/x86_64/packaging/packages/"*.hpkg; do
"$__RootfsDir/generated/objects/linux/x86_64/release/tools/package/package" extract -C "$__RootfsDir/boot/system" "$file"
done
for file in "$__RootfsDir/generated/download/"*.hpkg; do
"$__RootfsDir/generated/objects/linux/x86_64/release/tools/package/package" extract -C "$__RootfsDir/boot/system" "$file"
done
# Cleaning up temporary files
echo "Cleaning up temporary files"
rm -rf "$__RootfsDir/tmp"
for name in "$__RootfsDir/generated/"*; do
if [[ "$name" =~ "cross-tools-" ]]; then
: # Keep the cross-compiler
else
rm -rf "$name"
fi
done
elif [[ -n "$__CodeName" ]]; then
qemu-debootstrap $__Keyring --arch "$__UbuntuArch" "$__CodeName" "$__RootfsDir" "$__UbuntuRepo"
cp "$__CrossDir/$__BuildArch/sources.list.$__CodeName" "$__RootfsDir/etc/apt/sources.list"
chroot "$__RootfsDir" apt-get update
chroot "$__RootfsDir" apt-get -f -y install
chroot "$__RootfsDir" apt-get -y install $__UbuntuPackages
chroot "$__RootfsDir" symlinks -cr /usr
chroot "$__RootfsDir" apt-get clean
if [[ "$__SkipUnmount" == "0" ]]; then
umount "$__RootfsDir"/* || true
fi
if [[ "$__BuildArch" == "armel" && "$__CodeName" == "jessie" ]]; then
pushd "$__RootfsDir"
patch -p1 < "$__CrossDir/$__BuildArch/armel.jessie.patch"
popd
fi
elif [[ "$__Tizen" == "tizen" ]]; then
ROOTFS_DIR="$__RootfsDir" "$__CrossDir/tizen-build-rootfs.sh" "$__BuildArch"
else
echo "Unsupported target platform."
usage;
exit 1
fi

View file

@ -1,20 +0,0 @@
#!/bin/sh
if [ $# -lt 1 ]; then
echo "Usage: $0 <basebranch>"
exit 1
fi
if ! git rev-parse --is-inside-work-tree >/dev/null 2>&1; then
echo "Fatal: not inside a git repository"
exit 2
fi
basebranch=$1
if ! git rev-parse --verify --quiet $basebranch >/dev/null; then
# The base branch does not eixst, probably due to a shallow clone
git fetch -v $CI_MERGE_REQUEST_PROJECT_URL.git +refs/heads/$basebranch:refs/heads/$basebranch
fi
git --no-pager diff --diff-filter=ACMR --name-only $basebranch...HEAD -- "*/APKBUILD" | xargs -r -n1 dirname

View file

@ -1,74 +0,0 @@
# shellcheck disable=SC3043
:
# shellcheck disable=SC3040
set -eu -o pipefail
changed_repos() {
: "${APORTSDIR?APORTSDIR missing}"
: "${BASEBRANCH?BASEBRANCH missing}"
cd "$APORTSDIR"
for repo in $REPOS; do
git diff --diff-filter=ACMR --exit-code "$BASEBRANCH"...HEAD -- "$repo" >/dev/null \
|| echo "$repo"
done
}
changed_aports() {
: "${APORTSDIR?APORTSDIR missing}"
: "${BASEBRANCH?BASEBRANCH missing}"
cd "$APORTSDIR"
local repo="$1"
local aports
aports=$(git diff --name-only --diff-filter=ACMR --relative="$repo" \
"$BASEBRANCH"...HEAD -- "*/APKBUILD" | xargs -rn1 dirname)
# shellcheck disable=2086
ap builddirs -d "$APORTSDIR/$repo" $aports 2>/dev/null | xargs -rn1 basename
}
section_start() {
name=${1?arg 1 name missing}
header=${2?arg 2 header missing}
collapsed=$2
timestamp=$(date +%s)
options=""
case $collapsed in
yes|on|collapsed|true) options="[collapsed=true]";;
esac
printf "\e[0Ksection_start:%d:%s%s\r\e[0K%s\n" "$timestamp" "$name" "$options" "$header"
}
section_end() {
name=$1
timestamp=$(date +%s)
printf "\e[0Ksection_end:%d:%s\r\e[0K" "$timestamp" "$name"
}
gitlab_key_to_rsa() {
KEY=$1
TYPE=$2
TGT=$3
TGT_DIR=${TGT%/*}
if [ "$TGT" == "$TGT_DIR" ]; then
TGT_DIR="./"
fi
if [ ! -d "$TGT_DIR" ]; then
mkdir -p "$TGT_DIR"
fi
case $TYPE in
rsa-public) local type="PUBLIC";;
rsa-private) local type="RSA PRIVATE";;
esac
echo "-----BEGIN $type KEY-----" > "$TGT"
echo $1 | sed 's/.\{64\}/&\
/g' >> "$TGT"
echo "-----END $type KEY-----" >> "$TGT"
}

View file

@ -1,96 +0,0 @@
#!/bin/sh
BLUE="\e[34m"
MAGENTA="\e[35m"
RESET="\e[0m"
readonly BASEBRANCH=$CI_MERGE_REQUEST_TARGET_BRANCH_NAME
verbose() {
echo "> " "$@"
# shellcheck disable=SC2068
$@
}
debugging() {
[ -n "$CI_DEBUG_BUILD" ]
}
debug() {
if debugging; then
verbose "$@"
fi
}
# git no longer allows to execute in repositories owned by different users
doas chown -R gitlab-runner: .
fetch_flags="-qn"
debugging && fetch_flags="-v"
git fetch $fetch_flags "$CI_MERGE_REQUEST_PROJECT_URL" \
"+refs/heads/$BASEBRANCH:refs/heads/$BASEBRANCH"
if debugging; then
merge_base=$(git merge-base "$BASEBRANCH" HEAD)
echo "$merge_base"
git --version
git config -l
git tag merge-base "$merge_base" || { echo "Could not determine merge-base"; exit 50; }
git log --oneline --graph --decorate --all
fi
has_problems=0
for PKG in $(changed-aports "$BASEBRANCH"); do
printf "$BLUE==>$RESET Linting $PKG\n"
(
cd "$PKG"
repo=$(basename $(dirname $PKG));
if [ "$repo" = "main" ]; then
export SKIP_AL1=1
export SKIP_AL13=1
fi
printf "\n\n"
printf "$BLUE"
printf '======================================================\n'
printf " parse APKBUILD:\n"
printf '======================================================'
printf "$RESET\n\n"
( . ./APKBUILD ) || has_problems=1
printf "\n\n"
printf "$BLUE"
printf '======================================================\n'
printf " abuild sanitycheck:\n"
printf '======================================================'
printf "$RESET\n\n"
abuild sanitycheck || has_problems=1
printf "\n\n"
printf "$BLUE"
printf '======================================================\n'
printf " apkbuild-shellcheck:\n"
printf '======================================================'
printf "$RESET\n"
apkbuild-shellcheck || has_problems=1
printf "\n\n"
printf "$BLUE"
printf '======================================================\n'
printf " apkbuild-lint:\n"
printf '======================================================'
printf "$RESET\n\n"
apkbuild-lint APKBUILD || has_problems=1
return $has_problems
) || has_problems=1
echo
done
exit $has_problems

View file

@ -1,55 +0,0 @@
#!/bin/sh
# shellcheck disable=SC3043
. $CI_PROJECT_DIR/.gitlab/bin/functions.sh
# shellcheck disable=SC3040
set -eu -o pipefail
readonly APORTSDIR=$CI_PROJECT_DIR
readonly REPOS="backports user"
readonly BASEBRANCH=$CI_MERGE_REQUEST_TARGET_BRANCH_NAME
export GIT_SSH_COMMAND="ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no"
gitlab_key_to_rsa $ABUILD_KEY rsa-private $HOME/.abuild/$ABUILD_KEY_NAME.rsa
gitlab_key_to_rsa $ABUILD_KEY_PUB rsa-public $HOME/.abuild/$ABUILD_KEY_NAME.rsa.pub
gitlab_key_to_rsa $SSH_KEY rsa-private $HOME/.ssh/id_rsa
chmod 700 "$HOME"/.ssh/id_rsa
chmod 700 "$HOME"/.abuild/$ABUILD_KEY_NAME.rsa
echo "PACKAGER_PRIVKEY=$HOME/.abuild/$ABUILD_KEY_NAME.rsa" > $HOME/.abuild/abuild.conf
echo "REPODEST=$HOME/repo-apk" >> $HOME/.abuild/abuild.conf
doas cp $HOME/.abuild/$ABUILD_KEY_NAME.rsa.pub /etc/apk/keys/.
if [ -d $HOME/repo-apk ]; then
git -C $HOME/repo-apk checkout $BASEBRANCH
git -C $HOME/repo-apk pull --rebase
else
git clone git@lab.ilot.io:ayakael/repo-apk -b $BASEBRANCH $HOME/repo-apk
fi
for i in $(find packages -type f -name "*.apk"); do
install -vDm644 $i ${i/packages/$HOME\/repo-apk}
done
fetch_flags="-qn"
git fetch $fetch_flags "$CI_MERGE_REQUEST_PROJECT_URL" \
"+refs/heads/$BASEBRANCH:refs/heads/$BASEBRANCH"
for repo in $(changed_repos); do
rm $HOME/repo-apk/$repo/*/APKINDEX.tar.gz | true
mkdir -p $repo/DUMMY
echo "pkgname=DUMMY" > $repo/DUMMY/APKBUILD
cd $repo/DUMMY
for i in $(find $HOME/repo-apk/$repo -maxdepth 1 -mindepth 1 -printf '%P '); do
CHOST=$i abuild index
done
cd "$CI_PROJECT_DIR"
rm -R $repo/DUMMY
done
git -C $HOME/repo-apk add .
git -C $HOME/repo-apk commit -m "Update from $CI_MERGE_REQUEST_IID - $CI_MERGE_REQUEST_TITLE"
git -C $HOME/repo-apk push

View file

@ -1,17 +0,0 @@
diff --git a/usr/bin/abuild.orig b/usr/bin/abuild
index 71e0681..d4ae3dd 100755
--- a/usr/bin/abuild.orig
+++ b/usr/bin/abuild
@@ -2231,7 +2231,11 @@ calcdeps() {
list_has $i $builddeps && continue
subpackages_has ${i%%[<>=]*} || builddeps="$builddeps $i"
done
- hostdeps="$EXTRADEPENDS_TARGET"
+ for i in $EXTRADEPENDS_HOST $EXTRADEPENDS_TARGET $depends $makedepends; do
+ [ "$pkgname" = "${i%%[<>=]*}" ] && continue
+ list_has $i $hostdeps && continue
+ subpackages_has ${i%%[<>=]*} || hostdeps="$hostdeps $i"
+ done
fi
}

View file

@ -1,5 +1,63 @@
Repository with various custom APKBUILDs.
# ayaports
Upstream: https://ayakael.net/forge/ayaports
Use at your own risk. While they will likely work, as I built them for my own use, I cannot guarantee that they'll stay up to date or that they won't burn your house down.
## Description
One of these days I'll PR them to Alpine's package repository.
This repository contains aports that are not yet merged in the official Alpine
Linux repository or dont adhere to Alpine polices. Packages are automatically
built using CI. Once built, they are deployed to a git-lfs repository, making
them available to apk.
Branches are matched to Alpine releases.
## Repositories
You can browse all the repositories at https://codeberg.org/ayakael/ayaports
Affixed to each repository description is the appropriate link for use in
`/etc/apk/repositories`.
#### Backports
```
https://ayakael.net/api/packages/forge/alpine/v3.21/backports
```
Aports from the official Alpine repositories backported from edge. This is only
available and kept up-to-date on latest stable release.
#### User
```
https://ayakael.net/api/packages/forge/alpine/edge/user
```
Aports that have yet to be (or may never be) upstreamed to the official
aports.
## How to use
Add security key of the apk repository to your /etc/apk/keys:
```shell
cd /etc/apk/keys
curl -JO https://ayakael.net/api/packages/forge/alpine/key
```
Add repositories that you want to use (see above) to `/etc/apk/repositories`.
## Support
Generally, only the latest branch is kept up-to-date. That said, if an aport
is broken on the latest release due to a dependency incompatibility, it will be
kept up-to-date on the release it last works on.
As these aports are built for my own application, I make no guarantees that
they will work for you.
## Contribution & bug reports
If you wish to contribute to this aports collection, or wish to report a bug,
you can do so on Codeberg here:
https://codeberg.org/ayakael/ayaports/issues
For packages that are in backports, bug reports and merge requests
should be done on Alpine's aports repo instance:
https://gitlab.alpinelinux.org/alpine/aports
## License
This readme, abuilds and support scripts are licensed under MIT License.

View file

@ -0,0 +1,25 @@
diff --color -Nur calibre-6.17.0.orig/src/calibre/gui2/update.py calibre-6.17.0/src/calibre/gui2/update.py
--- calibre-6.17.0.orig/src/calibre/gui2/update.py 2023-05-06 11:36:35.678461036 -0700
+++ calibre-6.17.0/src/calibre/gui2/update.py 2023-05-06 11:39:10.365134930 -0700
@@ -82,20 +82,6 @@
while not self.shutdown_event.is_set():
calibre_update_version = NO_CALIBRE_UPDATE
plugins_update_found = 0
- try:
- version = get_newest_version()
- if version[:2] > numeric_version[:2]:
- calibre_update_version = version
- except Exception as e:
- prints('Failed to check for calibre update:', as_unicode(e))
- try:
- update_plugins = get_plugin_updates_available(raise_error=True)
- if update_plugins is not None:
- plugins_update_found = len(update_plugins)
- except Exception as e:
- prints('Failed to check for plugin update:', as_unicode(e))
- if calibre_update_version != NO_CALIBRE_UPDATE or plugins_update_found > 0:
- self.signal.update_found.emit(calibre_update_version, plugins_update_found)
self.shutdown_event.wait(self.INTERVAL)
def shutdown(self):

116
backports/calibre/APKBUILD Normal file
View file

@ -0,0 +1,116 @@
# Maintainer: Cowington Post <cowingtonpost@gmail.com>
pkgname=calibre
pkgver=7.21.0
pkgrel=0
pkgdesc="Ebook management application"
# qt6-webengine
arch="x86_64 aarch64"
url="https://calibre-ebook.com"
license="GPL-3.0-or-later"
depends="
font-liberation
libwmf
mtdev
optipng
poppler
py3-apsw
py3-beautifulsoup4
py3-css-parser
py3-cssselect
py3-dateutil
py3-dnspython
py3-feedparser
py3-fonttools
py3-html2text
py3-html5-parser
py3-html5lib
py3-jeepney
py3-lxml
py3-markdown
py3-mechanize
py3-msgpack
py3-netifaces
py3-pillow
py3-psutil
py3-pycryptodome
py3-pygments
py3-pyqt6-webengine
py3-regex
py3-xxhash
py3-zeroconf
qt6-qtimageformats
qt6-qtsvg
qt6-qtwebengine
udisks2
"
makedepends="
cmake
curl
hunspell-dev
hyphen-dev
libmtp-dev
libstemmer-dev
libusb-dev
podofo-dev
py3-pyqt-builder
py3-pyqt6-sip
py3-sip
python3-dev
qt6-qtbase-dev
uchardet-dev
xdg-utils
ffmpeg-dev
"
subpackages="
$pkgname-pyc
$pkgname-doc
$pkgname-bash-completion
$pkgname-zsh-completion
"
source="https://download.calibre-ebook.com/$pkgver/calibre-$pkgver.tar.xz
0001-$pkgname-no-update.patch
"
# net: downloads iso-codes
# !check: no tests ran
options="net !check"
export LANG="en_US.UTF-8"
prepare() {
default_prepare
rm -f resources/calibre-portable.*
}
build() {
python3 setup.py build
python3 setup.py iso639
python3 setup.py iso3166
python3 setup.py liberation_fonts --system-liberation_fonts --path-to-liberation_fonts /usr/share/fonts/liberation
python3 setup.py mathjax
python3 setup.py gui
}
check() {
python3 -m unittest discover
}
package() {
# needed for zsh
mkdir -p "$pkgdir"/usr/share/zsh/site-functions
python3 setup.py install \
--staging-root="$pkgdir"/usr \
--system-plugins-location=/usr/share/calibre/system-plugins
cp -a man-pages/ "$pkgdir"/usr/share/man
rm -r "$pkgdir"/usr/share/calibre/rapydscript/
python3 -m compileall -fq "$pkgdir"/usr
}
sha512sums="
0c2ee610833df83219c0c33b09e1374a8262f1630ccd48e3c4725c92922a3ac5d102ad83fc213457fb9de3efa4f5a2c98ff6dff039828e1661085a1054d7f631 calibre-7.21.0.tar.xz
eb8e7ce40ff8b8daf6e7e55a5dff8ec4dff06c45744266bb48b3194e92ab1196bc91468203e3c2ca1e5144166a7d6be90e6cf0253513e761b56a4c85be4c2c76 0001-calibre-no-update.patch
"

View file

@ -1,20 +1,19 @@
# Maintainer: Antoine Martin (ayakael) <dev@ayakael.net>
# Contributor: Antoine Martin (ayakael) <dev@ayakael.net>
# Maintainer: Antoine Martin (ayakael) <dev@ayakael.net>
pkgname=caprine
pkgver=2.57.0
pkgrel=1
pkgver=2.60.1
pkgrel=2
pkgdesc="Elegant Facebook Messenger desktop app"
arch="noarch"
arch="x86_64 aarch64" # blocked by electron
url="https://github.com/sindresorhus/caprine"
license="MIT"
depends="electron"
makedepends="npm findutils coreutils"
options="!check"
options="!check" # No test suite
source="
$pkgname-$pkgver.tar.gz::https://github.com/sindresorhus/caprine/archive/refs/tags/v$pkgver.tar.gz
caprine.desktop
caprine.js
caprine.sh
"
build() {
@ -27,7 +26,7 @@ build() {
}
package() {
local appdir=/usr/lib/$pkgname
local appdir=/usr/lib/caprine
install -d "$pkgdir"$appdir
cp -r ./* "$pkgdir"$appdir
@ -35,13 +34,13 @@ package() {
install -dm755 "$pkgdir/usr/share/pixmaps"
install -m644 build/icon.png "$pkgdir/usr/share/pixmaps/$pkgname.png"
install -Dm755 "$srcdir"/$pkgname.js "$pkgdir"/usr/bin/$pkgname
install -Dm644 "$srcdir"/$pkgname.desktop \
"$pkgdir"/usr/share/applications/$pkgname.desktop
install -Dm755 "$srcdir"/caprine.sh "$pkgdir"/usr/bin/caprine
install -Dm644 "$srcdir"/caprine.desktop \
"$pkgdir"/usr/share/applications/caprine.desktop
install -dm755 "$pkgdir"/usr/share/licenses/$pkgname
ln -s "$(realpath -m --relative-to=/usr/share/licenses/$pkgname $appdir/license)" \
"$pkgdir"/usr/share/licenses/$pkgname
install -dm755 "$pkgdir"/usr/share/licenses/caprine
ln -s "$(realpath -m --relative-to=/usr/share/licenses/caprine $appdir/license)" \
"$pkgdir"/usr/share/licenses/caprine
# Clean up
rm -r "$pkgdir"$appdir/build
@ -49,7 +48,7 @@ package() {
rm -r "$pkgdir"$appdir/tsconfig.json
find "$pkgdir"$appdir \
-name "package.json" \
-exec sed -e "s|$srcdir/$pkgname|$appdir|" \
-exec sed -e "s|$srcdir/caprine|$appdir|" \
-i {} \; \
-or -name ".*" -prune -exec rm -r '{}' \; \
-or -name "bin" -prune -exec rm -r '{}' \; \
@ -60,7 +59,7 @@ package() {
-or -name "test" -prune -exec rm -r '{}' \;
}
sha512sums="
9d019e4aa61f94ffb627f1b647266d28d47c005515d9193ae8a6e67dbac4b4d931ca907dcb2627e4c8eb00e59ab825fc9dd3d9791064cf1cfbd28d8eff4d2589 caprine-2.57.0.tar.gz
0df7f233c91f5a044dcffde94b976c6ad71e6d355518615c48cd825a249c01d63f455de31ece69193a66ca0fd8157506f9b88088da1bd47fc75e9d3800784ed0 caprine-2.60.1.tar.gz
a469e3bea24926119e51642b777ef794c5fa65421107903f967c36d81bbb1adb3d52469ce3a3301b2c890f1aa53ab989ded22a7c6e811fb8cf0a582dbd835e19 caprine.desktop
44280c62ce43bdafa8528729371fccb16b8a0e3db7aca28d5c157ae0144dca5fbb023b8883b561955aa28ab62e967f2674d8c6bcaff186e2cdd0e7ba8beab9ac caprine.js
3ad8994c1a0417e73d622587769e527b4236a32c1a89442ff76413b75b4392d667c9e2908979b453e5926e54db6d94b31625340c5a94e84e91ea77f56feae778 caprine.sh
"

View file

@ -0,0 +1,2 @@
#!/bin/sh
/usr/bin/electron "/usr/lib/caprine"

View file

@ -1,39 +0,0 @@
# Contributor: Bart Ribbers <bribbers@disroot.org>
# Maintainer: psykose <alice@ayaya.dev>
pkgname=catch2-3
pkgver=3.3.2
pkgrel=0
arch="all"
url="https://github.com/catchorg/Catch2"
pkgdesc="A modern, C++-native, header-only, test framework for unit-tests (v3)"
license="BSL-1.0"
makedepends="
cmake
python3
samurai
"
source="https://github.com/catchorg/Catch2/archive/v$pkgver/catch2-v$pkgver.tar.gz"
subpackages="$pkgname-doc"
builddir="$srcdir/Catch2-$pkgver"
build() {
cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=MinSizeRel \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib
cmake --build build
}
check() {
cd build
# ApprovalTests is broken https://github.com/catchorg/Catch2/issues/1780
CTEST_OUTPUT_ON_FAILURE=TRUE ctest -E "ApprovalTests"
}
package() {
DESTDIR="$pkgdir" cmake --install build
}
sha512sums="
3d0c5666509a19be54ea0c48a3c8e1c4a951a2d991a7c9f7fe6d326661464538f1ab9dc573b1b2647f49fb6bef45bbd866142a4ce0fba38545ad182b8d55f61f catch2-v3.3.2.tar.gz
"

View file

@ -1,58 +0,0 @@
# Maintainer: Drew DeVault <sir@cmpwn.com>
pkgname=celery
pkgver=5.2.7
pkgrel=3
pkgdesc="An asynchronous task queue/job queue based on distributed message passing"
url="http://www.celeryproject.org/"
arch="noarch !s390x" # lmited by py3-kombu
license="Apache-2.0"
depends="
py3-billiard
py3-click
py3-click-didyoumean
py3-click-plugins
py3-click-repl
py3-kombu
py3-tz
py3-vine
python3
"
makedepends="python3-dev py3-setuptools py3-gpep517 py3-wheel"
install="$pkgname.pre-install"
source="https://files.pythonhosted.org/packages/source/c/celery/celery-$pkgver.tar.gz
celery.confd
celery.initd"
pkgusers="celery"
pkggroups="celery"
subpackages="$pkgname-openrc $pkgname-pyc"
provides="py3-celery=$pkgver-r$pkgrel"
# TODO: requires many many many dependencies
options="!check"
build() {
gpep517 build-wheel \
--wheel-dir dist \
--output-fd 3 3>&1 >&2
}
package() {
# install scripts
install -m755 -D "$srcdir"/$pkgname.initd \
"$pkgdir"/etc/init.d/$pkgname
install -m644 -D "$srcdir"/$pkgname.confd \
"$pkgdir"/etc/conf.d/$pkgname
python3 -m installer -d "$pkgdir" \
dist/*.whl
}
check() {
python3 setup.py test
}
sha512sums="
68e3bb082f97ebe20391293cc8fa96c41c8f5ac5e8c24b2b7bd66eb104ec459bdfa49741e47486676e5daa88d7a71e3eb0d9432851aeafc74b0d4352e567e853 celery-5.2.7.tar.gz
c283956f8fe386ef39cb3e165a20d1cc7ff6398fbf5a922bec6b61fe4a71188519baed9feafc4e0e5b6864851545edaba54b89ba3613b2cf2ddd6426a6bf8fc2 celery.confd
3e5e2c6a55672bc0a02fca93ad334c694066c636ed62f2b55cb8f27b9301c429d68ce53667ec744b9b152ec786de7aea90cc05a143d6942cf5d2f34e51ca4089 celery.initd
"

View file

@ -1,4 +0,0 @@
CELERY_USER=celery
CELERY_LOG=/var/log/celery.log
CELERY_REDIR="1>/dev/null 2>> ${CELERY_LOG}"
CELERY_OPTS="-A celeryapp $CELERY_REDIR"

View file

@ -1,16 +0,0 @@
#!/sbin/openrc-run
supervisor=supervise-daemon
description="celery queue worker"
: ${CELERY_USER:="celery"}
: ${CELERY_GROUP:="$(id -gn $CELERY_USER)"}
pidfile="/run/$RC_SVCNAME.sd.pid"
supervise_daemon_args="-u $CELERY_USER -g $CELERY_GROUP"
command=/usr/bin/celery
command_args="${CELERY_OPTS}"
depends() {
use net
}

View file

@ -1,7 +0,0 @@
#!/bin/sh
addgroup -S celery 2>/dev/null
adduser -S -D -H -h /usr/share/celery -s /sbin/nologin -G celery -g celery celery 2>/dev/null
exit 0

36
backports/coin/APKBUILD Normal file
View file

@ -0,0 +1,36 @@
# Contributor: Aiden Grossman <agrossman154@yahoo.com>
# Maintainer:
pkgname=coin
pkgver=4.0.0
pkgrel=7
pkgdesc="OpenGL OpenInventor compatible graphics library"
url="https://github.com/coin3d/coin"
license="BSD-3-Clause"
arch="all"
makedepends="boost-dev cmake glu-dev graphviz samurai"
subpackages="$pkgname-dev"
source="https://github.com/coin3d/coin/releases/download/Coin-$pkgver/coin-$pkgver-src.tar.gz
TestSuitePatch.patch
"
builddir="$srcdir/coin"
build() {
cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCOIN_BUILD_TESTS=ON
cmake --build build
}
check() {
cmake --build build --target test
}
package() {
DESTDIR="$pkgdir" cmake --install build
}
sha512sums="
e036276a243bfe252569cee1b67d38b8633fcf35bdf4e366a92ca67e23799d54d91fe272c23b383c451d330cee284809f28f237857493948149e0da1ebd64fae coin-4.0.0-src.tar.gz
aab464244b13371badf0878e5bfbcce859a42756cf8c7657d1480318aa291d296eac2741219c346bae056f761c5f46857f8fd1ec1c4129f86bc10236d3869deb TestSuitePatch.patch
"

View file

@ -0,0 +1,11 @@
--- ./testsuite/TestSuiteUtils.cpp
+++ ./testsuite/TestSuiteUtils.cpp
@@ -39,7 +39,7 @@
#elif defined(_WIN32)
#define USE_WIN32
#else //_WIN32
-#error Unknown system
+#define USE_POSIX
#endif //POSIX
#include <Inventor/errors/SoDebugError.h>

76
backports/cura/APKBUILD Normal file
View file

@ -0,0 +1,76 @@
# Contributor: Anjandev Momi <anjan@momi.ca>
# Maintainer: Anjandev Momi <anjan@momi.ca>
pkgname=cura
# uranium and curaengine packages must be updated in sync with this verion number
# py3-pynest2d and fdm-materials should be checked as well, but their versions are not always in sync
pkgver=5.2.2
pkgrel=1
pkgdesc="3D printer / slicing GUI built on top of the Uranium framework"
url="https://ultimaker.com/software/ultimaker-cura"
# ppc64le: no py3-keyring
# x86: no curaengine
# armhf: no uranium, qt5-qtquickcontrols, qt5-qtquickcontrols2, qt5-qtgraphicaleffects
# riscv64: no uranium
# s390x: no py3-trimesh, no py3-numpy-stl
# armv7: no py3-trimesh
arch="noarch !ppc64le !x86 !armhf !riscv64 !s390x !armv7"
license="LGPL-3.0-or-later"
# add cura-binary-data to depends when packaged
depends="
curaengine
fdm-materials
uranium
py3-arcus
py3-keyring
py3-numpy-stl
py3-pyclipper
py3-pynest2d
py3-pyserial
py3-qt6
py3-requests
py3-trimesh
py3-zeroconf
"
makedepends="samurai cmake gettext gettext-dev" # needs msginit from gettext
checkdepends="py3-pytest"
subpackages="$pkgname-lang"
source="$pkgname-$pkgver.tar.gz::https://github.com/Ultimaker/Cura/archive/refs/tags/$pkgver.tar.gz
AppDesktopData.patch
CuraVersion.patch
cmake-helpers.patch
cmake.patch"
builddir="$srcdir/Cura-$pkgver"
options="!check" # tests broken after v5.x
build() {
local pyver="$(python3 -c 'import sys; print(f"{sys.version_info.major}.{sys.version_info.minor}")')"
cmake -B build -G Ninja \
-DCURA_VERSION=$pkgver \
-DPython_VERSION=$pyver \
-DURANIUM_DIR=/usr/share/uranium \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib \
-DGETTEXT_MSGINIT_EXECUTABLE=msginit \
-DCURA_BINARY_DATA_DIRECTORY=/usr/share/cura \
-DCMAKE_BUILD_TYPE=minsizerel
cmake --build build
}
package() {
DESTDIR="$pkgdir" cmake --install build
mv $pkgdir/usr/bin/cura_app.py $pkgdir/usr/bin/cura
# don't ever send any user or print info through the internet to Ultimaker
rm -rf "$pkgdir/usr/lib/cura/plugins/SliceInfoPlugin"
install -d "$pkgdir"/usr/share/locale
mv "$pkgdir"/usr/share/cura/resources/i18n/* "$pkgdir"/usr/share/locale/
}
sha512sums="
5d4e0fdc740d0c048905e2b87cc8c73eedea59b54766b74760505902007b365582d22b46b1cfdcd6914828840865c10a3beb0ef6a1f04ea181c81d44f42434bc cura-5.2.2.tar.gz
214e373f6cab7e3ccac12c96d1b5ca636d8d1e9ecdadaae84fc28fb429969c7c2d6055ce2a01b6db3ad85ab6cbc8d135cf2c26c77d7cfe13a73eb81aa5e85f11 AppDesktopData.patch
e3bb302db70ca195b2ce9831e71302c8ee2a51955fecc7264a495d7d4fc9c107cfd48811aa5865f16671e7b1ae126f95d3d7bbb6a70f367f7f91a2b32bce377b CuraVersion.patch
0db4ff97e7f82ae1a9dbc9c330d08c3e46249feeb3fb630f7c4e2de73749327337ec041680c39a07e0b5034c1b3f3656d75614ab4dc2f39861c8e27bdb2a58ef cmake-helpers.patch
05a73f892700ff6279230385b04180873a62b7413fa7f7d55ae150f1bcee57ef05eda0bd7fe444fe660ab66a044c958f42badd33b743fca81033ae8f19dd3805 cmake.patch
"

View file

@ -0,0 +1,58 @@
--- /dev/null
+++ ./com.ultimaker.cura.appdata.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright 2016 Richard Hughes <richard@hughsie.com> -->
+<component type="desktop">
+ <id>com.ultimaker.cura.desktop</id>
+ <metadata_license>CC0-1.0</metadata_license>
+ <project_license>LGPL-3.0 and CC-BY-SA-4.0</project_license>
+ <name>Cura</name>
+ <summary>The world's most advanced 3d printer software</summary>
+ <description>
+ <p>
+ Cura creates a seamless integration between hardware, software and
+ materials for the best 3D printing experience around.
+ Cura supports the 3MF, OBJ and STL file formats and is available on
+ Windows, Mac and Linux.
+ </p>
+ <ul>
+ <li>Novices can start printing right away</li>
+ <li>Experts are able to customize 300 settings to achieve the best results</li>
+ <li>Optimized profiles for Ultimaker materials</li>
+ <li>Supported by a global network of Ultimaker certified service partners</li>
+ <li>Print multiple objects at once with different settings for each object</li>
+ <li>Cura supports STL, 3MF and OBJ file formats</li>
+ <li>Open source and completely free</li>
+ </ul>
+ </description>
+ <screenshots>
+ <screenshot type="default">
+ <image>https://raw.githubusercontent.com/Ultimaker/Cura/master/screenshot.png</image>
+ </screenshot>
+ </screenshots>
+ <url type="homepage">https://ultimaker.com/software/ultimaker-cura?utm_source=cura&amp;utm_medium=software&amp;utm_campaign=cura-update-linux</url>
+ <translation type="gettext">Cura</translation>
+</component>
--- /dev/null
+++ ./com.ultimaker.cura.desktop.in
@@ -0,0 +1,19 @@
+[Desktop Entry]
+Name=Ultimaker Cura
+Name[de]=Ultimaker Cura
+Name[nl]=Ultimaker Cura
+GenericName=3D Printing Software
+GenericName[de]=3D-Druck-Software
+GenericName[nl]=3D-printsoftware
+Comment=Cura converts 3D models into paths for a 3D printer. It prepares your print for maximum accuracy, minimum printing time and good reliability with many extra features that make your print come out great.
+Comment[de]=Cura wandelt 3D-Modelle in Pfade für einen 3D-Drucker um. Es bereitet Ihren Druck für maximale Genauigkeit, minimale Druckzeit und guter Zuverlässigkeit mit vielen zusätzlichen Funktionen vor, damit Ihr Druck großartig wird.
+Comment[nl]=Cura converteert 3D-modellen naar paden voor een 3D printer. Het bereidt je print voor om zeer precies, snel en betrouwbaar te kunnen printen, met veel extra functionaliteit om je print er goed uit te laten komen.
+Exec=@CMAKE_INSTALL_FULL_BINDIR@/cura %F
+TryExec=@CMAKE_INSTALL_FULL_BINDIR@/cura
+Icon=cura-icon
+Terminal=false
+Type=Application
+MimeType=model/stl;application/vnd.ms-3mfdocument;application/prs.wavefront-obj;image/bmp;image/gif;image/jpeg;image/png;text/x-gcode;application/x-amf;application/x-ply;application/x-ctm;model/vnd.collada+xml;model/gltf-binary;model/gltf+json;model/vnd.collada+xml+zip;
+Categories=Graphics;
+Keywords=3D;Printing;Slicer;
+StartupWMClass=cura.real

View file

@ -0,0 +1,16 @@
--- /dev/null
+++ ./cura/CuraVersion.py.in
@@ -0,0 +1,13 @@
+# Copyright (c) 2020 Ultimaker B.V.
+# Cura is released under the terms of the LGPLv3 or higher.
+
+CuraAppName = "@CURA_APP_NAME@"
+CuraAppDisplayName = "@CURA_APP_DISPLAY_NAME@"
+CuraVersion = "@CURA_VERSION@"
+CuraBuildType = "@CURA_BUILDTYPE@"
+CuraDebugMode = True if "@_cura_debugmode@" == "ON" else False
+CuraCloudAPIRoot = "@CURA_CLOUD_API_ROOT@"
+CuraCloudAPIVersion = "@CURA_CLOUD_API_VERSION@"
+CuraCloudAccountAPIRoot = "@CURA_CLOUD_ACCOUNT_API_ROOT@"
+CuraMarketplaceRoot = "@CURA_MARKETPLACE_ROOT@"
+CuraDigitalFactoryURL = "@CURA_DIGITAL_FACTORY_URL@"

View file

@ -0,0 +1,95 @@
--- /dev/null
+++ ./cmake/CuraPluginInstall.cmake
@@ -0,0 +1,92 @@
+# Copyright (c) 2022 Ultimaker B.V.
+# CuraPluginInstall.cmake is released under the terms of the LGPLv3 or higher.
+
+#
+# This module detects all plugins that need to be installed and adds them using the CMake install() command.
+# It detects all plugin folder in the path "plugins/*" where there's a "plugin.json" in it.
+#
+# Plugins can be configured to NOT BE INSTALLED via the variable "CURA_NO_INSTALL_PLUGINS" as a list of string in the
+# form of "a;b;c" or "a,b,c". By default all plugins will be installed.
+#
+
+option(PRINT_PLUGIN_LIST "Should the list of plugins that are installed be printed?" ON)
+
+# Options or configuration variables
+set(CURA_NO_INSTALL_PLUGINS "" CACHE STRING "A list of plugins that should not be installed, separated with ';' or ','.")
+
+file(GLOB_RECURSE _plugin_json_list ${CMAKE_SOURCE_DIR}/plugins/*/plugin.json)
+list(LENGTH _plugin_json_list _plugin_json_list_len)
+
+# Sort the lists alphabetically so we can handle cases like this:
+# - plugins/my_plugin/plugin.json
+# - plugins/my_plugin/my_module/plugin.json
+# In this case, only "plugins/my_plugin" should be added via install().
+set(_no_install_plugin_list ${CURA_NO_INSTALL_PLUGINS})
+# Sanitize the string so the comparison will be case-insensitive.
+string(STRIP "${_no_install_plugin_list}" _no_install_plugin_list)
+string(TOLOWER "${_no_install_plugin_list}" _no_install_plugin_list)
+
+# WORKAROUND counterpart of what's in cura-build.
+string(REPLACE "," ";" _no_install_plugin_list "${_no_install_plugin_list}")
+
+list(LENGTH _no_install_plugin_list _no_install_plugin_list_len)
+
+if(_no_install_plugin_list_len GREATER 0)
+ list(SORT _no_install_plugin_list)
+endif()
+if(_plugin_json_list_len GREATER 0)
+ list(SORT _plugin_json_list)
+endif()
+
+# Check all plugin directories and add them via install() if needed.
+set(_install_plugin_list "")
+foreach(_plugin_json_path ${_plugin_json_list})
+ get_filename_component(_plugin_dir ${_plugin_json_path} DIRECTORY)
+ file(RELATIVE_PATH _rel_plugin_dir ${CMAKE_CURRENT_SOURCE_DIR} ${_plugin_dir})
+ get_filename_component(_plugin_dir_name ${_plugin_dir} NAME)
+
+ # Make plugin name comparison case-insensitive
+ string(TOLOWER "${_plugin_dir_name}" _plugin_dir_name_lowercase)
+
+ # Check if this plugin needs to be skipped for installation
+ set(_add_plugin ON) # Indicates if this plugin should be added to the build or not.
+ set(_is_no_install_plugin OFF) # If this plugin will not be added, this indicates if it's because the plugin is
+ # specified in the NO_INSTALL_PLUGINS list.
+ if(_no_install_plugin_list)
+ if("${_plugin_dir_name_lowercase}" IN_LIST _no_install_plugin_list)
+ set(_add_plugin OFF)
+ set(_is_no_install_plugin ON)
+ endif()
+ endif()
+
+ # Make sure this is not a subdirectory in a plugin that's already in the install list
+ if(_add_plugin)
+ foreach(_known_install_plugin_dir ${_install_plugin_list})
+ if(_plugin_dir MATCHES "${_known_install_plugin_dir}.+")
+ set(_add_plugin OFF)
+ break()
+ endif()
+ endforeach()
+ endif()
+
+ if(_add_plugin)
+ if(${PRINT_PLUGIN_LIST})
+ message(STATUS "[+] PLUGIN TO INSTALL: ${_rel_plugin_dir}")
+ endif()
+ get_filename_component(_rel_plugin_parent_dir ${_rel_plugin_dir} DIRECTORY)
+ install(DIRECTORY ${_rel_plugin_dir}
+ DESTINATION lib${LIB_SUFFIX}/cura/${_rel_plugin_parent_dir}
+ PATTERN "__pycache__" EXCLUDE
+ PATTERN "*.qmlc" EXCLUDE
+ )
+ list(APPEND _install_plugin_list ${_plugin_dir})
+ elseif(_is_no_install_plugin)
+ if(${PRINT_PLUGIN_LIST})
+ message(STATUS "[-] PLUGIN TO REMOVE : ${_rel_plugin_dir}")
+ endif()
+ execute_process(COMMAND ${Python_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/cmake/mod_bundled_packages_json.py
+ -d ${CMAKE_CURRENT_SOURCE_DIR}/resources/bundled_packages
+ ${_plugin_dir_name}
+ RESULT_VARIABLE _mod_json_result)
+ endif()
+endforeach()

View file

@ -0,0 +1,85 @@
--- ./CMakeLists.txt.orig
+++ ./CMakeLists.txt
@@ -1,10 +1,6 @@
# Copyright (c) 2022 Ultimaker B.V.
# Cura is released under the terms of the LGPLv3 or higher.
-# NOTE: This is only being used for translation scripts.
-
-# For MSVC flags, will be ignored on non-Windows OS's and this project in general. Only needed for cura-build-environment.
-cmake_policy(SET CMP0091 NEW)
project(cura)
cmake_minimum_required(VERSION 3.18)
@@ -15,8 +11,44 @@
set(URANIUM_DIR "${CMAKE_SOURCE_DIR}/../Uranium" CACHE PATH "The location of the Uranium repository")
set(URANIUM_SCRIPTS_DIR "${URANIUM_DIR}/scripts" CACHE PATH "The location of the scripts directory of the Uranium repository")
+option(CURA_DEBUGMODE "Enable debug dialog and other debug features" OFF)
+if(CURA_DEBUGMODE)
+ set(_cura_debugmode "ON")
+endif()
+
option(GENERATE_TRANSLATIONS "Should the translations be generated?" ON)
+set(CURA_APP_NAME "cura" CACHE STRING "Short name of Cura, used for configuration folder")
+set(CURA_APP_DISPLAY_NAME "Ultimaker Cura" CACHE STRING "Display name of Cura")
+set(CURA_VERSION "master" CACHE STRING "Version name of Cura")
+set(CURA_BUILDTYPE "" CACHE STRING "Build type of Cura, eg. 'PPA'")
+set(CURA_CLOUD_API_ROOT "" CACHE STRING "Alternative Cura cloud API root")
+set(CURA_CLOUD_API_VERSION "" CACHE STRING "Alternative Cura cloud API version")
+set(CURA_CLOUD_ACCOUNT_API_ROOT "" CACHE STRING "Alternative Cura cloud account API version")
+set(CURA_MARKETPLACE_ROOT "" CACHE STRING "Alternative Marketplace location")
+set(CURA_DIGITAL_FACTORY_URL "" CACHE STRING "Alternative Digital Factory location")
+
+configure_file(${CMAKE_SOURCE_DIR}/com.ultimaker.cura.desktop.in ${CMAKE_BINARY_DIR}/com.ultimaker.cura.desktop @ONLY)
+
+configure_file(cura/CuraVersion.py.in CuraVersion.py @ONLY)
+
+if(NOT DEFINED Python_VERSION)
+ set(Python_VERSION
+ 3.11
+ CACHE STRING "Python Version" FORCE)
+ message(STATUS "Setting Python version to ${Python_VERSION}. Set Python_VERSION if you want to compile against an other version.")
+endif()
+if(APPLE)
+ set(Python_FIND_FRAMEWORK NEVER)
+endif()
+find_package(Python ${Python_VERSION} EXACT REQUIRED COMPONENTS Interpreter)
+message(STATUS "Linking and building ${project_name} against Python ${Python_VERSION}")
+if(NOT DEFINED Python_SITELIB_LOCAL)
+ set(Python_SITELIB_LOCAL
+ "${Python_SITELIB}"
+ CACHE PATH "Local alternative site-package location to install Cura" FORCE)
+endif()
+
if(NOT ${URANIUM_DIR} STREQUAL "")
set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH};${URANIUM_DIR}/cmake")
endif()
@@ -29,4 +61,24 @@
if(${GENERATE_TRANSLATIONS})
CREATE_TRANSLATION_TARGETS()
endif()
-endif()
\ No newline at end of file
+endif()
+
+install(DIRECTORY resources DESTINATION ${CMAKE_INSTALL_DATADIR}/cura)
+
+include(CuraPluginInstall)
+
+install(FILES cura_app.py DESTINATION ${CMAKE_INSTALL_BINDIR}
+ PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
+install(DIRECTORY cura DESTINATION "${Python_SITELIB_LOCAL}")
+install(FILES ${CMAKE_BINARY_DIR}/CuraVersion.py DESTINATION "${Python_SITELIB_LOCAL}/cura/")
+if(NOT APPLE AND NOT WIN32)
+ install(FILES ${CMAKE_BINARY_DIR}/com.ultimaker.cura.desktop
+ DESTINATION ${CMAKE_INSTALL_DATADIR}/applications)
+ install(FILES ${CMAKE_SOURCE_DIR}/resources/images/cura-icon.png
+ DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/128x128/apps/)
+ install(FILES com.ultimaker.cura.appdata.xml
+ DESTINATION ${CMAKE_INSTALL_DATADIR}/metainfo)
+ install(FILES cura.sharedmimeinfo
+ DESTINATION ${CMAKE_INSTALL_DATADIR}/mime/packages/
+ RENAME cura.xml )
+endif()

26
backports/dex/APKBUILD Normal file
View file

@ -0,0 +1,26 @@
# Contributor: Anjandev Momi <anjan@momi.ca>
# Maintainer: Anjandev Momi <anjan@momi.ca>
pkgname=dex
pkgver=0.9.0
pkgrel=1
pkgdesc="program to generate and execute DesktopEntry files of the Application type"
url="https://github.com/jceb/dex"
arch="all"
license="GPL-3.0-or-later"
depends="python3"
makedepends="py3-sphinx"
subpackages="$pkgname-doc"
source="$pkgname-$pkgver.tar.gz::https://github.com/jceb/dex/archive/refs/tags/v$pkgver.tar.gz"
options="!check" # no testsuite
build() {
make
}
package() {
make install PREFIX=/usr MANPREFIX=/usr/share/man DESTDIR="$pkgdir"
}
sha512sums="
d68f5482cb0948f27a724437ddfc6de9a0f502bfd0d5c60c76fb85dda3c30e4c432013e530f6a91138c9ac9ff36b3824cd5e382e9d29bb9fb2ec2b9de4133094 dex-0.9.0.tar.gz
"

View file

@ -1,17 +1,16 @@
# Contributor: Lauren N. Liberda <lauren@selfisekai.rocks>
# Maintainer: Lauren N. Liberda <lauren@selfisekai.rocks>
# Contributor: lauren n. liberda <lauren@selfisekai.rocks>
# Maintainer: lauren n. liberda <lauren@selfisekai.rocks>
pkgname=electron-tasje
pkgver=0.5.7
pkgver=0.7.3
pkgrel=0
pkgdesc="Tiny replacement for electron-builder"
url="https://codeberg.org/selfisekai/electron_tasje/"
arch="aarch64 x86_64" # only useful on platforms with electron
license="Apache-2.0"
makedepends="cargo"
source="electron_tasje-$pkgver.tar.gz::https://codeberg.org/selfisekai/electron_tasje/archive/v$pkgver.tar.gz"
license="Apache-2.0 OR MIT"
makedepends="cargo cargo-auditable"
source="electron_tasje-${_rev:-"$pkgver"}.tar.gz::https://codeberg.org/selfisekai/electron_tasje/archive/${_rev:-"v$pkgver"}.tar.gz"
builddir="$srcdir/electron_tasje"
export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
prepare() {
default_prepare
@ -20,7 +19,7 @@ prepare() {
}
build() {
cargo build --frozen --release
cargo auditable build --frozen --release
}
check() {
@ -32,5 +31,5 @@ package() {
}
sha512sums="
90649d6c7ac10edc6b50e9bfba54d5df472c0621768886fcdb039874152dbd2a72c1a23f38a5e25e4983f16f49546039eca2b79b9386f261b3c5d31a93c439f5 electron_tasje-0.5.7.tar.gz
251b7eabe74acdb5c7394f9d4d735b736acf555352785a9896ddaeed37632b238e823e1bb639e1f5a44a50455957ec41e1a585a3b2a9919b5818bb40843bd877 electron_tasje-0.7.3.tar.gz
"

View file

@ -1,34 +1,43 @@
# Maintainer: psykose <alice@ayaya.dev>
# Contributor: lauren n. liberda <lauren@selfisekai.rocks>
# Maintainer: Antoine Martin (ayakael) <dev@ayakael.net>
pkgname=electron
pkgver=24.2.0
pkgver=33.2.1
_gittag=v"${pkgver/_beta/-beta.}"
pkgrel=0
_chromium=112.0.5615.165
_depot_tools=dbcecc90179a25159dc62f6ed00ae244360297e8
_chromium=130.0.6723.127
_copium_tag=129.1
_depot_tools=495b23b39aaba2ca3b55dd27cadc523f1cb17ee6
pkgdesc="Electron cross-platform desktop toolkit"
url="https://github.com/electron/electron"
arch="aarch64 x86_64" # same as chromium
license="MIT"
depends="gtk+3.0 so:libudev.so.1 xdg-utils"
_llvmver=19
makedepends="
ada-dev
alsa-lib-dev
aom-dev
base64-dev
bash
brotli-dev
bsd-compat-headers
bzip2-dev
c-ares-dev
cairo-dev
clang-dev
clang$_llvmver-dev
clang-extra-tools
compiler-rt
crc32c-dev
cups-dev
curl-dev
dav1d-dev
dbus-glib-dev
double-conversion-dev
eudev-dev
ffmpeg-dev
findutils
flac-dev
flatbuffers-dev
flex
freetype-dev
gperf
@ -36,9 +45,10 @@ makedepends="
gn
gzip
harfbuzz-dev
hdrhistogram-c-dev
hunspell-dev
http-parser-dev
hwids-usb
hwdata-dev
java-jdk
jpeg-dev
jsoncpp-dev
@ -48,11 +58,13 @@ makedepends="
libavif-dev
libbsd-dev
libcap-dev
libdrm-dev
libevent-dev
libexif-dev
libgcrypt-dev
libjpeg-turbo-dev
libnotify-dev
libsecret-dev
libusb-dev
libva-dev
libwebp-dev
@ -65,159 +77,209 @@ makedepends="
libxslt-dev
linux-headers
lld
llvm
llvm$_llvmver
mesa-dev
minizip-dev
nghttp2-dev
nodejs
npm
nss-dev
openh264-dev
opus-dev
pciutils-dev
perl
pipewire-dev
pulseaudio-dev
py3-httplib2
py3-jinja2
py3-parsing
py3-setuptools
py3-six
python3
qt5-qtbase-dev
re2-dev
rsync
rust
rust-bindgen
samurai
snappy-dev
speex-dev
spirv-tools-dev
sqlite-dev
woff2-dev
xcb-proto
yarn
zlib-dev
zstd
zstd-dev
"
subpackages="$pkgname-lang $pkgname-dev"
# the lower patches are specific to electron, the top ones are from the equivalent chromium version
source="$pkgname-$pkgver-2.tar.zst::https://dev.alpinelinux.org/archive/electron/electron-$pkgver.tar.zst
chromium-VirtualCursor-standard-layout.patch
source="
https://ayakael.net/api/packages/mirrors/generic/electron/$_gittag/electron-$_gittag-$_chromium.tar.zst
copium-$_copium_tag.tar.gz::https://codeberg.org/selfisekai/copium/archive/$_copium_tag.tar.gz
chromium-revert-drop-of-system-java.patch
chromium-use-alpine-target.patch
fix-missing-cstdint-include-musl.patch
compiler.patch
disable-dns_config_service.patch
disable-failing-tests.patch
fc-cache-version.patch
fix-opus.patch
fstatat-32bit.patch
gdbinit.patch
import-version.patch
libcxx-muslmode.patch
mman.patch
generic-sensor-include.patch
musl-auxv.patch
musl-sandbox.patch
musl-tid-caching.patch
musl-v8-monotonic-pthread-cont_timedwait.patch
no-execinfo.patch
no-mallinfo.patch
no-res-ninit-nclose.patch
quiche-arena-size.patch
scoped-file-no-close.patch
no-sandbox-settls.patch
partalloc-no-tagging-arm64.patch
pvalloc.patch
temp-failure-retry.patch
yes-musl.patch
icon.patch
python-jinja-3.10.patch
webpack-hash.patch
electron_icon.patch
electron_python-jinja-3.10.patch
electron_webpack-hash.patch
electron_unbundle-node.patch
electron_system-zlib-headers.patch
default.conf
electron.desktop
electron-launcher.sh
"
# chromium sandbox is suid
_copium_patches="
cr124-iwyu-sys-select-dawn-terminal.patch
cr126-aarch64-musl-unsupported-relocation.patch
cr129-ffmpeg-no-noh264parse.patch
cr129-musl-metricts-imports.patch
"
# tests are todo for some base checks
options="!check net suid"
builddir="$srcdir/electron-$_gittag-$_chromium"
export PATH="$PATH:/usr/lib/qt5/bin"
export CC=clang-$_llvmver
export CXX=clang++-$_llvmver
# required to find the tools
export AR=llvm-ar
export NM=llvm-nm
export LD=clang++-$_llvmver
# less log spam, reproducible
export CFLAGS="${CFLAGS/-g/} -O2 -Wno-builtin-macro-redefined -Wno-deprecated-declarations -Wno-shift-count-overflow -Wno-ignored-attributes"
export CXXFLAGS="${CXXFLAGS/-g/} -O2 -Wno-builtin-macro-redefined -Wno-deprecated-declarations -Wno-invalid-constexpr"
export CPPFLAGS="${CPPFLAGS/-g/} -D__DATE__= -D__TIME__= -D__TIMESTAMP__="
case "$CARCH" in
aarch64|arm*|riscv64)
# not supported by clang here
export CFLAGS="${CFLAGS/-fstack-clash-protection}"
export CXXFLAGS="${CXXFLAGS/-fstack-clash-protection}"
;;
esac
# breaks chromium-based stuff
export CXXFLAGS="${CXXFLAGS/-D_GLIBCXX_ASSERTIONS=1}"
# creates a dist tarball that does not need to git clone everything at build time.
_distbucket="sakamoto/lnl-aports-snapshots/"
snapshot() {
deps
# vpython3 execs system python3 with this set
export VPYTHON_BYPASS="manually managed python not supported by chrome operations"
export CHROMIUM_BUILDTOOLS_PATH="$srcdir/src/buildtools"
export DEPOT_TOOLS_UPDATE=0
mkdir -p "$srcdir"
cd "$srcdir"
git clone --branch=$_chromium --depth=1 \
https://chromium.googlesource.com/chromium/src.git
git clone https://github.com/electron/electron.git
(
git clone --depth 1 -b main https://chromium.googlesource.com/chromium/tools/depot_tools.git
cd depot_tools
git fetch --depth 1 origin $_depot_tools
git checkout $_depot_tools
)
if ! [ -d depot_tools ]; then
(
git clone --depth 1 -b main https://chromium.googlesource.com/chromium/tools/depot_tools.git
cd depot_tools
git fetch --depth 1 origin $_depot_tools
git checkout $_depot_tools
)
fi
export PATH="$PATH:$srcdir/depot_tools"
echo "solutions = [
{
\"name\": \"src/electron\",
\"url\": \"file://$srcdir/electron@v$pkgver\",
\"url\": \"https://github.com/electron/electron.git@$_gittag\",
\"deps_file\": \"DEPS\",
\"managed\": False,
\"custom_deps\": {
\"src\": None,
\"src\": \"https://chromium.googlesource.com/chromium/src.git@$_chromium\",
},
\"custom_vars\": {},
},
]" > .gclient
python3 depot_tools/gclient.py sync \
--with_branch_heads \
--with_tags \
--no-history \
--nohooks
python3 src/build/landmines.py
python3 src/build/util/lastchange.py -o src/build/util/LASTCHANGE
python3 src/build/util/lastchange.py -s src/third_party/dawn \
python3 src/build/util/lastchange.py -o src/build/util/LASTCHANGE \
--revision src/gpu/webgpu/DAWN_VERSION
python3 src/build/util/lastchange.py -m GPU_LISTS_VERSION \
--revision-id-only --header src/gpu/config/gpu_lists_version.h
python3 src/build/util/lastchange.py -m SKIA_COMMIT_HASH \
-s src/third_party/skia --header src/skia/ext/skia_commit_hash.h
# why?
cp -r electron/patches/ffmpeg src/electron/patches/
# rolled newer chromium with it included
sed -i '/reland_mojom_ts_generator_handle_empty_module_path_identically_to.patch/d' src/electron/patches/chromium/.patches
python3 electron/script/apply_all_patches.py \
electron/patches/config.json
python3 src/electron/script/apply_all_patches.py \
src/electron/patches/config.json
python3 src/tools/update_pgo_profiles.py \
--target=linux \
update \
--gs-url-base=chromium-optimization-profiles/pgo_profiles
python3 src/tools/download_optimization_profile.py \
--newest_state=src/chrome/android/profiles/newest.txt \
--local_state=src/chrome/android/profiles/local.txt \
--output_name=src/chrome/android/profiles/afdo.prof \
--gs_url_base=chromeos-prebuilt/afdo-job/llvm
mv src $pkgname-$pkgver
mv src $pkgname-$_gittag-$_chromium
# extra binaries are most likely things we don't want, so nuke them all
for elf in $(scanelf -RA -F "%F" $pkgname-$pkgver); do
for elf in $(scanelf -RA -F "%F" $pkgname-$_gittag-$_chromium); do
rm -f "$elf"
done
msg "generating tarball.. (this takes a while)"
tar -cf $pkgname-$pkgver.tar \
tar -cf $pkgname-$_gittag-$_chromium.tar \
--exclude="ChangeLog*" \
--exclude="testdata/*" \
--exclude="test_data/*" \
--exclude="android_rust_toolchain/*" \
--exclude="third_party/instrumented_libs/binaries" \
--exclude-backups \
--exclude-caches-all \
--exclude-vcs \
$pkgname-$pkgver
$pkgname-$_gittag-$_chromium
zstd --ultra --long -22 -T0 -vv $pkgname-$pkgver.tar
zstd --auto-threads=logical --ultra --long -22 -T"${ZSTD_LIMIT:-0}" -vv $pkgname-$_gittag-$_chromium.tar -o "$SRCDEST"/$pkgname-$_gittag-$_chromium.tar.zst
mcli cp "$SRCDEST"/$pkgname-$_gittag-$_chromium.tar.zst "$_distbucket"
}
prepare() {
default_prepare
git init .
for i in $_copium_patches; do
case "$i" in
*.patch)
msg "${i%::*}"
patch -p1 -i "$srcdir/copium/$i" || failed="$failed $i"
;;
esac
done
if [ -n "$failed" ]; then
error "The following patches failed to apply:"
for i in $failed; do
printf " %s\n" "$i" >&2
done
exit 1
fi
git init -q .
# link to system tools
ln -sfv /usr/bin/clang-format buildtools/linux64/clang-format
@ -227,15 +289,15 @@ prepare() {
(
cd electron
git init .
git init -q .
git config user.email "example@example.com"
git config user.name "example"
git config commit.gpgsign false
git add LICENSE
git commit -m "init"
git tag "v$pkgver"
# jesus christ what the fuck is wrong with you?
touch .git/packed-refs
yarn install --frozen-lockfile --no-scripts
git tag "$_gittag"
git pack-refs
yarn install --frozen-lockfile --ignore-scripts
)
(
@ -243,39 +305,41 @@ prepare() {
./update_npm_deps
)
# these are normally unbundled, but they can't be with custom_libcxx.
# we use custom_libcxx as there are a few libstdc++ incompatibilities
# that now cause segfaults with the wayland ozone platform since electron 22.
# obviously, this is a FIXME.
# ---
# jsoncpp
# re2
# woff2
# ---
# libavif - https://github.com/AOMediaCodec/libavif/commit/4d2776a3
local use_system="
# reusable system library settings
# flatbuffers - tensorflow has a few static_asserts for a specific patch version
# highway - requires highway>=1.1.0 (arm failures)
# libavif - https://github.com/AOMediaCodec/libavif/commit/50a541469c98009016af8dcc9f83a1be79f3a7d9
# libaom - https://aomedia.googlesource.com/aom/+/706ee36dcc82%5E%21/
# but watch this space: https://aomedia-review.googlesource.com/c/aom/+/188606
# jsoncpp, re2, snappy, swiftshader-*, woff2 - requires use_custom_libcxx=false
local chromium_use_system="
brotli
crc32c
dav1d
double-conversion
ffmpeg
flac
fontconfig
freetype
harfbuzz-ng
icu
libaom
libdrm
libevent
libjpeg
libsecret
libusb
libwebp
libxml
libxslt
openh264
opus
snappy
zlib
zstd
"
for _lib in $use_system libjpeg_turbo; do
for _lib in $chromium_use_system jinja2 libjpeg_turbo unrar; do
msg "Removing buildscripts for system provided $_lib"
_lib="${_lib/swiftshader-/swiftshader/third_party/}"
find . -type f -path "*third_party/$_lib/*" \
\! -path "*third_party/$_lib/chromium/*" \
\! -path "*third_party/$_lib/google/*" \
@ -284,10 +348,39 @@ prepare() {
\! -path './third_party/pdfium/third_party/freetype/include/pstables.h' \
\! -path './third_party/harfbuzz-ng/utils/hb_scoped.h' \
\! -path './third_party/crashpad/crashpad/third_party/zlib/zlib_crashpad.h' \
\! -regex '.*\.\(gn\|gni\|isolate\|py\)' \
\! -regex '.*\.\(gn\|gni\|gyp\|gypi\|isolate\|py\)' \
-delete
done
# llhttp - 9.x needed, 8.x in repo (2023-12-17)
# ada - needs use_custom_libcxx=false
local node_use_system="
base64
brotli
cares
corepack
histogram
nghttp2
nghttp3
ngtcp2
zlib
"
# some of these are provided by system, e.g. brotli. some are from chromium,
# e.g. boringssl (as openssl). some are not in use at all (corepack)
for _lib in $node_use_system openssl; do
msg "Removing buildscripts for $_lib"
find . -type f -path "*third_party/electron_node/deps/$_lib/*" \
\! -path "*third_party/electron_node/deps/$_lib/chromium/*" \
\! -path "*third_party/electron_node/deps/$_lib/google/*" \
\! -regex '.*\.\(gn\|gni\|gyp\|gypi\|isolate\|py\)' \
-delete
done
# XXX: hack. unbundle-node.patch uses this list to switch things
# in config.gypi. https://github.com/electron/electron/issues/40836
echo $node_use_system > third_party/electron_node/use_system.txt
rm -rf third_party/electron_node/tools/inspector_protocol/jinja2
# https://groups.google.com/a/chromium.org/d/topic/chromium-packagers/9JX1N2nf4PU/discussion
touch chrome/test/data/webui/i18n_process_css_test.html
# Use the file at run time instead of effectively compiling it in
@ -296,9 +389,15 @@ prepare() {
msg "Running debundle script"
python3 build/linux/unbundle/replace_gn_files.py --system-libraries \
$use_system
$chromium_use_system
python3 third_party/libaddressinput/chromium/tools/update-strings.py
# flatc is used in build workflows since https://crrev.com/c/5595037,
# but the pre-generated files are still checked-in. remove to make sure
# they're not used. (if used, they will break builds on version mismatch.)
# https://github.com/tensorflow/tensorflow/issues/62298
# find third_party/tflite/ -name '*_generated.h' -delete
# prevent annoying errors when regenerating gni
sed -i 's,^update_readme$,#update_readme,' \
third_party/libvpx/generate_gni.sh
@ -311,8 +410,7 @@ prepare() {
sed -i -e 's/\<xmlMalloc\>/malloc/' -e 's/\<xmlFree\>/free/' \
third_party/blink/renderer/core/xml/*.cc \
third_party/blink/renderer/core/xml/parser/xml_document_parser.cc \
third_party/libxml/chromium/*.cc \
third_party/maldoca/src/maldoca/ole/oss_utils.h
third_party/libxml/chromium/*.cc
_configure
}
@ -321,78 +419,76 @@ _configure() {
cd "$builddir"
msg "Configuring build"
export PATH="$PATH:/usr/lib/qt5/bin"
case "$USE_CCACHE" in
1)
local cc_wrapper="ccache"
;;
*)
local cc_wrapper=""
;;
esac
# clang uses much less memory (and this doesn't support gcc)
export CC=clang
export CXX=clang++
# required to find the tools
export AR=llvm-ar
export NM=llvm-nm
export LD=clang++
# less log spam, reproducible
export CFLAGS="${CFLAGS/-g/} -O2 -Wno-unknown-warning-option -Wno-builtin-macro-redefined -Wno-deprecated-declarations"
export CXXFLAGS="${CXXFLAGS/-g/} -O2 -Wno-unknown-warning-option -Wno-builtin-macro-redefined -Wno-deprecated-declarations"
export CPPFLAGS="${CPPFLAGS/-g/} -D__DATE__= -D__TIME__= -D__TIMESTAMP__="
local maglev=true
local symbol_level=0
local vaapi=true
# shellcheck disable=2089
local gn_config="
clang_base_path=\"/usr\"
custom_toolchain=\"//build/toolchain/linux/unbundle:default\"
host_toolchain=\"//build/toolchain/linux/unbundle:default\"
import(\"//electron/build/args/release.gn\")
blink_enable_generated_code_formatting=false
cc_wrapper=\"$cc_wrapper\"
chrome_pgo_phase=0
clang_base_path=\"/usr\"
clang_use_chrome_plugins=false
clang_version=\"$_llvmver\"
custom_toolchain=\"//build/toolchain/linux/unbundle:default\"
disable_fieldtrial_testing_config=true
enable_hangout_services_extension=true
enable_nacl=false
enable_nocompile_tests=false
enable_stripping=false
enable_rust=true
enable_vr=false
fatal_linker_warnings=false
ffmpeg_branding=\"Chrome\"
icu_use_data_file=true
host_toolchain=\"//build/toolchain/linux/unbundle:default\"
icu_use_data_file=false
is_cfi=false
is_clang=true
is_component_ffmpeg=true
is_debug=false
is_official_build=true
symbol_level=0
treat_warnings_as_errors=false
angle_enable_gl_null=false
build_tflite_with_xnnpack=false
build_with_tflite_lib=false
disable_fieldtrial_testing_config=true
enable_hangout_services_extension=true
enable_library_cdms=false
enable_media_remoting=false
enable_nacl=false
enable_paint_preview=false
enable_reading_list=false
enable_remoting=false
enable_reporting=false
enable_screen_ai_service=false
enable_service_discovery=false
enable_stripping=false
enable_vr=false
ozone_platform_headless=false
link_pulseaudio=true
proprietary_codecs=true
rtc_link_pipewire=true
rtc_use_pipewire=true
rustc_version=\"yes\"
rust_bindgen_root=\"/usr\"
rust_sysroot_absolute=\"/usr\"
safe_browsing_use_unrar=false
symbol_level=$symbol_level
treat_warnings_as_errors=false
use_custom_libcxx=true
use_dawn=false
use_gnome_keyring=false
use_lld=true
use_pulseaudio=true
use_sysroot=false
use_system_cares=true
use_system_freetype=true
use_system_harfbuzz=true
use_system_lcms2=true
use_system_libdrm=true
use_safe_libstdcxx=false
use_system_libffi=true
use_system_libjpeg=true
use_sysroot=false
use_thin_lto=false
use_vaapi=$vaapi
v8_enable_maglev=$maglev
skia_use_dawn=false
use_dawn=false
use_system_ada=false
use_system_base64=true
use_system_cares=true
use_system_histogram=true
use_system_lcms2=true
use_system_libffi=true
use_system_llhttp=false
use_system_nghttp2=true
use_system_zlib=true
use_vaapi=true
"
# shellcheck disable=2086,2090,2116
@ -404,10 +500,11 @@ build() {
export PATH="$PATH:/usr/lib/qt5/bin"
ninja -C out/Release \
copy_node_headers \
electron_dist_zip \
node_gypi_headers \
node_version_header \
tar_headers
node_version_header
}
package() {
@ -421,8 +518,7 @@ package() {
install -Dm755 "$srcdir"/default.conf "$pkgdir"/etc/electron/default.conf
mkdir -p "$pkgdir"/usr/include/electron
mv -v "$builddir"/out/Release/gen/node_headers "$pkgdir"/usr/include/electron
cp -rv "$builddir"/out/Release/gen/node_headers "$pkgdir"/usr/include/electron
ln -sv /usr/include/electron/node_headers/include/node "$pkgdir"/usr/include/electron/node
mkdir -p "$pkgdir"/usr/include/electron/node_headers/include/nan
@ -448,28 +544,35 @@ lang() {
}
sha512sums="
208cbaa48cd929c242dce6d7e4291655a625b84f44f7d5d3ef6b40d55f7ab2269457496afa8fff73bc6c5aa01be6d26e4bdf63371a407f1f888061fbfc778a6d electron-24.2.0-2.tar.zst
f88adc643dacf7e7be1b9bb77ff2c172cd04de2a988d3cdca77313122ba3ea93e6781ee675f3d7daf337a2542c0cbf31ffb08413e9f85c287b3a5e950d7d8a31 chromium-VirtualCursor-standard-layout.patch
e2df4454f4178af859c13aadee4ea04a5b6aa202972cad625e54bc68f5b8c25e098e50d428ec9c1886c37ccf49aaaedb4c5f02fc8bdd498314ba216901932185 electron-v33.2.1-130.0.6723.127.tar.zst
6138b3dbf3903c78f4ca1ed5a6c3c3c485471ded31976010484ce8893d03953df2b8f066a4fe84bbde5ae7ef9bbff664ef917e247b2e95dd471de40f2774d7d0 copium-129.1.tar.gz
29bb685e03356a77df5fd347cdf55194cc8b3265c421cc76e54d64edefc329dbcb052deb26b22e8f587ce68456876c071de1b7d258dd0fcc6ee66c875ec4a020 chromium-revert-drop-of-system-java.patch
fa291e941076146d0edd5b96c088240a44a6e0aca3dfc744929655607182d2dc47e6c35ecb419f7c623fcf7f26dc3c4dd924dbf5ed10c3b986283f5ef2f72573 chromium-use-alpine-target.patch
9200f78bad70e95c648a5e8392d50642190600f655c6baa366ff6467ebad52d3b3f305dad58f3610da67136f4b723557653b174ec5c25be8d8737ee04d9ee09f fix-missing-cstdint-include-musl.patch
53b7cdee8f7bfb4c9371cb385c473e34ed3d8ac7efaa43c0af061107560be30d8747b07fb0b16c01079b8c770f2c721bb5a8081313b7c126856ea4078a74da2a compiler.patch
4057cc78f10bfd64092bc35a373869abb1d68b880cdbca70422f39ffd78a929c19c7728d4d4c40709aaba25581148a93ae5343e724849fd35323062ed68753fa disable-dns_config_service.patch
2470904846e3adde2c9506f9e78220daca0932320b628dd3d427bf2b7c17a8f7880cb97e787b046c28de7aca642e1a8d30824d6049905976da77e7473baa64da disable-failing-tests.patch
5fc5c012c1db6cf1ba82f38c6f3f4f5ca3a209e47ac708a74de379b018e0649b7694877c9571ef79002dde875ffc07b458a3355425f1c01867f362c66c2bc1bf fc-cache-version.patch
b24563e9a738c00fce7ff2fbdee3d7c024d9125d7c74d9ab90af6bdb16f7ec8419f2c8aa78c0640f6d5d81c17dc2c673a194401d354f466749672729b48ed068 fix-opus.patch
c63dee5044353eb306a39ca1526158c0f003ab310ecb03d1c368dc2a979454590c84b8d3c15484517d5e66bb8add9b231da9abbadf2e50850abd72ac1345c4ab fstatat-32bit.patch
33ee60863cc438ef57ffef92ba4cf67a856a5ffc16138bce241bcf87e47b15154aa86918e793c26f7ec4dc62a445257ad5673ed7001daf22c4043cf6cc57da7f gdbinit.patch
8de65109ece27ea63bd469f2220c56b8c752ba0a50fdf390082a2d5ae74b8e010199126175569f6d5084270dd4e0571e68aec32c0bca8211a6699925b3a09124 import-version.patch
1bb1b31ee3057fb626a2d5eb44698946484e45017310d55026347f18f774453828802438ba14691d81edaad6c96c5df25c4aca772a30674a04feca3df11fccfb libcxx-muslmode.patch
0e991842e23a4b9133898125eeb39e45e3f86f886eef5d2f0d9a72ee143a3e124b3b4f60be94edd57ce4185bcd69704edb51f76d08fdb6207f5559a08dd41ab0 mman.patch
50c274a420bb8a7f14fcb56e40920dac8f708792a4520789b4987facea459bef88113d5a2b60fa8c57bee6e92bff3617d6b73fa305c8c44614c638971cffd440 musl-sandbox.patch
36a764fa73443b47d38050b52dbe6ad2fa8d67201ff4ccdbad13b52308ef165ca046aac6f9609fe35890a6485f0f3e672e78cc41e3e44f3cdc7f145e540524e8 generic-sensor-include.patch
99bcc7dd485b404a90c606a96addab1d900852128d44fb8cea8acc7303189ef87c89a7b0e749fd0e10c5ef5f6bf1fadeb5c16a34503cab6a59938ce2653d887e musl-auxv.patch
51f1959bd622af26a1c3a1f4b0ad9a5bfa461057aa4cf9960c568dddf8ac47d55989c277f5d5ab5db040a04c54925a531af7a1cc767559218b408eaa6bdd7577 musl-sandbox.patch
e7163ac5810ac85366cef2447412287c856e3d67c6b77f219a6e5a418b1965b98e449c409424ad0704a5bded9355dd0aec3dc4585918ce5a2ab36c079707afe2 musl-tid-caching.patch
92eb002718026611f5542362ad69b67f0a398ff71b3fca5c05d55cb5c6f9f29334e5e127bb4860cfaa3fba0f0d4c901e2b98808217e7dc02e254a64a5c9521aa musl-v8-monotonic-pthread-cont_timedwait.patch
8cc774e8d84e434960222c0497ad8193ae35c0732f98d3282d5fd4b4930f914809eec97832c199517ca89ca6b9d1d011db5ce533c40c68ce5fa464609d131a23 no-execinfo.patch
b5479874d125ee95a311295f227f8881a83023ec34fded7a6160b3ae32ea3ba0f2b833a9fb264c57f3d22746b6d8b00bdc8eb2ff86c43c412d6d3b55ae15b16b no-mallinfo.patch
a250cff50d282b02ce0f28880d0a2b4fb8e7df51bc072bfeeddc561c29a7c76453dbcbc7b17b82966a7b30a31409d2555720d1dcf963e1b3fb8a2a06a6abcf46 no-execinfo.patch
0b41aeb6b212f9c3f61aa0a8d3085c9e865a2e68f3270ceec2376aab67f337ac46eaea7da36d3fd7219e2a1cb731b7aa2d3fb619a374d2b7653976b9f4f384bb no-mallinfo.patch
e4c4e5bc6f828f9c883dd418c0ba01887949c29c311f76206a1ec29f620b0c0ba0452949dc2778a9c46ea066405857536964a36436a68eecf7da7952736333cf no-res-ninit-nclose.patch
2bc334352cdf0e523003c882e1a29623896bf3f3543469b23a532cb5ff32a75e7f23dc94abfaed4a97e24d26bdc51b780728583f1e7e7860f00c49e4d91edfa9 quiche-arena-size.patch
8c33808ede31dd3b8eb951991e034751949756c4e6c2cd0e19823e95fddf5f9d94424bbd73ffe6dd965df2b0887fc5c42ab8a97c64b553d47662e90651b84f13 scoped-file-no-close.patch
6dc4d8dc92e685dace62265a1ddb3aebc558aed54d20ff6d36b030be0c48d7e84662326c31363612492574d9a03c62653cdc21a60995b97dee1d75cae86a9f9b no-sandbox-settls.patch
f2b08538ff57c50b3772a07ca91845f9d45f4a5112f608b6192d4fb5d7be48f478c0c36194d95ab7bbf933e0278e5c6d578619d8643895cdc40386eebc5b975f partalloc-no-tagging-arm64.patch
03f829a2da633533ef3fd0f287f5ec602d936a97a98b53cd2415553c2537ae9d571f35397ca7c9fb3f4b0806c300e3b189569f8d979ca132e1a2a4dae7206396 pvalloc.patch
e48693e6b7aeebf69a5acbf80d9a35defe4c23835121dfeb58b051ac7c527e758a41004f4d193274fe1b01c0bfb1dbc77b09cb6a404a3fdee507a2918afb0edb temp-failure-retry.patch
905565c10f5e5600e7d4db965c892cc45009a258e9995da958974d838ace469e1db1019195307e8807860d5b55ba6bfeea478b1f39a9b99e82c619b2816a1a22 icon.patch
e05180199ee1d559e4e577cedd3e589844ecf40d98a86321bf1bea5607b02eeb5feb486deddae40e1005b644550331f6b8500177aa7e79bcb3750d3c1ceb76c3 python-jinja-3.10.patch
2aa340854316f1284217c0ca17cbf44953684ad6c7da90815117df30928612eb9fb9ffb734b948dfc309cd25d1a67cd57f77aac2d052a3dd9aca07a3a58cbb30 webpack-hash.patch
08460b15037511a4e5469ceac6ae5dd4db4c8cb87c129aaaf40ba58b16c60b8a307ffdd85805efead235758abed09ec31db1ef4cf9159f7b9acdcee3031bc96c default.conf
914ccf649d7771f19f209ab97f99c481aebc6f66174d68e8b539f6ad4a70bc8cb0fae2df6dadbf0415958ffb3574c420fe029079dcce45f5e5add4db2e903566 yes-musl.patch
465107da7818b237e3c144a318ab80c3c9343b51ed38b8971ef204692d13346929becbe94cefad4c153788d3a200642143584d5ca070f6304e768ba2139c19ec electron_icon.patch
e05180199ee1d559e4e577cedd3e589844ecf40d98a86321bf1bea5607b02eeb5feb486deddae40e1005b644550331f6b8500177aa7e79bcb3750d3c1ceb76c3 electron_python-jinja-3.10.patch
2aa340854316f1284217c0ca17cbf44953684ad6c7da90815117df30928612eb9fb9ffb734b948dfc309cd25d1a67cd57f77aac2d052a3dd9aca07a3a58cbb30 electron_webpack-hash.patch
57aa81d46b9cc931092d9d9b3cb4a9859f86c183a236bc5cca6abbaeca86b82bf1b537dd9cb3412114fa4e86087c0022ee3f7e88de974d29b309e9d1714df7a5 electron_unbundle-node.patch
1b35edcf0b41e39e20c4d64dbb978bcaab8036f2fe839930709b269c50cb1321458a15b4d0013246f9e03f58f250a1e3a57ea910db1aa0adbd602a6a11ad33b9 electron_system-zlib-headers.patch
e8ea87c547546011c4c8fc2de30e4f443b85cd4cfcff92808e2521d2f9ada03feefb8e1b0cf0f6b460919c146e56ef8d5ad4bb5e2461cc5247c30d92eb4d068e default.conf
191559fc7aa1ea0353c6fb0cc321ee1d5803a0e44848c8be941cfab96277b0de6a59962d373e2a2a1686c8f9be2bcf2d2f33706759a339a959e297d3f7fda463 electron.desktop
03750694e5e0b66f084c6e43135e60be15abb059e23486346ee4352dcc236984f2f35467b47f2b2ad46c98c22091cc2b978de8e73680febadba169d960f13f9f electron-launcher.sh
5f7ba5ad005f196facec1c0f26108356b64cafb1e5cfa462ff714a33b8a4c757ac00bfcb080da09eb5b65032f8eb245d9676a61ec554515d125ed63912708648 electron-launcher.sh
"

View file

@ -1,219 +0,0 @@
needed for libstdc++11 + clang only
crbug: https://bugs.chromium.org/p/chromium/issues/detail?id=1189788
--
diff --git a/sql/recover_module/btree.cc b/sql/recover_module/btree.cc
index 9ecaafe..839318a 100644
--- a/sql/recover_module/btree.cc
+++ b/sql/recover_module/btree.cc
@@ -135,16 +135,25 @@
"Move the destructor to the .cc file if it's non-trival");
#endif // !DCHECK_IS_ON()
-LeafPageDecoder::LeafPageDecoder(DatabasePageReader* db_reader) noexcept
- : page_id_(db_reader->page_id()),
- db_reader_(db_reader),
- cell_count_(ComputeCellCount(db_reader)),
- next_read_index_(0),
- last_record_size_(0) {
+void LeafPageDecoder::Initialize(DatabasePageReader* db_reader) {
+ DCHECK(db_reader);
DCHECK(IsOnValidPage(db_reader));
+ page_id_ = db_reader->page_id();
+ db_reader_ = db_reader;
+ cell_count_ = ComputeCellCount(db_reader);
+ next_read_index_ = 0;
+ last_record_size_ = 0;
DCHECK(DatabasePageReader::IsValidPageId(page_id_));
}
+void LeafPageDecoder::Reset() {
+ db_reader_ = nullptr;
+ page_id_ = 0;
+ cell_count_ = 0;
+ next_read_index_ = 0;
+ last_record_size_ = 0;
+}
+
bool LeafPageDecoder::TryAdvance() {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
DCHECK(CanAdvance());
diff --git a/sql/recover_module/btree.h b/sql/recover_module/btree.h
index d76d076..33114b0 100644
--- a/sql/recover_module/btree.h
+++ b/sql/recover_module/btree.h
@@ -102,7 +102,7 @@
//
// |db_reader| must have been used to read an inner page of a table B-tree.
// |db_reader| must outlive this instance.
- explicit LeafPageDecoder(DatabasePageReader* db_reader) noexcept;
+ explicit LeafPageDecoder() noexcept = default;
~LeafPageDecoder() noexcept = default;
LeafPageDecoder(const LeafPageDecoder&) = delete;
@@ -150,6 +150,15 @@
// read as long as CanAdvance() returns true.
bool TryAdvance();
+ // Initialize with DatabasePageReader
+ void Initialize(DatabasePageReader* db_reader);
+
+ // Reset internal DatabasePageReader
+ void Reset();
+
+ // True if DatabasePageReader is valid
+ bool IsValid() { return (db_reader_ != nullptr); }
+
// True if the given reader may point to an inner page in a table B-tree.
//
// The last ReadPage() call on |db_reader| must have succeeded.
@@ -163,14 +172,14 @@
static int ComputeCellCount(DatabasePageReader* db_reader);
// The number of the B-tree page this reader is reading.
- const int64_t page_id_;
+ int64_t page_id_;
// Used to read the tree page.
//
// Raw pointer usage is acceptable because this instance's owner is expected
// to ensure that the DatabasePageReader outlives this.
- DatabasePageReader* const db_reader_;
+ DatabasePageReader* db_reader_;
// Caches the ComputeCellCount() value for this reader's page.
- const int cell_count_ = ComputeCellCount(db_reader_);
+ int cell_count_;
// The reader's cursor state.
//
diff --git a/sql/recover_module/cursor.cc b/sql/recover_module/cursor.cc
index 0029ff9..42548bc 100644
--- a/sql/recover_module/cursor.cc
+++ b/sql/recover_module/cursor.cc
@@ -26,7 +26,7 @@
int VirtualCursor::First() {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
inner_decoders_.clear();
- leaf_decoder_ = nullptr;
+ leaf_decoder_.Reset();
AppendPageDecoder(table_->root_page_id());
return Next();
@@ -36,18 +36,18 @@
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
record_reader_.Reset();
- while (!inner_decoders_.empty() || leaf_decoder_.get()) {
- if (leaf_decoder_.get()) {
- if (!leaf_decoder_->CanAdvance()) {
+ while (!inner_decoders_.empty() || leaf_decoder_.IsValid()) {
+ if (leaf_decoder_.IsValid()) {
+ if (!leaf_decoder_.CanAdvance()) {
// The leaf has been exhausted. Remove it from the DFS stack.
- leaf_decoder_ = nullptr;
+ leaf_decoder_.Reset();
continue;
}
- if (!leaf_decoder_->TryAdvance())
+ if (!leaf_decoder_.TryAdvance())
continue;
- if (!payload_reader_.Initialize(leaf_decoder_->last_record_size(),
- leaf_decoder_->last_record_offset())) {
+ if (!payload_reader_.Initialize(leaf_decoder_.last_record_size(),
+ leaf_decoder_.last_record_offset())) {
continue;
}
if (!record_reader_.Initialize())
@@ -99,13 +99,13 @@
int64_t VirtualCursor::RowId() {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
DCHECK(record_reader_.IsInitialized());
- DCHECK(leaf_decoder_.get());
- return leaf_decoder_->last_record_rowid();
+ DCHECK(leaf_decoder_.IsValid());
+ return leaf_decoder_.last_record_rowid();
}
void VirtualCursor::AppendPageDecoder(int page_id) {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
- DCHECK(leaf_decoder_.get() == nullptr)
+ DCHECK(!leaf_decoder_.IsValid())
<< __func__
<< " must only be called when the current path has no leaf decoder";
@@ -113,7 +113,7 @@
return;
if (LeafPageDecoder::IsOnValidPage(&db_reader_)) {
- leaf_decoder_ = std::make_unique<LeafPageDecoder>(&db_reader_);
+ leaf_decoder_.Initialize(&db_reader_);
return;
}
diff --git a/sql/recover_module/cursor.h b/sql/recover_module/cursor.h
index afcd690..b15c31d 100644
--- a/sql/recover_module/cursor.h
+++ b/sql/recover_module/cursor.h
@@ -129,7 +129,7 @@
std::vector<std::unique_ptr<InnerPageDecoder>> inner_decoders_;
// Decodes the leaf page containing records.
- std::unique_ptr<LeafPageDecoder> leaf_decoder_;
+ LeafPageDecoder leaf_decoder_;
SEQUENCE_CHECKER(sequence_checker_);
};
diff --git a/sql/recover_module/pager.cc b/sql/recover_module/pager.cc
index 58e75de..5fe9620 100644
--- a/sql/recover_module/pager.cc
+++ b/sql/recover_module/pager.cc
@@ -23,8 +23,7 @@
"ints are not appropriate for representing page IDs");
DatabasePageReader::DatabasePageReader(VirtualTable* table)
- : page_data_(std::make_unique<uint8_t[]>(table->page_size())),
- table_(table) {
+ : page_data_(), table_(table) {
DCHECK(table != nullptr);
DCHECK(IsValidPageSize(table->page_size()));
}
@@ -57,8 +56,8 @@
std::numeric_limits<int64_t>::max(),
"The |read_offset| computation above may overflow");
- int sqlite_status =
- RawRead(sqlite_file, read_size, read_offset, page_data_.get());
+ int sqlite_status = RawRead(sqlite_file, read_size, read_offset,
+ const_cast<uint8_t*>(page_data_.data()));
// |page_id_| needs to be set to kInvalidPageId if the read failed.
// Otherwise, future ReadPage() calls with the previous |page_id_| value
diff --git a/sql/recover_module/pager.h b/sql/recover_module/pager.h
index 0e388ddc..99314e3 100644
--- a/sql/recover_module/pager.h
+++ b/sql/recover_module/pager.h
@@ -5,6 +5,7 @@
#ifndef SQL_RECOVER_MODULE_PAGER_H_
#define SQL_RECOVER_MODULE_PAGER_H_
+#include <array>
#include <cstdint>
#include <memory>
@@ -70,7 +71,7 @@
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
DCHECK_NE(page_id_, kInvalidPageId)
<< "Successful ReadPage() required before accessing pager state";
- return page_data_.get();
+ return page_data_.data();
}
// The number of bytes in the page read by the last ReadPage() call.
@@ -137,7 +138,7 @@
int page_id_ = kInvalidPageId;
// Stores the bytes of the last page successfully read by ReadPage().
// The content is undefined if the last call to ReadPage() did not succeed.
- const std::unique_ptr<uint8_t[]> page_data_;
+ const std::array<uint8_t, kMaxPageSize> page_data_;
// Raw pointer usage is acceptable because this instance's owner is expected
// to ensure that the VirtualTable outlives this.
VirtualTable* const table_;

View file

@ -1,30 +0,0 @@
building for arm targets by default passes --target to clang, because it
assumes it's cross compiling (so passes --target as if the host is different,
instead of assuming default)
probably also works: removing this entirely. but to be safe, pass the alpine clang host triple
--
--- a/build/config/compiler/BUILD.gn
+++ b/build/config/compiler/BUILD.gn
@@ -915,8 +915,8 @@ config("compiler_cpu_abi") {
} else if (current_cpu == "arm") {
if (is_clang && !is_android && !is_nacl &&
!(is_chromeos_lacros && is_chromeos_device)) {
- cflags += [ "--target=arm-linux-gnueabihf" ]
- ldflags += [ "--target=arm-linux-gnueabihf" ]
+ cflags += [ "--target=armv7-alpine-linux-musleabihf" ]
+ ldflags += [ "--target=armv7-alpine-linux-musleabihf" ]
}
if (!is_nacl) {
cflags += [
@@ -930,8 +930,8 @@ config("compiler_cpu_abi") {
} else if (current_cpu == "arm64") {
if (is_clang && !is_android && !is_nacl && !is_fuchsia &&
!(is_chromeos_lacros && is_chromeos_device)) {
- cflags += [ "--target=aarch64-linux-gnu" ]
- ldflags += [ "--target=aarch64-linux-gnu" ]
+ cflags += [ "--target=aarch64-alpine-linux-musl" ]
+ ldflags += [ "--target=aarch64-alpine-linux-musl" ]
}
if (is_android) {
# Outline atomics crash on Exynos 9810. http://crbug.com/1272795

View file

@ -0,0 +1,135 @@
--- ./build/config/compiler/BUILD.gn.orig
+++ ./build/config/compiler/BUILD.gn
@@ -568,24 +568,6 @@
}
}
- # TODO(crbug.com/40283598): This causes binary size growth and potentially
- # other problems.
- # TODO(crbug.com/40284925): This isn't supported by Cronet's mainline llvm version.
- if (default_toolchain != "//build/toolchain/cros:target" &&
- !llvm_android_mainline) {
- cflags += [
- "-mllvm",
- "-split-threshold-for-reg-with-hint=0",
- ]
- if (use_thin_lto && is_a_target_toolchain) {
- if (is_win) {
- ldflags += [ "-mllvm:-split-threshold-for-reg-with-hint=0" ]
- } else {
- ldflags += [ "-Wl,-mllvm,-split-threshold-for-reg-with-hint=0" ]
- }
- }
- }
-
# TODO(crbug.com/40192287): Investigate why/if this should be needed.
if (is_win) {
cflags += [ "/clang:-ffp-contract=off" ]
@@ -998,17 +980,6 @@
# `-nodefaultlibs` from the linker invocation from Rust, which would be used
# to compile dylibs on Android, such as for constructing unit test APKs.
"-Cdefault-linker-libraries",
-
- # To make Rust .d files compatible with ninja
- "-Zdep-info-omit-d-target",
-
- # If a macro panics during compilation, show which macro and where it is
- # defined.
- "-Zmacro-backtrace",
-
- # For deterministic builds, keep the local machine's current working
- # directory from appearing in build outputs.
- "-Zremap-cwd-prefix=.",
]
if (!is_win || force_rustc_color_output) {
@@ -1175,8 +1146,8 @@
} else if (current_cpu == "arm") {
if (is_clang && !is_android && !is_nacl &&
!(is_chromeos_lacros && is_chromeos_device)) {
- cflags += [ "--target=arm-linux-gnueabihf" ]
- ldflags += [ "--target=arm-linux-gnueabihf" ]
+ cflags += [ "--target=armv7-alpine-linux-musleabihf" ]
+ ldflags += [ "--target=armv7-alpine-linux-musleabihf" ]
}
if (!is_nacl) {
cflags += [
@@ -1190,8 +1161,8 @@
} else if (current_cpu == "arm64") {
if (is_clang && !is_android && !is_nacl && !is_fuchsia &&
!(is_chromeos_lacros && is_chromeos_device)) {
- cflags += [ "--target=aarch64-linux-gnu" ]
- ldflags += [ "--target=aarch64-linux-gnu" ]
+ cflags += [ "--target=aarch64-alpine-linux-musl" ]
+ ldflags += [ "--target=aarch64-alpine-linux-musl" ]
}
} else if (current_cpu == "mipsel" && !is_nacl) {
ldflags += [ "-Wl,--hash-style=sysv" ]
@@ -1982,7 +1953,7 @@
defines = [ "_HAS_NODISCARD" ]
}
} else {
- cflags = [ "-Wall" ]
+ cflags = []
if (is_clang) {
# Enable extra warnings for chromium_code when we control the compiler.
cflags += [ "-Wextra" ]
--- ./build/config/rust.gni.orig
+++ ./build/config/rust.gni
@@ -185,11 +185,11 @@
rust_abi_target = ""
if (is_linux || is_chromeos) {
if (current_cpu == "arm64") {
- rust_abi_target = "aarch64-unknown-linux-gnu"
+ rust_abi_target = "aarch64-alpine-linux-musl"
} else if (current_cpu == "x86") {
- rust_abi_target = "i686-unknown-linux-gnu"
+ rust_abi_target = "i586-alpine-linux-musl"
} else if (current_cpu == "x64") {
- rust_abi_target = "x86_64-unknown-linux-gnu"
+ rust_abi_target = "x86_64-alpine-linux-musl"
} else if (current_cpu == "arm") {
if (arm_float_abi == "hard") {
float_suffix = "hf"
@@ -198,15 +198,15 @@
}
if (arm_arch == "armv7-a" || arm_arch == "armv7") {
# No way to inform Rust about the -a suffix.
- rust_abi_target = "armv7-unknown-linux-gnueabi" + float_suffix
+ rust_abi_target = "armv7-alpine-linux-musleabi" + float_suffix
} else {
- rust_abi_target = "arm-unknown-linux-gnueabi" + float_suffix
+ rust_abi_target = "armv6-alpine-linux-musleabi" + float_suffix
}
} else if (current_cpu == "riscv64") {
- rust_abi_target = "riscv64gc-unknown-linux-gnu"
+ rust_abi_target = "riscv64-alpine-linux-musl"
} else {
# Best guess for other future platforms.
- rust_abi_target = current_cpu + "-unknown-linux-gnu"
+ rust_abi_target = current_cpu + "-alpine-linux-musl"
}
} else if (is_android) {
import("//build/config/android/abi.gni")
--- ./build/config/clang/BUILD.gn.orig
+++ ./build/config/clang/BUILD.gn
@@ -128,14 +128,15 @@
} else if (is_apple) {
_dir = "darwin"
} else if (is_linux || is_chromeos) {
+ _dir = "linux"
if (current_cpu == "x64") {
- _dir = "x86_64-unknown-linux-gnu"
+ _suffix = "-x86_64"
} else if (current_cpu == "x86") {
- _dir = "i386-unknown-linux-gnu"
+ _suffix = "-i386"
} else if (current_cpu == "arm") {
- _dir = "armv7-unknown-linux-gnueabihf"
+ _suffix = "-armhf"
} else if (current_cpu == "arm64") {
- _dir = "aarch64-unknown-linux-gnu"
+ _suffix = "-aarch64"
} else {
assert(false) # Unhandled cpu type
}

View file

@ -1,372 +0,0 @@
From d0c1f5ee1f56c165bdf550c9e3be0d7313587b80 Mon Sep 17 00:00:00 2001
From: Elly Fong-Jones <ellyjones@chromium.org>
Date: Wed, 18 Jan 2023 22:33:11 +0000
Subject: [PATCH] media: untangle MediaRouterUI lifetimes
Currently, MediaRouterUI is owned by MediaItemUIDeviceSelectorView.
There is an observer method named "OnControllerInvalidated" which
MediaItemUIDeviceSelectorView reacts to by deleting the MediaRouterUI it
owns. However, OnControllerInvalidated can actually be called in two
different situations:
* From MediaRouterUI::TakeMediaRouteStarter(), in which case the
MediaRouterUI object is *not* being destroyed, but should be, because
it can't be safely used after TakeMediaRouteStarter() ends;
* From MediaRouterUI::~MediaRouterUI(), in which case the MediaRouterUI
object *is* being destroyed already and should not be.
In the second case, only the fact that libc++ nulls out unique_ptr
before destroying the pointed-to object saves us from a use-after-free;
under libstdc++, we UaF immediately by re-entering the destructor. Even
under libc++ though this is still very dangerous, because any observers
that happened to be registered after MediaItemUIDeviceSelectorView will
be invoked after the destruction of the object they're observing. Right
now there are no such other observers, but the fact remains that this
interface is basically a UaF timebomb.
This change separates "this object is about to be destroyed" (an
observable state) from "please destroy this object, it is no longer
useful" (a callback that is made to the object's owner) by:
1. Renaming OnControllerInvalidated to OnControllerDestroying, to make
it very clear what is happening to the object, and
2. Adding a RegisterDestructor method to CastDialogController, which
allows MediaItemUIDeviceSelectorView to pass a callback into
MediaRouterUI which MediaRouterUI can use to arrange for its own
destruction.
This is still a bit tangled and ungainly, but it's safe. A fuller
writeup is on the linked bug.
Fixed: 1407202
Change-Id: Id9410de1fbf2cb42f13957dde316b7c9259f192f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4165967
Reviewed-by: Peter Kasting <pkasting@chromium.org>
Reviewed-by: Takumi Fujimoto <takumif@chromium.org>
Commit-Queue: Elly Fong-Jones <ellyjones@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1094110}
---
diff --git a/chrome/browser/ui/media_router/cast_dialog_controller.h b/chrome/browser/ui/media_router/cast_dialog_controller.h
index 2a8de976..c3c0553 100644
--- a/chrome/browser/ui/media_router/cast_dialog_controller.h
+++ b/chrome/browser/ui/media_router/cast_dialog_controller.h
@@ -24,10 +24,12 @@
public:
virtual ~Observer() = default;
- virtual void OnModelUpdated(const CastDialogModel& model) = 0;
+ virtual void OnModelUpdated(const CastDialogModel& model) {}
- // Observer should drop its reference to the controller when this is called.
- virtual void OnControllerInvalidated() = 0;
+ // Notifies observers that the observed object is being destroyed. Observers
+ // MUST NOT try to destroy the observed object in response - to manage the
+ // lifetime of a CastDialogController, use RegisterDestructor() below.
+ virtual void OnControllerDestroying() {}
};
virtual ~CastDialogController() = default;
@@ -55,6 +57,16 @@
// intended that this API should only be used to transfer ownership to some
// new component that will want to start casting on this dialog box's behalf.
virtual std::unique_ptr<MediaRouteStarter> TakeMediaRouteStarter() = 0;
+
+ // Registers a callback for when the CastDialogController has given up
+ // ownership of its MediaRouteStarter and is no longer safe to use. The
+ // provided closure must destroy |this| or otherwise ensure it is never used
+ // again. This method can only be called once.
+ //
+ // TODO(https://crbug.com/1408494): It's awkward that CastDialogController has
+ // a state where it exists but is unsafe to use, and doubly awkward that we
+ // have to paper over that with this callback. Can that be fixed?
+ virtual void RegisterDestructor(base::OnceClosure destructor) = 0;
};
} // namespace media_router
diff --git a/chrome/browser/ui/media_router/media_router_ui.cc b/chrome/browser/ui/media_router/media_router_ui.cc
index 1865115f..644d131 100644
--- a/chrome/browser/ui/media_router/media_router_ui.cc
+++ b/chrome/browser/ui/media_router/media_router_ui.cc
@@ -83,6 +83,9 @@
MediaRouterUI::~MediaRouterUI() {
if (media_route_starter_)
DetachFromMediaRouteStarter();
+ for (CastDialogController::Observer& observer : observers_) {
+ observer.OnControllerDestroying();
+ }
}
// static
@@ -145,9 +148,6 @@
}
void MediaRouterUI::DetachFromMediaRouteStarter() {
- for (CastDialogController::Observer& observer : observers_)
- observer.OnControllerInvalidated();
-
media_route_starter()->RemovePresentationRequestSourceObserver(this);
media_route_starter()->RemoveMediaSinkWithCastModesObserver(this);
}
@@ -181,8 +181,16 @@
std::unique_ptr<MediaRouteStarter> MediaRouterUI::TakeMediaRouteStarter() {
DCHECK(media_route_starter_) << "MediaRouteStarter already taken!";
- DetachFromMediaRouteStarter();
- return std::move(media_route_starter_);
+ auto starter = std::move(media_route_starter_);
+ if (destructor_) {
+ std::move(destructor_).Run(); // May destroy `this`.
+ }
+ return starter;
+}
+
+void MediaRouterUI::RegisterDestructor(base::OnceClosure destructor) {
+ DCHECK(!destructor_);
+ destructor_ = std::move(destructor);
}
bool MediaRouterUI::CreateRoute(const MediaSink::Id& sink_id,
diff --git a/chrome/browser/ui/media_router/media_router_ui.h b/chrome/browser/ui/media_router/media_router_ui.h
index 5c2f14e..7afe775 100644
--- a/chrome/browser/ui/media_router/media_router_ui.h
+++ b/chrome/browser/ui/media_router/media_router_ui.h
@@ -100,8 +100,10 @@
void StopCasting(const std::string& route_id) override;
void ClearIssue(const Issue::Id& issue_id) override;
// Note that |MediaRouterUI| should not be used after |TakeMediaRouteStarter|
- // is called.
+ // is called. To enforce that, |TakeMediaRouteStarter| calls the destructor
+ // callback given to |RegisterDestructor| to destroy itself.
std::unique_ptr<MediaRouteStarter> TakeMediaRouteStarter() override;
+ void RegisterDestructor(base::OnceClosure destructor) override;
// Requests a route be created from the source mapped to
// |cast_mode|, to the sink given by |sink_id|.
@@ -337,6 +339,8 @@
raw_ptr<MediaRouter> router_;
raw_ptr<LoggerImpl> logger_;
+ base::OnceClosure destructor_;
+
// NOTE: Weak pointers must be invalidated before all other member variables.
// Therefore |weak_factory_| must be placed at the end.
base::WeakPtrFactory<MediaRouterUI> weak_factory_{this};
diff --git a/chrome/browser/ui/media_router/media_router_ui_unittest.cc b/chrome/browser/ui/media_router/media_router_ui_unittest.cc
index 2cc243d1..c33437b 100644
--- a/chrome/browser/ui/media_router/media_router_ui_unittest.cc
+++ b/chrome/browser/ui/media_router/media_router_ui_unittest.cc
@@ -80,11 +80,11 @@
}
MOCK_METHOD1(OnModelUpdated, void(const CastDialogModel& model));
- void OnControllerInvalidated() override {
+ void OnControllerDestroying() override {
controller_ = nullptr;
- OnControllerInvalidatedInternal();
+ OnControllerDestroyingInternal();
}
- MOCK_METHOD0(OnControllerInvalidatedInternal, void());
+ MOCK_METHOD0(OnControllerDestroyingInternal, void());
private:
raw_ptr<CastDialogController> controller_ = nullptr;
@@ -295,7 +295,7 @@
})));
NotifyUiOnRoutesUpdated({route});
- EXPECT_CALL(observer, OnControllerInvalidatedInternal());
+ EXPECT_CALL(observer, OnControllerDestroyingInternal());
ui_.reset();
}
diff --git a/chrome/browser/ui/views/global_media_controls/media_item_ui_device_selector_view.cc b/chrome/browser/ui/views/global_media_controls/media_item_ui_device_selector_view.cc
index 34dad46..d843bba 100644
--- a/chrome/browser/ui/views/global_media_controls/media_item_ui_device_selector_view.cc
+++ b/chrome/browser/ui/views/global_media_controls/media_item_ui_device_selector_view.cc
@@ -222,6 +222,11 @@
if (cast_controller) {
cast_controller_ = std::move(cast_controller);
cast_controller_->AddObserver(this);
+ cast_controller_->RegisterDestructor(
+ base::BindOnce(&MediaItemUIDeviceSelectorView::DestroyCastController,
+ // Unretained is safe: this callback is held by
+ // cast_controller_, which is owned by this object.
+ base::Unretained(this)));
}
}
@@ -499,10 +504,6 @@
observer.OnMediaItemUIDeviceSelectorUpdated(device_entry_ui_map_);
}
-void MediaItemUIDeviceSelectorView::OnControllerInvalidated() {
- cast_controller_.reset();
-}
-
void MediaItemUIDeviceSelectorView::OnDeviceSelected(int tag) {
auto it = device_entry_ui_map_.find(tag);
DCHECK(it != device_entry_ui_map_.end());
@@ -658,5 +659,9 @@
weak_ptr_factory_.GetWeakPtr()));
}
+void MediaItemUIDeviceSelectorView::DestroyCastController() {
+ cast_controller_.reset();
+}
+
BEGIN_METADATA(MediaItemUIDeviceSelectorView, views::View)
END_METADATA
diff --git a/chrome/browser/ui/views/global_media_controls/media_item_ui_device_selector_view.h b/chrome/browser/ui/views/global_media_controls/media_item_ui_device_selector_view.h
index e950565..222fc20 100644
--- a/chrome/browser/ui/views/global_media_controls/media_item_ui_device_selector_view.h
+++ b/chrome/browser/ui/views/global_media_controls/media_item_ui_device_selector_view.h
@@ -81,7 +81,6 @@
// media_router::CastDialogController::Observer
void OnModelUpdated(const media_router::CastDialogModel& model) override;
- void OnControllerInvalidated() override;
// MediaItemUIFooterView::Delegate
void OnDeviceSelected(int tag) override;
@@ -121,6 +120,7 @@
void RecordCastDeviceCount();
DeviceEntryUI* GetDeviceEntryUI(views::View* view) const;
void RegisterAudioDeviceCallbacks();
+ void DestroyCastController();
bool has_expand_button_been_shown_ = false;
bool have_devices_been_shown_ = false;
diff --git a/chrome/browser/ui/views/global_media_controls/media_item_ui_device_selector_view_unittest.cc b/chrome/browser/ui/views/global_media_controls/media_item_ui_device_selector_view_unittest.cc
index c3bcc6cc..6ae3dde8 100644
--- a/chrome/browser/ui/views/global_media_controls/media_item_ui_device_selector_view_unittest.cc
+++ b/chrome/browser/ui/views/global_media_controls/media_item_ui_device_selector_view_unittest.cc
@@ -156,6 +156,7 @@
MOCK_METHOD1(ClearIssue, void(const media_router::Issue::Id& issue_id));
MOCK_METHOD0(TakeMediaRouteStarter,
std::unique_ptr<media_router::MediaRouteStarter>());
+ MOCK_METHOD1(RegisterDestructor, void(base::OnceClosure));
};
} // anonymous namespace
diff --git a/chrome/browser/ui/views/media_router/cast_dialog_coordinator_unittest.cc b/chrome/browser/ui/views/media_router/cast_dialog_coordinator_unittest.cc
index f6c80d6a..2dedc7e 100644
--- a/chrome/browser/ui/views/media_router/cast_dialog_coordinator_unittest.cc
+++ b/chrome/browser/ui/views/media_router/cast_dialog_coordinator_unittest.cc
@@ -40,6 +40,7 @@
MOCK_METHOD(void, StopCasting, (const std::string& route_id));
MOCK_METHOD(void, ClearIssue, (const Issue::Id& issue_id));
MOCK_METHOD(std::unique_ptr<MediaRouteStarter>, TakeMediaRouteStarter, ());
+ MOCK_METHOD(void, RegisterDestructor, (base::OnceClosure));
};
class CastDialogCoordinatorTest : public TestWithBrowserView {
diff --git a/chrome/browser/ui/views/media_router/cast_dialog_view.cc b/chrome/browser/ui/views/media_router/cast_dialog_view.cc
index e3c7dadb..711d081 100644
--- a/chrome/browser/ui/views/media_router/cast_dialog_view.cc
+++ b/chrome/browser/ui/views/media_router/cast_dialog_view.cc
@@ -125,9 +125,9 @@
observer.OnDialogModelUpdated(this);
}
-void CastDialogView::OnControllerInvalidated() {
+void CastDialogView::OnControllerDestroying() {
controller_ = nullptr;
- // We don't destroy the dialog here because if the invalidation was caused by
+ // We don't destroy the dialog here because if the destruction was caused by
// activating the toolbar icon in order to close the dialog, then it would
// cause the dialog to immediately open again.
}
diff --git a/chrome/browser/ui/views/media_router/cast_dialog_view.h b/chrome/browser/ui/views/media_router/cast_dialog_view.h
index d87fdda..d44d4e0 100644
--- a/chrome/browser/ui/views/media_router/cast_dialog_view.h
+++ b/chrome/browser/ui/views/media_router/cast_dialog_view.h
@@ -66,7 +66,7 @@
// CastDialogController::Observer:
void OnModelUpdated(const CastDialogModel& model) override;
- void OnControllerInvalidated() override;
+ void OnControllerDestroying() override;
// views::BubbleDialogDelegateView:
void OnPaint(gfx::Canvas* canvas) override;
diff --git a/chrome/browser/ui/views/media_router/cast_dialog_view_browsertest.cc b/chrome/browser/ui/views/media_router/cast_dialog_view_browsertest.cc
index 1c584120..a7af3c8 100644
--- a/chrome/browser/ui/views/media_router/cast_dialog_view_browsertest.cc
+++ b/chrome/browser/ui/views/media_router/cast_dialog_view_browsertest.cc
@@ -70,6 +70,7 @@
override {
return nullptr;
}
+ void RegisterDestructor(base::OnceClosure destructor) override {}
};
} // namespace
diff --git a/chrome/browser/ui/views/media_router/cast_dialog_view_unittest.cc b/chrome/browser/ui/views/media_router/cast_dialog_view_unittest.cc
index 5326467..988cb07a 100644
--- a/chrome/browser/ui/views/media_router/cast_dialog_view_unittest.cc
+++ b/chrome/browser/ui/views/media_router/cast_dialog_view_unittest.cc
@@ -91,6 +91,7 @@
MOCK_METHOD1(StopCasting, void(const std::string& route_id));
MOCK_METHOD1(ClearIssue, void(const Issue::Id& issue_id));
MOCK_METHOD0(TakeMediaRouteStarter, std::unique_ptr<MediaRouteStarter>());
+ MOCK_METHOD1(RegisterDestructor, void(base::OnceClosure));
};
class CastDialogViewTest : public ChromeViewsTestBase {
diff --git a/chrome/browser/ui/views/media_router/media_router_dialog_controller_views.cc b/chrome/browser/ui/views/media_router/media_router_dialog_controller_views.cc
index ad379b2..244d523 100644
--- a/chrome/browser/ui/views/media_router/media_router_dialog_controller_views.cc
+++ b/chrome/browser/ui/views/media_router/media_router_dialog_controller_views.cc
@@ -51,7 +51,7 @@
std::move(context));
}
- ShowGlobalMeidaControlsDialog(std::move(context));
+ ShowGlobalMediaControlsDialog(std::move(context));
return true;
}
@@ -155,9 +155,20 @@
initiator(), std::move(start_presentation_context_))
: MediaRouterUI::CreateWithDefaultMediaSourceAndMirroring(
initiator());
+ ui_->RegisterDestructor(
+ base::BindOnce(&MediaRouterDialogControllerViews::DestroyMediaRouterUI,
+ // Safe to use base::Unretained here: the callback being
+ // bound is held by the MediaRouterUI we are creating and
+ // owning, and ownership of |ui_| is never transferred
+ // away from this object.
+ base::Unretained(this)));
}
-void MediaRouterDialogControllerViews::ShowGlobalMeidaControlsDialog(
+void MediaRouterDialogControllerViews::DestroyMediaRouterUI() {
+ ui_.reset();
+}
+
+void MediaRouterDialogControllerViews::ShowGlobalMediaControlsDialog(
std::unique_ptr<StartPresentationContext> context) {
// Show the WebContents requesting a dialog.
initiator()->GetDelegate()->ActivateContents(initiator());
diff --git a/chrome/browser/ui/views/media_router/media_router_dialog_controller_views.h b/chrome/browser/ui/views/media_router/media_router_dialog_controller_views.h
index 0a5fdb1..7c97211 100644
--- a/chrome/browser/ui/views/media_router/media_router_dialog_controller_views.h
+++ b/chrome/browser/ui/views/media_router/media_router_dialog_controller_views.h
@@ -69,13 +69,14 @@
// MediaRouterUIService::Observer:
void OnServiceDisabled() override;
- // Initializes |ui_|.
+ // Initializes and destroys |ui_| respectively.
void InitializeMediaRouterUI();
+ void DestroyMediaRouterUI();
// If there exists a media button, show the GMC dialog anchored to the media
// button. Otherwise, show the dialog anchored to the top center of the web
// contents.
- void ShowGlobalMeidaControlsDialog(
+ void ShowGlobalMediaControlsDialog(
std::unique_ptr<StartPresentationContext> context);
// Returns the media button from the browser that initiates the request to

View file

@ -2,4 +2,8 @@
# the electron launcher.
# Options to pass to electron.
ELECTRON_FLAGS="--ozone-platform-hint=auto"
ELECTRON_FLAGS="--enable-features=WebRTCPipeWireCapturer"
# This can be 'x11', 'wayland', or 'auto'. Overriding default to 'auto',
# but respecting the variable content if any
ELECTRON_OZONE_PLATFORM_HINT="${ELECTRON_OZONE_PLATFORM_HINT:-auto}"

View file

@ -0,0 +1,15 @@
diff --git a/net/dns/BUILD.gn b/net/dns/BUILD.gn
index f36bf68..805d9a6 100644
--- a/net/dns/BUILD.gn
+++ b/net/dns/BUILD.gn
@@ -130,8 +130,8 @@ source_set("dns") {
]
} else if (is_linux) {
sources += [
- "dns_config_service_linux.cc",
- "dns_config_service_linux.h",
+ "dns_config_service_fuchsia.cc",
+ "dns_config_service_fuchsia.h",
]
} else if (is_posix) {
sources += [

View file

@ -0,0 +1,343 @@
safesprintf emitnull:
error: conversion from 'std::nullptr_t' to 'const internal::Arg' is ambiguous
const internal::Arg arg_array[] = { args... };
flatmap incompletetype:
error: static assertion failed due to requirement 'std::__is_complete_or_unbounded(std::__type_identity<std::pair<A, A>>{})': template argument must be a complete class or an unbounded array
static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
i18n, time:
various icu failures (new icu time formatting? internal api difference?)
a ton of these fail:
Expected equality of these values:
u"Monday 16 May Saturday 28 May"
Which is: u"Monday 16 May \x2013 Saturday 28 May"
DateIntervalFormat(begin_time, end_time, DATE_FORMAT_MONTH_WEEKDAY_DAY)
Which is: u"Monday 16\x2009\x2013\x2009Saturday 28 May"
../../base/i18n/time_formatting_unittest.cc:84: Failure
Expected equality of these values:
clock12h_pm
Which is: u"3:42 PM"
TimeFormatTimeOfDay(time)
Which is: u"3:42\x202FPM"
.. and so on
fileutiltest filetofile:
../../base/files/file_util_unittest.cc:2692: Failure
Value of: stream
Actual: true
Expected: false
stacktracetest: crashes (this doesn't seem to use execinfo so probably relies on glibc internal layout for tracing here)
platformthreadtest canchangethreadtype:
../../base/threading/platform_thread_unittest.cc:445: Failure
Expected equality of these values:
PlatformThread::CanChangeThreadType(ThreadType::kBackground, ThreadType::kResourceEfficient)
Which is: true
kCanIncreasePriority
Which is: false
scopedfdownershiptrackingtest crashonunownedclose: fails due to scoped-file-no-close.patch
stackcontainer customallocator:
../../base/containers/stack_container_unittest.cc:211: Failure
Expected equality of these values:
1
Allocator::deallocated
Which is: 0
nativelibrarytest loadlibrarypreferownsymbols: crashes (probably musl dlopen does not play nice here)
spantest empty: crashes (this looks fishy)
readelfbuildid: crashes (this looks like glibc dynamic linker semantics)
nss db unittest: various nss failures: e.g.:
../../net/cert/nss_cert_database_unittest.cc:209: Failure
Expected equality of these values:
OK
Which is: 0
cert_db_->ImportFromPKCS12(GetPublicSlot(), pkcs12_data, u"12345", true, nullptr)
Which is: -702
processutiltest cloneflags: fails in CI (ulimit? too many threads?)
../../base/process/process_util_unittest.cc:1434: Failure
Value of: process.IsValid()
Actual: false
Expected: true
addresstrackerlinuxnetlinktest:
../../net/base/address_tracker_linux_unittest.cc:886: Failure
Value of: child.process.IsValid()
Actual: false
Expected: true
ToAddressDoesNotDereference: ; Expected `get_for_extraction_cnt` to be 1 but got 0;
DataCapturedManyThreads: flaky
ProcessAlternativeServicesTest.Process*: crashed ?
--- a/base/strings/safe_sprintf_unittest.cc
+++ b/base/strings/safe_sprintf_unittest.cc
@@ -740,6 +740,7 @@
#endif
}
+#if 0
TEST(SafeSPrintfTest, EmitNULL) {
char buf[40];
#if defined(__GNUC__)
@@ -756,6 +757,7 @@
#pragma GCC diagnostic pop
#endif
}
+#endif
TEST(SafeSPrintfTest, PointerSize) {
// The internal data representation is a 64bit value, independent of the
--- a/base/containers/flat_map_unittest.cc
+++ b/base/containers/flat_map_unittest.cc
@@ -52,6 +52,7 @@
} // namespace
+#if 0
TEST(FlatMap, IncompleteType) {
struct A {
using Map = flat_map<A, A>;
@@ -65,6 +66,7 @@
A a;
}
+#endif
TEST(FlatMap, RangeConstructor) {
flat_map<int, int>::value_type input_vals[] = {
--- a/base/BUILD.gn
+++ b/base/BUILD.gn
@@ -3194,21 +3194,6 @@
"hash/md5_constexpr_unittest.cc",
"hash/md5_unittest.cc",
"hash/sha1_unittest.cc",
- "i18n/break_iterator_unittest.cc",
- "i18n/case_conversion_unittest.cc",
- "i18n/char_iterator_unittest.cc",
- "i18n/character_encoding_unittest.cc",
- "i18n/file_util_icu_unittest.cc",
- "i18n/icu_string_conversions_unittest.cc",
- "i18n/icu_util_unittest.cc",
- "i18n/message_formatter_unittest.cc",
- "i18n/number_formatting_unittest.cc",
- "i18n/rtl_unittest.cc",
- "i18n/streaming_utf8_validator_unittest.cc",
- "i18n/string_search_unittest.cc",
- "i18n/time_formatting_unittest.cc",
- "i18n/timezone_unittest.cc",
- "i18n/transliterator_unittest.cc",
"immediate_crash_unittest.cc",
"json/json_parser_unittest.cc",
"json/json_reader_unittest.cc",
--- a/base/files/file_util_unittest.cc
+++ b/base/files/file_util_unittest.cc
@@ -2686,6 +2686,7 @@
}
}
+#if 0
TEST_F(FileUtilTest, FileToFILE) {
File file;
FILE* stream = FileToFILE(std::move(file), "w");
@@ -2700,6 +2701,7 @@
EXPECT_FALSE(file.IsValid());
EXPECT_TRUE(CloseFile(stream));
}
+#endif
TEST_F(FileUtilTest, FILEToFile) {
ScopedFILE stream;
--- a/base/threading/platform_thread_unittest.cc
+++ b/base/threading/platform_thread_unittest.cc
@@ -416,6 +416,7 @@
// platforms for all priorities. This not being the case. This test documents
// and hardcodes what we know. Please inform scheduler-dev@chromium.org if this
// proprerty changes for a given platform.
+#if 0
TEST(PlatformThreadTest, CanChangeThreadType) {
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
// On Ubuntu, RLIMIT_NICE and RLIMIT_RTPRIO are 0 by default, so we won't be
@@ -472,6 +473,7 @@
ThreadType::kBackground));
#endif
}
+#endif
TEST(PlatformThreadTest, SetCurrentThreadTypeTest) {
TestPriorityResultingFromThreadType(ThreadType::kBackground,
--- a/base/files/scoped_file_linux_unittest.cc
+++ b/base/files/scoped_file_linux_unittest.cc
@@ -42,11 +42,13 @@
EXPECT_DEATH(ScopedFD(fd.get()), "");
}
+#if 0
TEST_F(ScopedFDOwnershipTrackingTest, CrashOnUnownedClose) {
ScopedFD fd = OpenFD();
subtle::EnableFDOwnershipEnforcement(true);
EXPECT_DEATH(close(fd.get()), "");
}
+#endif
#endif // defined(GTEST_HAS_DEATH_TEST)
--- a/base/native_library_unittest.cc
+++ b/base/native_library_unittest.cc
@@ -139,6 +139,7 @@
// Verifies that the |prefer_own_symbols| option satisfies its guarantee that
// a loaded library will always prefer local symbol resolution before
// considering global symbols.
+#if 0
TEST(NativeLibraryTest, LoadLibraryPreferOwnSymbols) {
NativeLibraryOptions options;
options.prefer_own_symbols = true;
@@ -171,6 +172,7 @@
EXPECT_EQ(2, NativeLibraryTestIncrement());
EXPECT_EQ(3, NativeLibraryTestIncrement());
}
+#endif
#endif // !BUILDFLAG(IS_ANDROID) && !defined(THREAD_SANITIZER) && \
// !defined(MEMORY_SANITIZER)
--- a/base/containers/span_unittest.cc
+++ b/base/containers/span_unittest.cc
@@ -995,6 +995,7 @@
}
}
+#if 0
TEST(SpanTest, Empty) {
{
span<int> span;
@@ -1014,6 +1015,7 @@
EXPECT_TRUE(span_of_checked_iterators.empty());
}
}
+#endif
TEST(SpanTest, OperatorAt) {
static constexpr int kArray[] = {1, 6, 1, 8, 0};
--- a/base/debug/elf_reader_unittest.cc
+++ b/base/debug/elf_reader_unittest.cc
@@ -194,6 +194,7 @@
}
}
+#if 0
TEST(ElfReaderTestWithCurrentImage, ReadElfBuildId) {
#if BUILDFLAG(IS_ANDROID)
// On Android the library loader memory maps the full so file.
@@ -229,6 +230,7 @@
UnloadNativeLibrary(library);
#endif
}
+#endif
} // namespace debug
} // namespace base
--- a/net/BUILD.gn
+++ b/net/BUILD.gn
@@ -4826,7 +4826,6 @@
sources += [
"cert/internal/system_trust_store_nss_unittest.cc",
"cert/internal/trust_store_nss_unittest.cc",
- "cert/nss_cert_database_unittest.cc",
"cert/x509_util_nss_unittest.cc",
]
if (!is_castos) {
--- a/base/process/process_util_unittest.cc
+++ b/base/process/process_util_unittest.cc
@@ -1419,7 +1419,7 @@
return kSuccess;
}
-#if defined(CLONE_NEWUSER) && defined(CLONE_NEWPID)
+#if 0 && defined(CLONE_NEWUSER) && defined(CLONE_NEWPID)
TEST_F(ProcessUtilTest, CloneFlags) {
if (!PathExists(FilePath("/proc/self/ns/user")) ||
!PathExists(FilePath("/proc/self/ns/pid"))) {
--- a/net/base/address_tracker_linux_unittest.cc
+++ b/net/base/address_tracker_linux_unittest.cc
@@ -831,6 +831,7 @@
//
// This test creates multiple concurrent `AddressTrackerLinux` instances in
// separate processes, each in their own PID namespaces.
+#if 0
TEST(AddressTrackerLinuxNetlinkTest, TestInitializeTwoTrackersInPidNamespaces) {
// This test initializes `kNumChildren` instances of `AddressTrackerLinux` in
// tracking mode, each in their own child process running in a PID namespace.
@@ -901,6 +902,7 @@
ASSERT_EQ(exit_code, 0);
}
}
+#endif
MULTIPROCESS_TEST_MAIN(ChildProcessInitializeTrackerForTesting) {
base::test::TaskEnvironment task_env(
--- a/base/trace_event/trace_event_unittest.cc
+++ b/base/trace_event/trace_event_unittest.cc
@@ -1368,6 +1368,7 @@
}
// Test that data sent from multiple threads is gathered
+#if 0
TEST_F(TraceEventTestFixture, DataCapturedManyThreads) {
BeginTrace();
@@ -1408,6 +1409,7 @@
delete task_complete_events[i];
}
}
+#endif
// Test that thread and process names show up in the trace.
// In SDK build, thread names are not tracked inside //base. Instead, there's
--- a/base/allocator/partition_allocator/src/partition_alloc/pointers/raw_ptr_unittest.cc
+++ b/base/allocator/partition_allocator/src/partition_alloc/pointers/raw_ptr_unittest.cc
@@ -1481,6 +1481,7 @@
// `base::to_address()` will use the dereference operator. This is not
// what we want; this test enforces extraction semantics for
// `to_address()`.
+#if 0
TEST_F(RawPtrTest, ToAddressDoesNotDereference) {
CountingRawPtr<int> ptr = nullptr;
int* raw = base::to_address(ptr);
@@ -1492,6 +1493,7 @@
.get_for_duplication_cnt = 0}),
CountersMatch());
}
+#endif
TEST_F(RawPtrTest, ToAddressGivesBackRawAddress) {
int* raw = nullptr;
--- a/net/http/http_stream_factory_unittest.cc
+++ b/net/http/http_stream_factory_unittest.cc
@@ -3477,6 +3477,7 @@
DefaultCTPolicyEnforcer ct_policy_enforcer_;
};
+#if 0
TEST_F(ProcessAlternativeServicesTest, ProcessEmptyAltSvc) {
session_ =
std::make_unique<HttpNetworkSession>(session_params_, session_context_);
@@ -3585,6 +3586,7 @@
alternatives[0].host_port_pair());
EXPECT_EQ(0u, alternatives[0].advertised_versions().size());
}
+#endif
} // namespace

View file

@ -9,6 +9,12 @@ done
# Prefer user defined ELECTRON_USER_FLAGS (from env) over system
# default ELECTRON_FLAGS (from /etc/electron/default.conf).
ELECTRON_FLAGS=${ELECTRON_USER_FLAGS:-"$ELECTRON_FLAGS"}
export ELECTRON_FLAGS="$ELECTRON_FLAGS ${ELECTRON_USER_FLAGS:-"$ELECTRON_USER_FLAGS"}"
# Re-export, for it to be accessible by the process
export ELECTRON_OZONE_PLATFORM_HINT="${ELECTRON_OZONE_PLATFORM_HINT}"
if [ "$ELECTRON_RUN_AS_NODE" == "1" ] && [ "$ELECTRON_STILL_PASS_THE_DEFAULT_FLAGS" != "1" ]; then
exec "/usr/lib/electron/electron" "$@"
fi
exec "/usr/lib/electron/electron" "$@" ${ELECTRON_FLAGS}

View file

@ -1,11 +1,11 @@
--- a/electron/default_app/default_app.ts
+++ b/electron/default_app/default_app.ts
@@ -60,7 +60,7 @@
@@ -61,7 +61,7 @@
};
if (process.platform === 'linux') {
- options.icon = path.join(__dirname, 'icon.png');
+ options.icon = '/usr/share/icons/hicolor/1024x1024/apps/electron.png';
- options.icon = url.fileURLToPath(new URL('icon.png', import.meta.url));
+ options.icon = 'file:///usr/share/icons/hicolor/1024x1024/apps/electron.png';
}
mainWindow = new BrowserWindow(options);

View file

@ -0,0 +1,10 @@
--- ./electron/BUILD.gn.orig
+++ ./electron/BUILD.gn
@@ -1565,7 +1565,6 @@
public_deps = header_groups + [
":node_gypi_headers",
":node_version_header",
- ":zlib_headers",
]
}

View file

@ -0,0 +1,69 @@
--- ./third_party/electron_node/BUILD.gn.orig
+++ ./third_party/electron_node/BUILD.gn
@@ -40,6 +40,8 @@
node_release_urlbase = ""
# Allows downstream packagers (eg. Linux distributions) to build Electron against system shared libraries.
+ use_system_ada = false
+ use_system_base64 = false
use_system_cares = false
use_system_nghttp2 = false
use_system_llhttp = false
@@ -48,6 +50,16 @@
if (is_linux) {
import("//build/config/linux/pkg_config.gni")
+ if (use_system_ada) {
+ config("ada") {
+ libs = [ "ada" ]
+ }
+ }
+ if (use_system_base64) {
+ pkg_config("base64") {
+ packages = [ "base64" ]
+ }
+ }
if (use_system_cares) {
pkg_config("cares") {
packages = [ "libcares" ]
@@ -258,8 +270,6 @@
deps = [
":node_js2c_exec",
"deps/googletest:gtest",
- "deps/ada",
- "deps/base64",
"deps/simdutf",
"deps/uvwasi",
"//third_party/zlib",
@@ -267,6 +277,16 @@
"//third_party/brotli:enc",
"//v8:v8_libplatform",
]
+ if (use_system_ada) {
+ configs += [ ":ada" ]
+ } else {
+ deps += [ "deps/ada" ]
+ }
+ if (use_system_base64) {
+ configs += [ ":base64" ]
+ } else {
+ deps += [ "deps/base64" ]
+ }
if (use_system_cares) {
configs += [ ":cares" ]
} else {
diff --git a/./electron/script/generate-config-gypi.py.orig b/./electron/script/generate-config-gypi.py
index b41cd7eb450..bc4098debb5 100755
--- a/./electron/script/generate-config-gypi.py.orig
+++ b/./electron/script/generate-config-gypi.py
@@ -62,6 +62,11 @@ def main(target_file, target_cpu):
# Used by certain versions of node-gyp.
v['build_v8_with_gn'] = 'false'
+ with open(os.path.join(NODE_DIR, 'use_system.txt')) as f:
+ for dep in f.read().strip().split(' '):
+ if v.get(f'node_shared_{dep}') is not None:
+ v[f'node_shared_{dep}'] = 'true'
+
with open(target_file, 'w+', encoding='utf-8') as file_out:
file_out.write(pprint.pformat(config, indent=2))

View file

@ -0,0 +1,13 @@
instead of hardcoding the version, use the defined macro.
--
--- a/third_party/test_fonts/fontconfig/generate_fontconfig_caches.cc
+++ b/third_party/test_fonts/fontconfig/generate_fontconfig_caches.cc
@@ -56,7 +56,7 @@
FcFini();
// Check existence of intended fontconfig cache file.
- auto cache = fontconfig_caches + "/" + kCacheKey + "-le64.cache-9";
+ auto cache = fontconfig_caches + "/" + kCacheKey + "-le64.cache-" + FC_CACHE_VERSION;
bool cache_exists = access(cache.c_str(), F_OK) == 0;
return !cache_exists;
}

View file

@ -1,13 +0,0 @@
Patch-Source: https://github.com/void-linux/void-packages/blob/378db3cf5087877588aebaaa8ca3c9d94dfb54e0/srcpkgs/chromium/patches/fix-missing-cstdint-include-musl.patch
fixed in https://github.com/google/quiche/commit/4d4820f0a959be7fa22285d114a5b5b8676f10fe
--
--- a/net/third_party/quiche/src/quiche/http2/adapter/window_manager.h
+++ b/net/third_party/quiche/src/quiche/http2/adapter/window_manager.h
@@ -3,6 +3,7 @@
#include <stddef.h>
+#include <cstdint>
#include <functional>
#include "common/platform/api/quiche_export.h"

View file

@ -0,0 +1,12 @@
--- a/media/filters/ffmpeg_glue.cc
+++ b/media/filters/ffmpeg_glue.cc
@@ -142,7 +142,7 @@ const char* FFmpegGlue::GetAllowedAudioDecoders() {
static const base::NoDestructor<std::string> kAllowedAudioCodecs([]() {
// This should match the configured lists in //third_party/ffmpeg.
std::string allowed_decoders(
- "vorbis,libopus,flac,pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,"
+ "vorbis,opus,libopus,flac,pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,"
"mp3,pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw");
#if BUILDFLAG(USE_PROPRIETARY_CODECS)
allowed_decoders += ",aac";

View file

@ -0,0 +1,17 @@
fstatat64 is macrod to fstatat in sys/stat.h in musl- but then that fstatat is
used in the _syscall4 macro mapping to __NR_$name, and __NR_fstatat is not
defined anywhere here, as it wants the 64 name.
so, just let it keep the name with an undef of the stat.h macro, then the macro
expansion below evaluates correctly.
--- a/third_party/lss/linux_syscall_support.h
+++ b/third_party/lss/linux_syscall_support.h
@@ -4947,7 +4947,8 @@
# endif
#endif
#if defined(__NR_fstatat64)
+ #undef fstatat64
LSS_INLINE _syscall4(int, fstatat64, int, d,
const char *, p,
struct kernel_stat64 *, b, int, f)
#endif

View file

@ -0,0 +1,11 @@
--- a/services/device/public/cpp/generic_sensor/sensor_reading.h
+++ b/services/device/public/cpp/generic_sensor/sensor_reading.h
@@ -5,6 +5,8 @@
#ifndef SERVICES_DEVICE_PUBLIC_CPP_GENERIC_SENSOR_SENSOR_READING_H_
#define SERVICES_DEVICE_PUBLIC_CPP_GENERIC_SENSOR_SENSOR_READING_H_
+#include <cstddef>
+#include <cstdint>
#include <type_traits>
namespace device {

View file

@ -1,15 +0,0 @@
they fixed the import to be glibc conditional, but now nothing is imported so
all the string functions are missing.
--
--- a/chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc
+++ b/chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc
@@ -61,8 +61,7 @@
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
-#if defined(__GLIBC__) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
-#include <gnu/libc-version.h>
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
#include "base/linux_util.h"
#include "base/strings/string_split.h"

View file

@ -1,39 +0,0 @@
Patch-Source: https://github.com/archlinux/svntogit-packages/blob/bf2401407df5bcc938382eb03748fbef41e41c89/trunk/unbundle-jsoncpp-avoid-CFI-faults-with-is_cfi-true.patch
From ed8d931e35f81d8566835a579caf7d61368f85b7 Mon Sep 17 00:00:00 2001
From: Evangelos Foutras <evangelos@foutrelis.com>
Date: Tue, 27 Sep 2022 22:20:41 +0000
Subject: [PATCH] unbundle/jsoncpp: avoid CFI faults with is_cfi=true
Ensure jsoncpp symbols have public visibility and are thus excluded from
CFI checks and whole-program optimization. This is achieved by defining
JSON_DLL_BUILD which in turn causes json/config.h to define JSON_API as
__attribute__((visibility("default"))). The latter macro is used to tag
jsoncpp classes and namespace functions throughout jsoncpp's headers.
BUG=1365218
Change-Id: I56277737b7d9ecaeb5e17c8d21a2e55f3d5d5bc9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3919652
Reviewed-by: Thomas Anderson <thomasanderson@chromium.org>
Commit-Queue: Thomas Anderson <thomasanderson@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1052077}
---
build/linux/unbundle/jsoncpp.gn | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/build/linux/unbundle/jsoncpp.gn b/build/linux/unbundle/jsoncpp.gn
index 544f9d13c9..e84a0ef27a 100644
--- a/build/linux/unbundle/jsoncpp.gn
+++ b/build/linux/unbundle/jsoncpp.gn
@@ -3,6 +3,11 @@ import("//build/shim_headers.gni")
pkg_config("jsoncpp_config") {
packages = [ "jsoncpp" ]
+
+ # Defining JSON_DLL_BUILD applies public visibility to jsoncpp classes
+ # thus deactivating CFI checks for them. This avoids CFI violations in
+ # virtual calls to system jsoncpp library (https://crbug.com/1365218).
+ defines = [ "JSON_DLL_BUILD" ]
}
shim_headers("jsoncpp_shim") {

View file

@ -1,7 +0,0 @@
--- a/buildtools/third_party/libc++/__config_site
+++ b/buildtools/third_party/libc++/__config_site
@@ -49,3 +49,4 @@
#define _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
+#define _LIBCPP_HAS_MUSL_LIBC
#endif // _LIBCPP_CONFIG_SITE

View file

@ -1,13 +0,0 @@
needed for PKEY_DISABLE_WRITE. these are documented as also being from sys/
mman.h with GNU_SOURCE, but musl doesn't do that, so these are strictly from
kernel headers
--- a/base/allocator/partition_allocator/partition_alloc_unittest.cc
+++ b/base/allocator/partition_allocator/partition_alloc_unittest.cc
@@ -60,6 +60,7 @@
#include <sys/mman.h>
#include <sys/resource.h>
#include <sys/time.h>
+#include <linux/mman.h>
#endif // BUILDFLAG(IS_POSIX)
#if BUILDFLAG(ENABLE_PARTITION_ALLOC_AS_MALLOC_SUPPORT) && BUILDFLAG(IS_MAC)

View file

@ -0,0 +1,11 @@
--- ./v8/src/base/cpu.cc.orig
+++ ./v8/src/base/cpu.cc
@@ -14,7 +14,7 @@
#if V8_OS_LINUX
#include <linux/auxvec.h> // AT_HWCAP
#endif
-#if V8_GLIBC_PREREQ(2, 16) || V8_OS_ANDROID
+#if 1
#include <sys/auxv.h> // getauxval()
#endif
#if V8_OS_QNX

View file

@ -45,7 +45,7 @@ diff --git a/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc ./sandbox/linux/s
index d9d1882..0567557 100644
--- a/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
+++ ./sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
@@ -392,6 +392,7 @@ bool SyscallSets::IsAllowedProcessStartOrDeath(int sysno) {
@@ -438,6 +438,7 @@
#if defined(__i386__)
case __NR_waitpid:
#endif
@ -53,7 +53,7 @@ index d9d1882..0567557 100644
return true;
case __NR_clone: // Should be parameter-restricted.
case __NR_setns: // Privileged.
@@ -404,7 +405,6 @@ bool SyscallSets::IsAllowedProcessStartOrDeath(int sysno) {
@@ -450,7 +451,6 @@
#if defined(__i386__) || defined(__x86_64__) || defined(__mips__)
case __NR_set_thread_area:
#endif
@ -61,16 +61,16 @@ index d9d1882..0567557 100644
case __NR_unshare:
#if !defined(__mips__) && !defined(__aarch64__)
case __NR_vfork:
@@ -514,6 +514,8 @@ bool SyscallSets::IsAllowedAddressSpaceAccess(int sysno) {
case __NR_mlock:
@@ -549,6 +549,8 @@
case __NR_munlock:
case __NR_munmap:
case __NR_mseal:
+ case __NR_mremap:
+ case __NR_membarrier:
return true;
case __NR_madvise:
case __NR_mincore:
@@ -531,7 +533,6 @@ bool SyscallSets::IsAllowedAddressSpaceAccess(int sysno) {
@@ -566,7 +568,6 @@
case __NR_modify_ldt:
#endif
case __NR_mprotect:

View file

@ -37,25 +37,24 @@ for discussion about this, see https://www.openwall.com/lists/musl/2021/07/16/1
#define HAVE_FCNTL_H 1
--- a/base/debug/stack_trace.cc
+++ b/base/debug/stack_trace.cc
@@ -251,7 +253,9 @@
}
@@ -311,7 +311,7 @@
void StackTrace::OutputToStream(std::ostream* os) const {
+#if defined(__GLIBC__) && !defined(_AIX)
OutputToStreamWithPrefix(os, nullptr);
+#endif
}
std::string StackTrace::ToString() const {
@@ -281,7 +281,7 @@
}
std::string StackTrace::ToStringWithPrefix(const char* prefix_string) const {
std::string StackTrace::ToStringWithPrefix(cstring_view prefix_string) const {
std::stringstream stream;
-#if !defined(__UCLIBC__) && !defined(_AIX)
+#if defined(__GLIBC__) && !defined(_AIX)
OutputToStreamWithPrefix(&stream, prefix_string);
#endif
return stream.str();
@@ -335,7 +335,7 @@
}
std::ostream& operator<<(std::ostream& os, const StackTrace& s) {
-#if !defined(__UCLIBC__) && !defined(_AIX)
+#if defined(__GLIBC__) && !defined(_AIX)
s.OutputToStream(&os);
#else
os << "StackTrace::OutputToStream not implemented.";
--- a/base/debug/stack_trace_unittest.cc
+++ b/base/debug/stack_trace_unittest.cc
@@ -33,7 +33,7 @@
@ -67,12 +66,3 @@ for discussion about this, see https://www.openwall.com/lists/musl/2021/07/16/1
// StackTrace::OutputToStream() is not implemented under uclibc, nor AIX.
// See https://crbug.com/706728
@@ -156,7 +156,7 @@
#endif // !defined(__UCLIBC__) && !defined(_AIX)
-#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_ANDROID)
+#if (BUILDFLAG(IS_POSIX) && defined(__GLIBC__)) && !BUILDFLAG(IS_ANDROID)
#if !BUILDFLAG(IS_IOS)
static char* newArray() {
// Clang warns about the mismatched new[]/delete if they occur in the same

View file

@ -100,25 +100,25 @@ musl does not implement mallinfo()/mallinfo2()
/* Define to 1 if you have the <malloc.h> header file. */
#define HAVE_MALLOC_H 1
--- a/base/allocator/partition_allocator/shim/allocator_shim_default_dispatch_to_partition_alloc.cc
+++ b/base/allocator/partition_allocator/shim/allocator_shim_default_dispatch_to_partition_alloc.cc
@@ -717,7 +717,7 @@
--- a/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim_default_dispatch_to_partition_alloc.cc
+++ b/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim_default_dispatch_to_partition_alloc.cc
@@ -660,7 +660,7 @@
#endif // !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_ANDROID)
#endif // !PA_BUILDFLAG(IS_APPLE) && !PA_BUILDFLAG(IS_ANDROID)
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-#if PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_CHROMEOS)
+#if 0
SHIM_ALWAYS_EXPORT struct mallinfo mallinfo(void) __THROW {
base::SimplePartitionStatsDumper allocator_dumper;
partition_alloc::SimplePartitionStatsDumper allocator_dumper;
Allocator()->DumpStats("malloc", true, &allocator_dumper);
--- a/base/allocator/partition_allocator/shim/allocator_shim_default_dispatch_to_partition_alloc_unittest.cc
+++ b/base/allocator/partition_allocator/shim/allocator_shim_default_dispatch_to_partition_alloc_unittest.cc
@@ -24,7 +24,7 @@
#if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC)
--- a/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim_default_dispatch_to_partition_alloc_unittest.cc
+++ b/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim_default_dispatch_to_partition_alloc_unittest.cc
@@ -29,7 +29,7 @@
#if PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC)
// Platforms on which we override weak libc symbols.
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if (BUILDFLAG(IS_LINUX) && defined(__GLIBC__)) || BUILDFLAG(IS_CHROMEOS)
-#if PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_CHROMEOS)
+#if (PA_BUILDFLAG(IS_LINUX) && defined(__GLIBC__)) || PA_BUILDFLAG(IS_CHROMEOS)
NOINLINE void FreeForTest(void* data) {
PA_NOINLINE void FreeForTest(void* data) {
free(data);

View file

@ -0,0 +1,14 @@
this optimisation of CLONE_SETTLS is not valid used like this, and future musl
clone(3) will EINVAL on this use
--
--- a/sandbox/linux/services/credentials.cc
+++ b/sandbox/linux/services/credentials.cc
@@ -89,7 +89,7 @@
int clone_flags = CLONE_FS | LINUX_SIGCHLD;
void* tls = nullptr;
-#if (defined(ARCH_CPU_X86_64) || defined(ARCH_CPU_ARM_FAMILY)) && \
+#if 0 && (defined(ARCH_CPU_X86_64) || defined(ARCH_CPU_ARM_FAMILY)) && \
!defined(MEMORY_SANITIZER)
// Use CLONE_VM | CLONE_VFORK as an optimization to avoid copying page tables.
// Since clone writes to the new child's TLS before returning, we must set a

View file

@ -0,0 +1,25 @@
Hard-disable memory tagging on ARM64 - it does exist there but musl is
missing some required interface headers for it, and it's not clear how
to make the partalloc support code for it work.
--- ./base/allocator/partition_allocator/partition_alloc.gni.orig
+++ ./base/allocator/partition_allocator/partition_alloc.gni
@@ -30,7 +30,7 @@
}
has_memory_tagging =
- current_cpu == "arm64" && is_clang && !is_asan && (is_linux || is_android)
+ false
declare_args() {
# Causes all the allocations to be routed via allocator_shim.cc. Usually,
--- ./base/allocator/partition_allocator/src/partition_alloc/aarch64_support.h.orig
+++ ./base/allocator/partition_allocator/src/partition_alloc/aarch64_support.h
@@ -10,7 +10,7 @@
#include "partition_alloc/build_config.h"
#include "partition_alloc/partition_alloc_buildflags.h"
-#if PA_BUILDFLAG(IS_ANDROID) || PA_BUILDFLAG(IS_LINUX)
+#if PA_BUILDFLAG(IS_ANDROID) || (PA_BUILDFLAG(IS_LINUX) && defined(__GLIBC__))
#define HAS_HW_CAPS
#endif

View file

@ -0,0 +1,33 @@
the pvalloc/valloc symbols are obsolete and not implemented in musl
--
--- a/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim_unittest.cc
+++ b/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim_unittest.cc
@@ -410,7 +410,7 @@
ASSERT_GE(aligned_allocs_intercepted_by_alignment[128], 1u);
ASSERT_GE(aligned_allocs_intercepted_by_size[53], 1u);
-#if PA_BUILDFLAG(IS_POSIX) && !PA_BUILDFLAG(IS_ANDROID)
+#if (PA_BUILDFLAG(IS_POSIX) && defined(__GLIBC__)) && !PA_BUILDFLAG(IS_ANDROID)
void* pvalloc_ptr = pvalloc(67);
ASSERT_NE(nullptr, pvalloc_ptr);
ASSERT_EQ(0u, reinterpret_cast<uintptr_t>(pvalloc_ptr) % kPageSize);
@@ -449,7 +449,7 @@
free(memalign_ptr);
ASSERT_GE(frees_intercepted_by_addr[Hash(memalign_ptr)], 1u);
-#if PA_BUILDFLAG(IS_POSIX) && !PA_BUILDFLAG(IS_ANDROID)
+#if (PA_BUILDFLAG(IS_POSIX) && defined(__GLIBC__)) && !PA_BUILDFLAG(IS_ANDROID)
free(pvalloc_ptr);
ASSERT_GE(frees_intercepted_by_addr[Hash(pvalloc_ptr)], 1u);
#endif // PA_BUILDFLAG(IS_POSIX) && !PA_BUILDFLAG(IS_ANDROID)
--- a/base/process/memory_unittest.cc
+++ b/base/process/memory_unittest.cc
@@ -359,7 +359,7 @@
#endif // BUILDFLAG(IS_WIN)
#endif // !BUILDFLAG(IS_MAC)
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if (BUILDFLAG(IS_LINUX) && defined(__GLIBC__)) || BUILDFLAG(IS_CHROMEOS)
TEST_F(OutOfMemoryDeathTest, Valloc) {
ASSERT_OOM_DEATH({

View file

@ -1,14 +0,0 @@
back in the day when net_unittests were ran, the block arena size was not big
enough for some reason. should look at this again
--
--- a/net/third_party/quiche/src/quiche/quic/core/quic_one_block_arena.h
+++ b/net/third_party/quiche/src/quiche/quic/core/quic_one_block_arena.h
@@ -69,7 +69,7 @@
// QuicConnections currently use around 1KB of polymorphic types which would
// ordinarily be on the heap. Instead, store them inline in an arena.
-using QuicConnectionArena = QuicOneBlockArena<1280>;
+using QuicConnectionArena = QuicOneBlockArena<1504>;
} // namespace quic

View file

@ -1,10 +0,0 @@
--- a/third_party/node/update_npm_deps
+++ b/third_party/node/update_npm_deps
@@ -20,7 +20,6 @@
patch -d node_modules/@types/d3/ -p1 < chromium_d3_types_index.patch
patch -d node_modules/html-minifier/ -p1 < html_minifier.patch
-patch -p1 < typescript.patch
rsync -c --delete -r -q --include-from="npm_include.txt" --exclude-from="npm_exclude.txt" \
--prune-empty-dirs "node_modules/" "node_modules_filtered/"

View file

@ -1,25 +0,0 @@
for some reason this breaks and the fd returned after close() after a few
cycles is still in the lock array.
so, just don't enforce or wrap anything.
note when testing this again: __close does not exist as a symbol in musl, so a
manual dlsym workaround has to be performed to use this codepath.
--- a/base/files/scoped_file_linux.cc
+++ b/base/files/scoped_file_linux.cc
@@ -77,15 +77,3 @@
}
} // namespace base
-
-extern "C" {
-
-int __close(int);
-
-__attribute__((visibility("default"), noinline)) int close(int fd) {
- if (base::IsFDOwned(fd) && g_is_ownership_enforced)
- CrashOnFdOwnershipViolation();
- return __close(fd);
-}
-
-} // extern "C"

View file

@ -1,113 +0,0 @@
--- a/chrome/browser/process_singleton_posix.cc
+++ b/chrome/browser/process_singleton_posix.cc
@@ -607,7 +607,7 @@
// |reader| is for sending back ACK message.
void HandleMessage(const std::string& current_dir,
const std::vector<std::string>& argv,
- const std::vector<const uint8_t> additional_data,
+ const std::vector<uint8_t> additional_data,
SocketReader* reader);
private:
@@ -664,7 +664,7 @@
void ProcessSingleton::LinuxWatcher::HandleMessage(
const std::string& current_dir,
const std::vector<std::string>& argv,
- const std::vector<const uint8_t> additional_data,
+ const std::vector<uint8_t> additional_data,
SocketReader* reader) {
DCHECK(ui_task_runner_->BelongsToCurrentThread());
DCHECK(reader);
@@ -754,7 +754,7 @@
base::StringToSizeT(tokens[0], &num_args);
std::vector<std::string> command_line(tokens.begin() + 1, tokens.begin() + 1 + num_args);
- std::vector<const uint8_t> additional_data;
+ std::vector<uint8_t> additional_data;
if (tokens.size() >= 3 + num_args) {
size_t additional_data_size;
base::StringToSizeT(tokens[1 + num_args], &additional_data_size);
@@ -763,7 +763,7 @@
std::string(1, kTokenDelimiter));
const uint8_t* additional_data_bits =
reinterpret_cast<const uint8_t*>(remaining_args.c_str());
- additional_data = std::vector<const uint8_t>(
+ additional_data = std::vector<uint8_t>(
additional_data_bits, additional_data_bits + additional_data_size);
}
--- a/chrome/browser/process_singleton.h
+++ b/chrome/browser/process_singleton.h
@@ -102,7 +102,7 @@
using NotificationCallback =
base::RepeatingCallback<bool(const base::CommandLine& command_line,
const base::FilePath& current_directory,
- const std::vector<const uint8_t> additional_data)>;
+ const std::vector<uint8_t> additional_data)>;
#if BUILDFLAG(IS_WIN)
ProcessSingleton(const std::string& program_name,
--- a/chrome/browser/process_singleton_win.cc
+++ b/chrome/browser/process_singleton_win.cc
@@ -81,7 +81,7 @@
bool ParseCommandLine(const COPYDATASTRUCT* cds,
base::CommandLine* parsed_command_line,
base::FilePath* current_directory,
- std::vector<const uint8_t>* parsed_additional_data) {
+ std::vector<uint8_t>* parsed_additional_data) {
// We should have enough room for the shortest command (min_message_size)
// and also be a multiple of wchar_t bytes. The shortest command
// possible is L"START\0\0" (empty command line, current directory,
@@ -163,7 +163,7 @@
msg.substr(fourth_null + 1, fifth_null - fourth_null);
const uint8_t* additional_data_bytes =
reinterpret_cast<const uint8_t*>(additional_data.c_str());
- *parsed_additional_data = std::vector<const uint8_t>(additional_data_bytes,
+ *parsed_additional_data = std::vector<uint8_t>(additional_data_bytes,
additional_data_bytes + additional_data_length);
return true;
@@ -187,7 +187,7 @@
base::CommandLine parsed_command_line(base::CommandLine::NO_PROGRAM);
base::FilePath current_directory;
- std::vector<const uint8_t> additional_data;
+ std::vector<uint8_t> additional_data;
if (!ParseCommandLine(cds, &parsed_command_line, &current_directory, &additional_data)) {
*result = TRUE;
return true;
--- a/electron/shell/browser/api/electron_api_app.cc
+++ b/electron/shell/browser/api/electron_api_app.cc
@@ -519,10 +519,10 @@
const base::RepeatingCallback<
void(const base::CommandLine& command_line,
const base::FilePath& current_directory,
- const std::vector<const uint8_t> additional_data)>& callback,
+ const std::vector<uint8_t> additional_data)>& callback,
const base::CommandLine& cmd,
const base::FilePath& cwd,
- const std::vector<const uint8_t> additional_data) {
+ const std::vector<uint8_t> additional_data) {
// Make sure the callback is called after app gets ready.
if (Browser::Get()->is_ready()) {
callback.Run(cmd, cwd, std::move(additional_data));
@@ -1082,7 +1082,7 @@
void App::OnSecondInstance(const base::CommandLine& cmd,
const base::FilePath& cwd,
- const std::vector<const uint8_t> additional_data) {
+ const std::vector<uint8_t> additional_data) {
v8::Isolate* isolate = JavascriptEnvironment::GetIsolate();
v8::Locker locker(isolate);
v8::HandleScope handle_scope(isolate);
--- a/electron/shell/browser/api/electron_api_app.h
+++ b/electron/shell/browser/api/electron_api_app.h
@@ -195,7 +195,7 @@
std::string GetLocaleCountryCode();
void OnSecondInstance(const base::CommandLine& cmd,
const base::FilePath& cwd,
- const std::vector<const uint8_t> additional_data);
+ const std::vector<uint8_t> additional_data);
bool HasSingleInstanceLock() const;
bool RequestSingleInstanceLock(gin::Arguments* args);
void ReleaseSingleInstanceLock();

View file

@ -0,0 +1,11 @@
--- ./buildtools/third_party/libc++/__config_site.orig
+++ ./buildtools/third_party/libc++/__config_site
@@ -18,7 +18,7 @@
/* #undef _LIBCPP_ABI_FORCE_MICROSOFT */
/* #undef _LIBCPP_HAS_NO_THREADS */
/* #undef _LIBCPP_HAS_NO_MONOTONIC_CLOCK */
-/* #undef _LIBCPP_HAS_MUSL_LIBC */
+#define _LIBCPP_HAS_MUSL_LIBC 1
/* #undef _LIBCPP_HAS_THREAD_API_PTHREAD */
/* #undef _LIBCPP_HAS_THREAD_API_EXTERNAL */
/* #undef _LIBCPP_HAS_THREAD_API_WIN32 */

View file

@ -0,0 +1,27 @@
# Contributor: Aiden Grossman <agrossman154@yahoo.com>
# Maintainer:
pkgname=fdm-materials
pkgver=5.2.2
pkgrel=1
pkgdesc="FDM Material Database"
url="https://github.com/Ultimaker/fdm_materials"
arch="noarch"
license="CC0-1.0"
makedepends="cmake samurai"
options="!check" # no checks provided
source="$pkgname-$pkgver.tar.gz::https://github.com/Ultimaker/fdm_materials/archive/refs/tags/$pkgver.tar.gz"
builddir="$srcdir/fdm_materials-$pkgver"
build() {
cmake -B build -G Ninja \
-DCMAKE_INSTALL_PREFIX=/usr
cmake --build build
}
package() {
DESTDIR="$pkgdir" cmake --install build
}
sha512sums="
73eefec8b7b88af73afc578ffba583480bda30309945b1720d7a1a075bd7ab3279599d53fe83f4c96695f294a5a3e11297abc334ca6cc9db163d4eb0fbdaf0f9 fdm-materials-5.2.2.tar.gz
"

View file

@ -1,20 +0,0 @@
# Contributor: Lauren N. Liberda <lauren@selfisekai.rocks>
# Maintainer: Lauren N. Liberda <lauren@selfisekai.rocks>
pkgname=font-parisienne
pkgver=1
pkgrel=1
pkgdesc="Parisienne is a casual connecting script inspired by a 1960s Bra advertisement"
url="https://fonts.google.com/specimen/Parisienne"
arch="noarch"
license="OFL-1.1"
source="Parisienne-$pkgver.zip::https://fonts.google.com/download?family=Parisienne"
options="!check" # No code to test
builddir="$srcdir/"
package() {
install -Dm644 ./Parisienne-Regular.ttf -t "$pkgdir"/usr/share/fonts/parisienne
}
sha512sums="
a5099b4952b26c31bc1aa363318b4a13a3c156712e58b601534a6530780bc1938420970a50a3a22cbf3f4dff647660b3cafdc4d05a4c86b86a8d21a7bb5efab0 Parisienne-1.zip
"

View file

@ -0,0 +1,56 @@
# Maintainer: Antoine Martin (ayakael) <dev@ayakael.net>
# Contributor: Antoine Martin (ayakael) <dev@ayakael.net>
pkgname=freetube
pkgver=0.21.3
pkgrel=2
pkgdesc="An open source desktop YouTube player built with privacy in mind."
arch="x86_64 aarch64" # blocked by electron
license="AGPL-3.0-only"
depends="
electron
font-roboto
"
makedepends="
electron-tasje
nodejs
yarn
"
url="https://freetubeapp.io"
source="
$pkgname-$pkgver.tar.gz::https://github.com/FreeTubeApp/FreeTube/archive/v$pkgver-beta.tar.gz
freetube.sh
tasje-dotdash.patch
"
options="net !check" # No testsuite
builddir="$srcdir"/FreeTube-$pkgver-beta
export npm_config_nodedir=/usr/include/electron/node_headers
export npm_config_build_from_source=true
prepare() {
default_prepare
yarn --cache-folder "$srcdir"/yarn-cache install --frozen-lockfile --ignore-scripts
}
build() {
yarn --cache-folder "$srcdir"/yarn-cache run pack
tasje --config _scripts/ebuilder.config.js pack
}
package() {
# directory creation + program copy
install -Dm755 build/resources/app.asar -t "$pkgdir"/usr/lib/$pkgname/
# link binaries + other items
install -Dm755 "$srcdir"/freetube.sh "$pkgdir"/usr/bin/$pkgname
install -Dm644 "$builddir"/_icons/icon.svg "$pkgdir"/usr/share/icons/hicolor/scalable/$pkgname.svg
install -Dm644 build/freetube.desktop "$pkgdir"/usr/share/applications/$pkgname.desktop
}
sha512sums="
22e5ab677cd442d50237b2d62534698d8ad73a37e1731003dc23c4ea3da992b3cae936f0bb3a0a86cd4b7fba731c9fa53276cb0a6cd5bab213ff2a6c9006cb05 freetube-0.21.3.tar.gz
2ce2effc794bb663789cefe968b5899122127983dbfa1b240aa33a2be383720b18204e6d01b4a550df72956f02b6636b79c93a58f470a970b09b770f5b8f2fc4 freetube.sh
d27cb896b65a7e8d52ffe86e5f74eed72b6cf976b28e1a13012d34c7eceba5ff6f20298017738dfa93c0336ffa52b8ee4da7e06b02747062898db7e678819526 tasje-dotdash.patch
"

View file

@ -0,0 +1,3 @@
#!/bin/sh
exec electron /usr/lib/freetube/app.asar "$@"

View file

@ -0,0 +1,12 @@
https://codeberg.org/selfisekai/electron_tasje/issues/27
--- ./_scripts/ebuilder.config.js.orig
+++ ./_scripts/ebuilder.config.js
@@ -20,7 +20,7 @@
files: [
'_icons/iconColor.*',
'icon.svg',
- './dist/**/*',
+ 'dist/**/*',
'!dist/web/*',
'!node_modules/**/*',
],

View file

@ -0,0 +1,40 @@
# Contributor: Anjandev Momi <anjan@momi.ca>
# Maintainer: Anjandev Momi <anjan@momi.ca>
pkgname=libnest2d
pkgver=0.4
pkgrel=6
pkgdesc="2D irregular bin packaging and nesting library written in modern C++"
url="https://github.com/tamasmeszaros/libnest2d"
arch="noarch"
license="LGPL-3.0-only"
makedepends="samurai cmake clipper-dev boost-dev nlopt-dev"
subpackages="$pkgname-dev"
source="$pkgname-$pkgver.tar.gz::https://github.com/tamasmeszaros/libnest2d/archive/refs/tags/$pkgver.tar.gz
allow-disallowed-area.patch"
build() {
if [ "$CBUILD" != "$CHOST" ]; then
CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
fi
cmake -B build -G Ninja \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib \
-DBUILD_SHARED_LIBS=True \
-DCMAKE_BUILD_TYPE=minsizerel \
$CMAKE_CROSSOPTS .
cmake --build build
}
check() {
cd build
CTEST_OUTPUT_ON_FAILURE=TRUE ctest
}
package() {
DESTDIR="$pkgdir" cmake --install build
}
sha512sums="
fadce18986b844eed13a581f84055df909a17407a0980deb6c7c24248a969a537a8840650bcfc673e61973810ce9a008acb599e3b8e00c9bff6b566ca41cd62c libnest2d-0.4.tar.gz
2e8cd3343c72c576ecb54960d7ad9f4f2322f822b19ac41850b3b28da95e97c2cefe7c67de6c97627df08cd5cdc1660ce4dfa95fe51f88e0ff5c066c8d785458 allow-disallowed-area.patch
"

View file

@ -0,0 +1,124 @@
From 2e91be2679b5efa0773292d9d0a2ae72255bb271 Mon Sep 17 00:00:00 2001
From: Ghostkeeper <rubend@tutanota.com>
Date: Tue, 6 Oct 2020 16:13:15 +0200
Subject: [PATCH 1/3] Allow for an item to be a disallowed area
url: https://github.com/tamasmeszaros/libnest2d/pull/18
Disallowed areas have slightly different behaviour from fixed items: Other items won't get packed closely around them. Implementation of that pending.
Contributes to issue CURA-7754.
---
include/libnest2d/nester.hpp | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/include/libnest2d/nester.hpp b/include/libnest2d/nester.hpp
index 2f207d5..932a060 100644
--- a/include/libnest2d/nester.hpp
+++ b/include/libnest2d/nester.hpp
@@ -71,6 +71,15 @@ class _Item {
int binid_{BIN_ID_UNSET}, priority_{0};
bool fixed_{false};
+ /**
+ * \brief If this is a fixed area, indicates whether it is a disallowed area
+ * or a previously placed item.
+ *
+ * If this is a disallowed area, other objects will not get packed close
+ * together with this item. It only blocks other items in its area.
+ */
+ bool disallowed_{false};
+
public:
/// The type of the shape which was handed over as the template argument.
@@ -129,11 +138,18 @@ class _Item {
sh_(sl::create<RawShape>(std::move(contour), std::move(holes))) {}
inline bool isFixed() const noexcept { return fixed_; }
+ inline bool isDisallowedArea() const noexcept { return disallowed_; }
inline void markAsFixedInBin(int binid)
{
fixed_ = binid >= 0;
binid_ = binid;
}
+ inline void markAsDisallowedAreaInBin(int binid)
+ {
+ fixed_ = binid >= 0;
+ binid_ = binid;
+ disallowed_ = true;
+ }
inline void binId(int idx) { binid_ = idx; }
inline int binId() const noexcept { return binid_; }
From ff61049e59d3151462bca7ff2e2268c2b32731e7 Mon Sep 17 00:00:00 2001
From: Ghostkeeper <rubend@tutanota.com>
Date: Tue, 6 Oct 2020 16:14:36 +0200
Subject: [PATCH 2/3] Allow unsetting of being a disallowed area
If you set the bin to -1 or set the item to be a simple fixed item afterwards, it'll no longer be a disallowed area.
Contributes to issue CURA-7754.
---
include/libnest2d/nester.hpp | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/include/libnest2d/nester.hpp b/include/libnest2d/nester.hpp
index 932a060..54761a6 100644
--- a/include/libnest2d/nester.hpp
+++ b/include/libnest2d/nester.hpp
@@ -143,12 +143,13 @@ class _Item {
{
fixed_ = binid >= 0;
binid_ = binid;
+ disallowed_ = false;
}
inline void markAsDisallowedAreaInBin(int binid)
{
fixed_ = binid >= 0;
binid_ = binid;
- disallowed_ = true;
+ disallowed_ = fixed_;
}
inline void binId(int idx) { binid_ = idx; }
From 31391fd173249ad9b906390058e13b09238fadc8 Mon Sep 17 00:00:00 2001
From: Ghostkeeper <rubend@tutanota.com>
Date: Thu, 8 Oct 2020 11:06:58 +0200
Subject: [PATCH 3/3] Align items to their starting position if all placed
items are disallowed
We shouldn't align items to disallowed areas. So place them in the starting position according to the alignment property.
Lot of work to investigate. But very little code changes!
Contributes to issue CURA-7754.
---
include/libnest2d/placers/nfpplacer.hpp | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/include/libnest2d/placers/nfpplacer.hpp b/include/libnest2d/placers/nfpplacer.hpp
index 96a8cff..b0ebb15 100644
--- a/include/libnest2d/placers/nfpplacer.hpp
+++ b/include/libnest2d/placers/nfpplacer.hpp
@@ -101,7 +101,7 @@ struct NfpPConfig {
* alignment with the candidate item or do anything else.
*
* \param remaining A container with the remaining items waiting to be
- * placed. You can use some features about the remaining items to alter to
+ * placed. You can use some features about the remaining items to alter the
* score of the current placement. If you know that you have to leave place
* for other items as well, that might influence your decision about where
* the current candidate should be placed. E.g. imagine three big circles
@@ -735,7 +735,8 @@ class _NofitPolyPlacer: public PlacerBoilerplate<_NofitPolyPlacer<RawShape, TBin
remlist.insert(remlist.end(), remaining.from, remaining.to);
}
- if(items_.empty()) {
+ if(std::all_of(items_.begin(), items_.end(),
+ [](const Item& item) { return item.isDisallowedArea(); })) {
setInitialPosition(item);
best_overfit = overfit(item.transformedShape(), bin_);
can_pack = best_overfit <= 0;

View file

@ -0,0 +1,33 @@
# Contributor: Alex Yam <alex@alexyam.com>
# Maintainer: Alex Yam <alex@alexyam.com>
pkgname=libspatialindex
pkgver=0_git20210205
_commit=8ee223632f95c81f49f5eb2d547ad973475c4601
pkgrel=1
pkgdesc="extensible framework for robust spatial indexing methods"
url="https://libspatialindex.org/"
arch="all"
license="MIT"
makedepends="cmake"
subpackages="$pkgname-dev"
source="$pkgname-$_commit.tar.gz::https://github.com/libspatialindex/libspatialindex/archive/$_commit.tar.gz"
builddir="$srcdir/$pkgname-$_commit"
build() {
cmake -B build \
-DCMAKE_BUILD_TYPE=MinSizeRel \
-DCMAKE_PREFIX_PATH=/usr \
-DCMAKE_INSTALL_PREFIX=/usr \
-DBUILD_TESTING=ON
cmake --build build
}
check() {
cd build && ctest
}
package() {
DESTDIR="$pkgdir" cmake --build build --target install
}
sha512sums="caf91aac77b75445e4fc4d0baedcd10c619b2097dfd841b00339d9ddd4b73db05b99de1d84be88f1083f4713a936cf110d5851523491f5a74c6f96e1d5795dbb libspatialindex-8ee223632f95c81f49f5eb2d547ad973475c4601.tar.gz"

45
backports/nb/APKBUILD Normal file
View file

@ -0,0 +1,45 @@
# Contributor: Quillith <tag.quill@protonmail.com>
# Maintainer: Quillith <tag.quill@protonmail.com>
pkgname=nb
pkgver=7.12.1
pkgrel=0
pkgdesc="Command line note-taking, bookmarking, archiving, and knowledge base application"
url="https://github.com/xwmx/nb"
arch="noarch"
license="AGPL-3.0-or-later"
depends="bash git"
subpackages="
$pkgname-doc
$pkgname-full
$pkgname-bash-completion
$pkgname-fish-completion
$pkgname-zsh-completion
"
source="$pkgname-$pkgver.tar.gz::https://github.com/xwmx/nb/archive/$pkgver.tar.gz"
options="!check" # no tests
package() {
install -Dm755 nb "$pkgdir/usr/bin/nb"
install -Dm644 LICENSE "$pkgdir/usr/share/licenses/nb/LICENSE"
install -Dm644 README.md "$pkgdir/usr/share/doc/nb/README.md"
# Completions
install -Dm644 etc/nb-completion.bash "$pkgdir/usr/share/bash-completion/completions/nb"
install -Dm644 etc/nb-completion.fish "$pkgdir/usr/share/fish/vendor_completions.d/nb.fish"
install -Dm644 etc/nb-completion.zsh "$pkgdir/usr/share/zsh/site-functions/_nb"
# Plugins
install -Dm644 -t "$pkgdir/usr/share/nb/plugins/" plugins/*
# Extras (prefixed with "nb-")
for extra in bookmark notes; do
install -Dm0755 "bin/$extra" "$pkgdir/usr/bin/nb-$extra"
done
}
full() {
pkgdesc="More utilities that integrate with nb"
depends="$pkgname=$pkgver-r$pkgrel bat nmap-ncat pandoc ripgrep tig w3m"
mkdir -p "$subpkgdir"
}
sha512sums="
ed3d41a809e39a19711c6c97c38216f17f144b8b474eb94aec4134f9756da03440073f3f6557acf8f7959d3d9fba6392d1d5f59e8b94d5269b7336b11353457e nb-7.12.1.tar.gz
"

71
backports/nlopt/APKBUILD Normal file
View file

@ -0,0 +1,71 @@
# Contributor: Anjandev Momi <anjan@momi.ca>
# Maintainer: Celeste <cielesti@protonmail.com>
maintainer="Celeste <cielesti@protonmail.com>"
pkgname=nlopt
pkgver=2.8.0
pkgrel=0
pkgdesc="Library for nonlinear optimization"
url="https://github.com/stevengj/nlopt"
arch="all"
license="LGPL-2.1-or-later"
makedepends="
cmake
guile-dev
python3-dev
samurai
swig
"
subpackages="
$pkgname-dev
$pkgname-doc
$pkgname-guile
"
source="$pkgname-$pkgver.tar.gz::https://github.com/stevengj/nlopt/archive/refs/tags/v$pkgver.tar.gz"
case "$CARCH" in
# octave unavailable on these 3 archs
s390x|riscv64|ppc64le) ;;
*)
makedepends="$makedepends octave-dev"
subpackages="$subpackages $pkgname-octave"
;;
esac
build() {
if [ "$CBUILD" != "$CHOST" ]; then
local crossopts="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
fi
cmake -B build -G Ninja \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib \
-DBUILD_SHARED_LIBS=ON \
-DCMAKE_BUILD_TYPE=MinSizeRel \
$crossopts
cmake --build build
}
check() {
ctest --test-dir build --output-on-failure
}
package() {
DESTDIR="$pkgdir" cmake --install build
}
guile() {
pkgdesc="$pkgdesc (Guile bindings)"
depends="$pkgname=$pkgver-r$pkgrel guile"
amove usr/lib/guile usr/share/guile
}
octave() {
pkgdesc="$pkgdesc (Octave bindings)"
depends="$pkgname=$pkgver-r$pkgrel octave"
amove usr/lib/octave usr/share/octave
}
sha512sums="
cb294caa5532e11ae0d22ed849705920bbae79f712144c840a5ca865ef8e6a15c6c9540c81ced0c3c05b9f44c360d50f74e235e69d893be34b7e1c5599f07c71 nlopt-2.8.0.tar.gz
"

View file

@ -0,0 +1,168 @@
# Contributor: Ariadne Conill <ariadne@dereferenced.org>
# Maintainer: Timo Teras <timo.teras@iki.fi>
pkgname=openssl1.1-compat
pkgver=1.1.1w
_abiver=${pkgver%.*}
pkgrel=1
pkgdesc="toolkit for transport layer security (TLS) - version 1.1"
url="https://www.openssl.org/"
arch="all"
license="OpenSSL"
replaces="libressl"
depends_dev="!openssl-dev"
makedepends_build="perl"
makedepends_host="linux-headers"
makedepends="$makedepends_host $makedepends_build"
subpackages="$pkgname-dbg $pkgname-libs-static:_static $pkgname-dev
libcrypto$_abiver:_libcrypto libssl$_abiver:_libssl"
source="https://www.openssl.org/source/openssl-$pkgver.tar.gz
man-section.patch
ppc64.patch
"
builddir="$srcdir/openssl-$pkgver"
pcprefix="openssl$_abiver:pc:"
# secfixes:
# 1.1.1u-r1:
# - CVE-2023-3446
# 1.1.1t-r2:
# - CVE-2023-0465
# 1.1.1t-r1:
# - CVE-2023-0464
# 1.1.1t-r0:
# - CVE-2022-4304
# - CVE-2022-4450
# - CVE-2023-0215
# - CVE-2023-0286
# 1.1.1q-r0:
# - CVE-2022-2097
# 1.1.1n-r0:
# - CVE-2022-0778
# 1.1.1l-r0:
# - CVE-2021-3711
# - CVE-2021-3712
# 1.1.1k-r0:
# - CVE-2021-3449
# - CVE-2021-3450
# 1.1.1j-r0:
# - CVE-2021-23841
# - CVE-2021-23840
# - CVE-2021-23839
# 1.1.1i-r0:
# - CVE-2020-1971
# 1.1.1g-r0:
# - CVE-2020-1967
# 1.1.1d-r3:
# - CVE-2019-1551
# 1.1.1d-r1:
# - CVE-2019-1547
# - CVE-2019-1549
# - CVE-2019-1563
# 1.1.1b-r1:
# - CVE-2019-1543
# 1.1.1a-r0:
# - CVE-2018-0734
# - CVE-2018-0735
# 0:
# - CVE-2022-1292
# - CVE-2022-2068
build() {
local _target _optflags
# openssl will prepend crosscompile always core CC et al
CC=${CC#${CROSS_COMPILE}}
CXX=${CXX#${CROSS_COMPILE}}
CPP=${CPP#${CROSS_COMPILE}}
# determine target OS for openssl
case "$CARCH" in
aarch64*) _target="linux-aarch64" ;;
arm*) _target="linux-armv4" ;;
ppc) _target="linux-ppc" ;;
ppc64) _target="linux-ppc64" ;;
ppc64le) _target="linux-ppc64le" ;;
x86) _target="linux-elf" ;;
x86_64) _target="linux-x86_64"; _optflags="enable-ec_nistp_64_gcc_128" ;;
s390x) _target="linux64-s390x";;
riscv64) _target="linux-generic64";;
loongarch64) _target="linux-generic64";;
*) msg "Unable to determine architecture from (CARCH=$CARCH)" ; return 1 ;;
esac
# Configure assumes --options are for it, so can't use
# gcc's --sysroot fake this by overriding CC
[ -n "$CBUILDROOT" ] && CC="$CC --sysroot=$CBUILDROOT"
# when cross building do not enable threads as libatomic is not avaiable
if [ "$CBUILD" != "$CHOST" ]; then
case $CARCH in
riscv64) _optflags="$_optflags no-threads";;
esac
fi
perl ./Configure \
$_target \
--prefix=/usr \
--libdir=/usr/lib \
--openssldir=/etc/ssl1.1 \
shared \
no-zlib \
no-async \
no-comp \
no-idea \
no-mdc2 \
no-rc5 \
no-ec2m \
no-sm2 \
no-sm4 \
no-ssl2 \
no-ssl3 \
no-seed \
no-weak-ssl-ciphers \
$_optflags \
$CPPFLAGS \
$CFLAGS \
$LDFLAGS -Wa,--noexecstack
make
}
check() {
# AFALG tests have a sporadic test failure, just delete the broken
# test for now.
rm -f test/recipes/30-test_afalg.t
make test
}
package() {
make DESTDIR="$pkgdir" install_sw install_ssldirs
# remove the script c_rehash
rm "$pkgdir"/usr/bin/c_rehash
mv -f "$pkgdir"/usr/bin/openssl "$pkgdir"/usr/bin/openssl$_abiver
}
_libcrypto() {
pkgdesc="Crypto library from openssl"
replaces="libressl2.7-libcrypto"
amove etc
amove usr/lib/libcrypto*
amove usr/lib/engines-$_abiver
}
_libssl() {
pkgdesc="SSL shared libraries"
amove usr/lib/libssl*
}
_static() {
default_static
}
sha512sums="
b4c625fe56a4e690b57b6a011a225ad0cb3af54bd8fb67af77b5eceac55cc7191291d96a660c5b568a08a2fbf62b4612818e7cca1bb95b2b6b4fc649b0552b6d openssl-1.1.1w.tar.gz
43c3255118db6f5f340dc865c0f25ccbcafe5bf7507585244ca59b4d27daf533d6c3171aa32a8685cbb6200104bec535894b633de13feaadff87ab86739a445a man-section.patch
e040f23770d52b988578f7ff84d77563340f37c026db7643db8e4ef18e795e27d10cb42cb8656da4d9c57a28283a2828729d70f940edc950c3422a54fea55509 ppc64.patch
"

View file

@ -0,0 +1,54 @@
From: Debian OpenSSL Team <pkg-openssl-devel@lists.alioth.debian.org>
Date: Sun, 5 Nov 2017 15:09:09 +0100
Subject: man-section
---
Configurations/unix-Makefile.tmpl | 6 ++++--
util/process_docs.pl | 3 ++-
2 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/Configurations/unix-Makefile.tmpl b/Configurations/unix-Makefile.tmpl
index 1292053546f5..c034d21884d8 100644
--- a/Configurations/unix-Makefile.tmpl
+++ b/Configurations/unix-Makefile.tmpl
@@ -183,7 +183,8 @@ HTMLDIR=$(DOCDIR)/html
# MANSUFFIX is for the benefit of anyone who may want to have a suffix
# appended after the manpage file section number. "ssl" is popular,
# resulting in files such as config.5ssl rather than config.5.
-MANSUFFIX=
+MANSUFFIX=ssl
+MANSECTION=SSL
HTMLSUFFIX=html
# For "optional" echo messages, to get "real" silence
@@ -726,7 +727,8 @@ uninstall_runtime: uninstall_programs uninstall_runtime_libs
@[ -n "$(INSTALLTOP)" ] || (echo INSTALLTOP should not be empty; exit 1)
@$(ECHO) "*** Installing manpages"
$(PERL) $(SRCDIR)/util/process_docs.pl \
- "--destdir=$(DESTDIR)$(MANDIR)" --type=man --suffix=$(MANSUFFIX)
+ "--destdir=$(DESTDIR)$(MANDIR)" --type=man --suffix=$(MANSUFFIX) \
+ --mansection=$(MANSECTION)
uninstall_man_docs:
@$(ECHO) "*** Uninstalling manpages"
diff --git a/util/process_docs.pl b/util/process_docs.pl
index 30b149eb8fcc..424155ea808e 100755
--- a/util/process_docs.pl
+++ b/util/process_docs.pl
@@ -37,6 +37,7 @@ GetOptions(\%options,
'type=s', # The result type, 'man' or 'html'
'suffix:s', # Suffix to add to the extension.
# Only used with type=man
+ 'mansection:s', # Section to put to manpage in
'remove', # To remove files rather than writing them
'dry-run|n', # Only output file names on STDOUT
'debug|D+',
@@ -97,7 +98,7 @@ foreach my $section (sort @{$options{section}}) {
my $name = uc $podname;
my $suffix = { man => ".$podinfo{section}".($options{suffix} // ""),
html => ".html" } -> {$options{type}};
- my $generate = { man => "pod2man --name=$name --section=$podinfo{section} --center=OpenSSL --release=$config{version} \"$podpath\"",
+ my $generate = { man => "pod2man --name=$name --section=$podinfo{section}$options{mansection} --center=OpenSSL --release=$config{version} \"$podpath\"",
html => "pod2html \"--podroot=$options{sourcedir}\" --htmldir=$updir --podpath=man1:man3:man5:man7 \"--infile=$podpath\" \"--title=$podname\" --quiet"
} -> {$options{type}};
my $output_dir = catdir($options{destdir}, "man$podinfo{section}");

View file

@ -0,0 +1,96 @@
From 34ab13b7d8e3e723adb60be8142e38b7c9cd382a Mon Sep 17 00:00:00 2001
From: Andy Polyakov <appro@openssl.org>
Date: Sun, 5 May 2019 18:25:50 +0200
Subject: [PATCH] crypto/perlasm/ppc-xlate.pl: add linux64v2 flavour
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This is a big endian ELFv2 configuration. ELFv2 was already being
used for little endian, and big endian was traditionally ELFv1
but there are practical configurations that use ELFv2 with big
endian nowadays (Adélie Linux, Void Linux, possibly Gentoo, etc.)
Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Richard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/8883)
---
crypto/perlasm/ppc-xlate.pl | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/crypto/perlasm/ppc-xlate.pl b/crypto/perlasm/ppc-xlate.pl
index e52f2f6ea62..5fcd0526dff 100755
--- a/crypto/perlasm/ppc-xlate.pl
+++ b/crypto/perlasm/ppc-xlate.pl
@@ -49,7 +49,7 @@
/osx/ && do { $name = "_$name";
last;
};
- /linux.*(32|64le)/
+ /linux.*(32|64(le|v2))/
&& do { $ret .= ".globl $name";
if (!$$type) {
$ret .= "\n.type $name,\@function";
@@ -80,7 +80,7 @@
};
my $text = sub {
my $ret = ($flavour =~ /aix/) ? ".csect\t.text[PR],7" : ".text";
- $ret = ".abiversion 2\n".$ret if ($flavour =~ /linux.*64le/);
+ $ret = ".abiversion 2\n".$ret if ($flavour =~ /linux.*64(le|v2)/);
$ret;
};
my $machine = sub {
@@ -186,7 +186,7 @@
# Some ABIs specify vrsave, special-purpose register #256, as reserved
# for system use.
-my $no_vrsave = ($flavour =~ /aix|linux64le/);
+my $no_vrsave = ($flavour =~ /aix|linux64(le|v2)/);
my $mtspr = sub {
my ($f,$idx,$ra) = @_;
if ($idx == 256 && $no_vrsave) {
@@ -318,7 +318,7 @@ sub vfour {
if ($label) {
my $xlated = ($GLOBALS{$label} or $label);
print "$xlated:";
- if ($flavour =~ /linux.*64le/) {
+ if ($flavour =~ /linux.*64(le|v2)/) {
if ($TYPES{$label} =~ /function/) {
printf "\n.localentry %s,0\n",$xlated;
}
From 098404128383ded87ba390dd74ecd9e2ffa6f530 Mon Sep 17 00:00:00 2001
From: Andy Polyakov <appro@openssl.org>
Date: Sun, 5 May 2019 18:30:55 +0200
Subject: [PATCH] Configure: use ELFv2 ABI on some ppc64 big endian systems
If _CALL_ELF is defined to be 2, it's an ELFv2 system.
Conditionally switch to the v2 perlasm scheme.
Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Richard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/8883)
---
Configure | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/Configure b/Configure
index 22082deb4c7..e303d98deb3 100755
--- a/Configure
+++ b/Configure
@@ -1402,8 +1402,15 @@
my %predefined_C = compiler_predefined($config{CROSS_COMPILE}.$config{CC});
my %predefined_CXX = $config{CXX}
? compiler_predefined($config{CROSS_COMPILE}.$config{CXX})
: ();
+unless ($disabled{asm}) {
+ # big endian systems can use ELFv2 ABI
+ if ($target eq "linux-ppc64") {
+ $target{perlasm_scheme} = "linux64v2" if ($predefined_C{_CALL_ELF} == 2);
+ }
+}
+
# Check for makedepend capabilities.
if (!$disabled{makedepend}) {
if ($config{target} =~ /^(VC|vms)-/) {

View file

@ -1,34 +0,0 @@
# Automatically generated by apkbuild-cpan, template 3
# Contributor: Timo Teräs <timo.teras@iki.fi>
# Maintainer: Timo Teräs <timo.teras@iki.fi>
pkgname=perl-file-homedir
#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
_pkgreal=File-HomeDir
pkgver=1.006
pkgrel=0
pkgdesc="Find your home and other directories on any platform"
url="https://metacpan.org/release/File-HomeDir/"
arch="noarch"
license="GPL-1.0-or-later OR Artistic-1.0-Perl"
depends="perl perl-file-which"
subpackages="$pkgname-doc"
source="https://cpan.metacpan.org/authors/id/R/RE/REHSACK/File-HomeDir-$pkgver.tar.gz"
builddir="$srcdir/$_pkgreal-$pkgver"
build() {
export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
PERL_MM_USE_DEFAULT=1 perl -I. Makefile.PL INSTALLDIRS=vendor
make
}
check() {
export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
make test
}
package() {
make DESTDIR="$pkgdir" install
find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
}
sha512sums="1ea90d68ed059ef5e890f6afb1280673dd5a597956f282c4ae8b4471c1751aa3cb2fcbe9caa6b2976937d11fd7233aa85a2dea611f87c79e0ddd1a501ceb890d File-HomeDir-1.006.tar.gz"

View file

@ -1,37 +0,0 @@
# Automatically generated by apkbuild-cpan, template 3
# Contributor: Antoine Martin (ayakael) <dev@ayakael.net>
# Maintainer: Antoine Martin (ayakael) <dev@ayakael.net>
pkgname=perl-file-share
#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
_pkgreal=File-Share
pkgver=0.27
pkgrel=0
pkgdesc="Extend File::ShareDir to Local Libraries"
url="https://metacpan.org/release/File-Share/"
arch="noarch"
license="GPL-1.0-or-later OR Artistic-1.0-Perl"
depends="perl perl-file-sharedir perl-readonly"
makedepends="perl-dev"
subpackages="$pkgname-doc"
source="https://cpan.metacpan.org/authors/id/I/IN/INGY/File-Share-$pkgver.tar.gz"
builddir="$srcdir/$_pkgreal-$pkgver"
build() {
export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
PERL_MM_USE_DEFAULT=1 perl -I. Makefile.PL INSTALLDIRS=vendor
make
}
check() {
export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
make test
}
package() {
make DESTDIR="$pkgdir" install
find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
}
sha512sums="
7c321de08e49f252e8e2126da00ea05ced13db362de758a693ee7f40452827fbf2591fb9e6c80caa27bb8767b3596893fc8762993a167583a0b40091e5db5ec7 File-Share-0.27.tar.gz
"

View file

@ -1,47 +1,39 @@
# Automatically generated by apkbuild-cpan, template 2
# Automatically generated by apkbuild-cpan, template 4
# Contributor: Timo Teräs <timo.teras@iki.fi>
# Maintainer: Timo Teräs <timo.teras@iki.fi>
# Maintainer: Celeste <cielesti@protonmail.com>
maintainer="Celeste <cielesti@protonmail.com>"
pkgname=perl-math-random-isaac-xs
_pkgreal=Math-Random-ISAAC-XS
pkgver=1.004
pkgrel=6
pkgrel=8
#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
_pkgreal=Math-Random-ISAAC-XS
pkgdesc="C implementation of the ISAAC PRNG algorithm"
url="https://metacpan.org/release/Math-Random-ISAAC-XS/"
arch="all"
license="unrestricted"
cpandepends=""
cpanmakedepends="perl-test-nowarnings"
cpancheckdepends=""
depends="$cpandepends"
makedepends="perl-dev perl-module-build $cpanmakedepends"
checkdepends="$cpancheckdepends"
license="Public-Domain"
depends="perl"
makedepends="perl-dev perl-module-build"
checkdepends="perl-test-nowarnings"
subpackages="$pkgname-doc"
source="https://cpan.metacpan.org/authors/id/J/JA/JAWNSY/$_pkgreal-$pkgver.tar.gz"
source="https://cpan.metacpan.org/authors/id/J/JA/JAWNSY/Math-Random-ISAAC-XS-$pkgver.tar.gz"
builddir="$srcdir/$_pkgreal-$pkgver"
prepare() {
default_prepare || return 1
cd "$builddir"
export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
perl Build.PL installdirs=vendor || return 1
}
build() {
cd "$builddir"
export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
perl Build.PL \
--installdirs=vendor \
--create_packlist=0
./Build
}
package() {
cd "$builddir"
./Build install destdir="$pkgdir" || return 1
find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
}
check() {
cd "$builddir"
./Build test
}
sha512sums="40c46b5f247f585a407ef9f36b5874d9cf03ec05963a9d92d988ebd63daf1e37b1b51308845d4596f47b5ad7203953bcb7fbb421c905b526dbe99b246ccb4d87 Math-Random-ISAAC-XS-1.004.tar.gz"
package() {
./Build install --destdir="$pkgdir"
}
sha512sums="
40c46b5f247f585a407ef9f36b5874d9cf03ec05963a9d92d988ebd63daf1e37b1b51308845d4596f47b5ad7203953bcb7fbb421c905b526dbe99b246ccb4d87 Math-Random-ISAAC-XS-1.004.tar.gz
"

View file

@ -1,39 +0,0 @@
# Automatically generated by apkbuild-cpan, template 1
# Contributor: Francesco Colista <fcolista@alpinelinux.org>
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=perl-module-find
_pkgreal=Module-Find
pkgver=0.16
pkgrel=0
pkgdesc="Find and use installed modules in a (sub)category"
url="https://metacpan.org/release/Module-Find"
arch="noarch"
license="GPL-1.0-or-later OR Artistic-1.0-Perl"
depends="perl"
subpackages="$pkgname-doc"
source="https://cpan.metacpan.org/authors/id/C/CR/CRENZ/Module-Find-$pkgver.tar.gz"
builddir="$srcdir/$_pkgreal-$pkgver"
prepare() {
export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
}
build() {
export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
make
}
check() {
make test
}
package() {
make DESTDIR="$pkgdir" install
find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
}
sha512sums="
a0c935fd229320ce74052180571c0da9667dc87a717e039bec27120a8ac1552988352038efd1805d62ac40fcaf7985c44b6d9c56648b379f1ca0f03727e550bd Module-Find-0.16.tar.gz
"

View file

@ -1,36 +0,0 @@
# Contributor: TBK <alpine@jjtc.eu>
# Maintainer: Andy Postnikov <apostnikov@gmail.com>
pkgname=php81-pecl-mcrypt
_extname=mcrypt
pkgver=1.0.6
pkgrel=0
pkgdesc="Provides PHP 8.1 bindings for the unmaintained libmcrypt - PECL"
url="https://pecl.php.net/package/mcrypt"
arch="all"
license="PHP-3.01"
depends="php81-common"
makedepends="php81-dev libmcrypt-dev"
source="php-pecl-$_extname-$pkgver.tgz::https://pecl.php.net/get/$_extname-$pkgver.tgz"
builddir="$srcdir/$_extname-$pkgver"
build() {
phpize81
./configure --prefix=/usr --with-php-config=php-config81
make
}
check() {
# rm -f tests/mcrypt_rijndael128_128BitKey.phpt # fails
make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 test
}
package() {
make INSTALL_ROOT="$pkgdir" install
local _confdir="$pkgdir"/etc/php81/conf.d
install -d $_confdir
echo "extension=$_extname" > $_confdir/$_extname.ini
}
sha512sums="
506d5eb5b52aea6d48ab1800326fdd46af7992511bd9ac6604bb090d3724e058c936265da064cd6188bc0445d646a3678a7540498925ae7d119f821b2bd43880 php-pecl-mcrypt-1.0.6.tgz
"

View file

@ -1,39 +0,0 @@
# Maintainer: Andy Postnikov <apostnikov@gmail.com>
pkgname=php81-pecl-xmlrpc
_extname=xmlrpc
pkgver=1.0.0_rc3
_pkgver=${pkgver/_rc/RC}
pkgrel=1
pkgdesc="PHP 8.1 extension to write XML-RPC servers and clients - PECL"
url="https://pecl.php.net/package/xmlrpc"
arch="all"
license="PHP-3.01"
depends="php81-xml"
makedepends="php81-dev libxml2-dev"
source="php-pecl-$_extname-$pkgver.tar.gz::https://pecl.php.net/get/$_extname-$_pkgver.tgz"
builddir="$srcdir"/$_extname-$_pkgver
build() {
phpize81
./configure --prefix=/usr --with-php-config=/usr/bin/php-config81
make
}
check() {
make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 test TESTS=--show-diff \
PHP_TEST_SHARED_EXTENSIONS=" \
-d extension=/usr/lib/php81/modules/xml.so \
-d extension=modules/$_extname.so"
php81 -d extension=modules/$_extname.so --ri $_extname
}
package() {
make INSTALL_ROOT="$pkgdir" install
local _confdir="$pkgdir"/etc/php81/conf.d
install -d $_confdir
echo "extension=$_extname" > $_confdir/$_extname.ini
}
sha512sums="
aa8e24d5a732b175adb9870357991d48ead046faed89e579eb63afe06c7ef20af9de29e2d70e71e54e5a15ee37265f69a7d52b39ef2465ced93ba818c1f7e9c1 php-pecl-xmlrpc-1.0.0_rc3.tar.gz
"

View file

@ -1,38 +0,0 @@
# Contributor: TBK <alpine@jjtc.eu>
# Maintainer: Andy Postnikov <apostnikov@gmail.com>
pkgname=php82-pecl-mcrypt
_extname=mcrypt
pkgver=1.0.6
pkgrel=0
pkgdesc="Provides PHP 8.2 bindings for the unmaintained libmcrypt - PECL"
url="https://pecl.php.net/package/mcrypt"
arch="all"
license="PHP-3.01"
_phpv=82
_php=php$_phpv
depends="$_php-common"
makedepends="$_php-dev libmcrypt-dev"
source="php-pecl-$_extname-$pkgver.tgz::https://pecl.php.net/get/$_extname-$pkgver.tgz"
builddir="$srcdir/$_extname-$pkgver"
build() {
phpize$_phpv
./configure --prefix=/usr --with-php-config=php-config$_phpv
make
}
check() {
# rm -f tests/mcrypt_rijndael128_128BitKey.phpt # fails
make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 test
}
package() {
make INSTALL_ROOT="$pkgdir" install
local _confdir="$pkgdir"/etc/$_php/conf.d
install -d $_confdir
echo "extension=$_extname" > $_confdir/$_extname.ini
}
sha512sums="
506d5eb5b52aea6d48ab1800326fdd46af7992511bd9ac6604bb090d3724e058c936265da064cd6188bc0445d646a3678a7540498925ae7d119f821b2bd43880 php-pecl-mcrypt-1.0.6.tgz
"

View file

@ -1,40 +0,0 @@
# Maintainer: Andy Postnikov <apostnikov@gmail.com>
pkgname=php82-pecl-xmlrpc
_extname=xmlrpc
pkgver=1.0.0_rc3
_pkgver=${pkgver/_rc/RC}
pkgrel=1
pkgdesc="PHP 8.2 extension to write XML-RPC servers and clients - PECL"
url="https://pecl.php.net/package/xmlrpc"
arch="all"
license="PHP-3.01"
depends="php82-xml"
options="!check" # Failure
makedepends="php82-dev libxml2-dev"
source="php-pecl-$_extname-$pkgver.tar.gz::https://pecl.php.net/get/$_extname-$_pkgver.tgz"
builddir="$srcdir"/$_extname-$_pkgver
build() {
phpize82
./configure --prefix=/usr --with-php-config=/usr/bin/php-config82
make
}
check() {
make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 test TESTS=--show-diff \
PHP_TEST_SHARED_EXTENSIONS=" \
-d extension=/usr/lib/php82/modules/xml.so \
-d extension=modules/$_extname.so"
php82 -d extension=modules/$_extname.so --ri $_extname
}
package() {
make INSTALL_ROOT="$pkgdir" install
local _confdir="$pkgdir"/etc/php82/conf.d
install -d $_confdir
echo "extension=$_extname" > $_confdir/$_extname.ini
}
sha512sums="
aa8e24d5a732b175adb9870357991d48ead046faed89e579eb63afe06c7ef20af9de29e2d70e71e54e5a15ee37265f69a7d52b39ef2465ced93ba818c1f7e9c1 php-pecl-xmlrpc-1.0.0_rc3.tar.gz
"

View file

@ -1,43 +0,0 @@
# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
pkgname=py3-a2wsgi
pkgver=1.7.0
pkgrel=0
pkgdesc="Convert WSGI app to ASGI app or ASGI app to WSGI app"
url="https://github.com/abersheeran/a2wsgi"
arch="noarch"
license="Apache-2.0"
depends="python3"
makedepends="py3-gpep517 py3-pdm-backend py3-wheel"
checkdepends="py3-pytest py3-httpx py3-pytest-asyncio"
subpackages="$pkgname-pyc"
source="https://github.com/abersheeran/a2wsgi/archive/refs/tags/v$pkgver/a2wsgi-$pkgver.tar.gz
pdm-backend.patch
"
builddir="$srcdir/a2wsgi-$pkgver"
case "$CARCH" in
# test suite blocked by py3-httpx
armhf|ppc64le) options="!check" ;;
esac
build() {
gpep517 build-wheel \
--wheel-dir dist \
--output-fd 3 3>&1 >&2
}
check() {
python3 -m venv --clear --without-pip --system-site-packages testenv
testenv/bin/python3 -m installer dist/*.whl
testenv/bin/python3 -m pytest
}
package() {
python3 -m installer -d "$pkgdir" \
dist/*.whl
}
sha512sums="
010776279c7f2ceaa580395c226788ea72e14726cde8e3adb8304e9bd887d55736c5985ebd8055dfd48a15632543497e10163040ba677ffeddbd3d2e02e24440 a2wsgi-1.7.0.tar.gz
bb60783941b7308a82a87b058c571067ad4c26f3b605e717c87dca9f52f9457a1e72ba9ca56556ea3fb63789cbdcca46a67bfadf2bd4873d713ffbcfd3190a9c pdm-backend.patch
"

View file

@ -1,12 +0,0 @@
diff --git a/pyproject.toml b/pyproject.toml
index 2e67514..c7f3b40 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -35,5 +35,5 @@ benchmark = [
includes = ["a2wsgi"]
[build-system]
-build-backend = "pdm.pep517.api"
-requires = ["pdm-pep517>=1.0.0"]
+build-backend = "pdm.backend"
+requires = ["pdm-backend>=1.0.0"]

View file

@ -1,29 +0,0 @@
# Contributor: Sam Whited <sam@samwhited.com>
# Maintainer: Sam Whited <sam@samwhited.com>
pkgname=py3-aiodns
_pkgname=aiodns
pkgver=3.0.0
pkgrel=2
pkgdesc="A library for performing asynchronous DNS resolutions using pycares."
url="https://pypi.org/project/aiosasl/"
arch="all"
license="MIT"
depends="python3 py3-pycares"
makedepends="py3-setuptools"
subpackages="$pkgname-doc $pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir/$_pkgname-$pkgver"
options="!check" # tests not included in source package.
build() {
python3 setup.py build
}
package() {
python3 setup.py install --skip-build --root="$pkgdir"
install -Dm644 LICENSE README.rst -t "$pkgdir"/usr/share/licenses/$pkgname
}
sha512sums="
8c1016f3b0cb461e70e9a55034f9ad3b3db705a845bf20bb6503c7a5d592b4c5d2e8ddc60b375c5fafdc559dc4566736f4c93f26710be2dcbd181284ef039825 aiodns-3.0.0.tar.gz
"

Some files were not shown because too many files have changed in this diff Show more