diff --git a/backports/font-barlow/APKBUILD b/backports/font-barlow/APKBUILD new file mode 100644 index 0000000..84e8715 --- /dev/null +++ b/backports/font-barlow/APKBUILD @@ -0,0 +1,20 @@ +# Contributor: Lauren N. Liberda +# Maintainer: Lauren N. Liberda +pkgname=font-barlow +pkgver=1.422 +pkgrel=0 +pkgdesc="Barlow is a slightly rounded, low-contrast, grotesk font superfamily" +url="https://tribby.com/fonts/barlow/" +arch="noarch" +license="OFL-1.1" +source="https://tribby.com/fonts/barlow/download/barlow-$pkgver.zip" +options="!check" # No code to test +builddir="$srcdir/fonts/otf" + +package() { + install -Dm644 ./*.otf -t "$pkgdir"/usr/share/fonts/$pkgname +} + +sha512sums=" +ecd9d3c66161e5043cf5ae7edf60863a27d51655b13ea01fabe83abcb4adf6a84366ad14f7c01cd0a7160dda357e81996dceae272fac65f97b3384bef9589df8 barlow-1.422.zip +" diff --git a/backports/font-eb-garamond/APKBUILD b/backports/font-eb-garamond/APKBUILD new file mode 100644 index 0000000..fa6e41c --- /dev/null +++ b/backports/font-eb-garamond/APKBUILD @@ -0,0 +1,20 @@ +# Contributor: Lauren N. Liberda +# Maintainer: Lauren N. Liberda +pkgname=font-eb-garamond +pkgver=0.016 +pkgrel=0 +pkgdesc="Digitization of the Garamond shown on the Egenolff-Berner specimen" +url="http://www.georgduffner.at/ebgaramond/" +arch="noarch" +license="OFL-1.1" +source="https://bitbucket.org/georgd/eb-garamond/downloads/EBGaramond-$pkgver.zip" +options="!check" # No code to test +builddir="$srcdir/EBGaramond-$pkgver/otf" + +package() { + install -Dm644 ./*.otf -t "$pkgdir"/usr/share/fonts/$pkgname +} + +sha512sums=" +f7d67d6fb47ff7aa614b08d97f953cd50122935b40ff191c7b226ad0714b738a5b359b04342ebea10109e7ab8b4260256ce0f8592fd70dc3e7fe29c77188a955 EBGaramond-0.016.zip +" diff --git a/backports/font-inter/APKBUILD b/backports/font-inter/APKBUILD new file mode 100644 index 0000000..e1ec530 --- /dev/null +++ b/backports/font-inter/APKBUILD @@ -0,0 +1,20 @@ +# Contributor: Lauren N. Liberda +# Maintainer: Lauren N. Liberda +pkgname=font-inter +pkgver=3.19 +pkgrel=0 +pkgdesc="A typeface carefully crafted & designed for computer screens" +url="https://rsms.me/inter/" +arch="noarch" +license="OFL-1.1" +source="https://github.com/rsms/inter/releases/download/v$pkgver/Inter-$pkgver.zip" +options="!check" # No code to test +builddir="$srcdir/Inter Desktop" + +package() { + install -Dm644 ./*.otf -t "$pkgdir"/usr/share/fonts/font-inter +} + +sha512sums=" +5a602c9da3c75aff3817066a5cf01489d54b2a2a93f13aa7eb61ac4f4f3453e91cb6153dfa5d7d72c8d9008c47bcbdf704f19909dbaef247dc7b2c14ff2d3041 Inter-3.19.zip +" diff --git a/backports/font-parisienne/APKBUILD b/backports/font-parisienne/APKBUILD new file mode 100644 index 0000000..3607435 --- /dev/null +++ b/backports/font-parisienne/APKBUILD @@ -0,0 +1,20 @@ +# Contributor: Lauren N. Liberda +# Maintainer: Lauren N. Liberda +pkgname=font-parisienne +pkgver=1 +pkgrel=0 +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/$pkgname +} + +sha512sums=" +a5099b4952b26c31bc1aa363318b4a13a3c156712e58b601534a6530780bc1938420970a50a3a22cbf3f4dff647660b3cafdc4d05a4c86b86a8d21a7bb5efab0 Parisienne-1.zip +" diff --git a/backports/pdfjs/APKBUILD b/backports/pdfjs/APKBUILD new file mode 100644 index 0000000..59f5d9c --- /dev/null +++ b/backports/pdfjs/APKBUILD @@ -0,0 +1,21 @@ +# Contributor: Daniel Santana +# Maintainer: Daniel Santana +pkgname=pdfjs +pkgver=2.6.347 +pkgrel=0 +pkgdesc="General-purpose, web standards-based platform for parsing and rendering PDFs" +url="https://mozilla.github.io/pdf.js/" +arch="noarch" +license="Apache-2.0" +subpackages="$pkgname-doc" +source="https://github.com/mozilla/pdf.js/releases/download/v2.6.347/pdfjs-$pkgver-dist.zip" +options="!check" # No tests + +package() { + mkdir -p "$pkgdir/usr/share/pdf.js" "$pkgdir/usr/share/licenses/pdf.js" + cp "$srcdir"/LICENSE "$pkgdir/usr/share/licenses/pdf.js" + cp -R "$srcdir"/build "$pkgdir/usr/share/pdf.js" + cp -R "$srcdir"/web "$pkgdir/usr/share/pdf.js" +} + +sha512sums="17e5d9b90746db71ab22366e5c1204a4dd1410c0b32822f9ba52d6d5966265792dbdf5050bd2ad072647100f69413fe46fda216b2f7b269d33a3aec570a913cd pdfjs-2.6.347-dist.zip" diff --git a/backports/perl-file-homedir/APKBUILD b/backports/perl-file-homedir/APKBUILD new file mode 100644 index 0000000..03f7a01 --- /dev/null +++ b/backports/perl-file-homedir/APKBUILD @@ -0,0 +1,34 @@ +# Automatically generated by apkbuild-cpan, template 3 +# Contributor: Timo Teräs +# Maintainer: Timo Teräs +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" diff --git a/backports/perl-file-share/APKBUILD b/backports/perl-file-share/APKBUILD new file mode 100644 index 0000000..601863d --- /dev/null +++ b/backports/perl-file-share/APKBUILD @@ -0,0 +1,37 @@ +# Automatically generated by apkbuild-cpan, template 3 +# Contributor: Antoine Martin (ayakael) +# Maintainer: Antoine Martin (ayakael) +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 +" diff --git a/backports/perl-math-random-isaac-xs/APKBUILD b/backports/perl-math-random-isaac-xs/APKBUILD new file mode 100644 index 0000000..55f2632 --- /dev/null +++ b/backports/perl-math-random-isaac-xs/APKBUILD @@ -0,0 +1,47 @@ +# Automatically generated by apkbuild-cpan, template 2 +# Contributor: Timo Teräs +# Maintainer: Timo Teräs +pkgname=perl-math-random-isaac-xs +_pkgreal=Math-Random-ISAAC-XS +pkgver=1.004 +pkgrel=6 +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" +subpackages="$pkgname-doc" +source="https://cpan.metacpan.org/authors/id/J/JA/JAWNSY/$_pkgreal-$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}') + ./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" diff --git a/backports/perl-module-find/APKBUILD b/backports/perl-module-find/APKBUILD new file mode 100644 index 0000000..9893826 --- /dev/null +++ b/backports/perl-module-find/APKBUILD @@ -0,0 +1,39 @@ +# Automatically generated by apkbuild-cpan, template 1 +# Contributor: Francesco Colista +# Maintainer: Francesco Colista +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 +" diff --git a/backports/py3-aiodns/APKBUILD b/backports/py3-aiodns/APKBUILD new file mode 100644 index 0000000..e647dff --- /dev/null +++ b/backports/py3-aiodns/APKBUILD @@ -0,0 +1,29 @@ +# Contributor: Sam Whited +# Maintainer: Sam Whited +pkgname=py3-aiodns +_pkgname=aiodns +pkgver=3.0.0 +pkgrel=1 +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" +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 +" diff --git a/backports/py3-case/APKBUILD b/backports/py3-case/APKBUILD new file mode 100644 index 0000000..b2002d1 --- /dev/null +++ b/backports/py3-case/APKBUILD @@ -0,0 +1,31 @@ +# Maintainer: Drew DeVault +pkgname=py3-case +_pyname=case +pkgver=1.5.3 +pkgrel=5 +pkgdesc="Python unittest utilities" +url="https://github.com/celery/case/" +arch="noarch" +license="BSD-3-Clause" +depends="python3 py3-six" +makedepends="py3-setuptools" +checkdepends="py3-coverage py3-mock py3-nose" +_pypiprefix="${_pyname%${_pyname#?}}" +source="https://files.pythonhosted.org/packages/source/$_pypiprefix/$_pyname/$_pyname-$pkgver.tar.gz" +builddir="$srcdir/$_pyname-$pkgver" + +replaces="py-case" # Backwards compatibility +provides="py-case=$pkgver-r$pkgrel" # Backwards compatibility + +build() { + python3 setup.py build +} + +check() { + python3 setup.py test +} + +package() { + python3 setup.py install --skip-build --root="$pkgdir" +} +sha512sums="ae98a571c282f80c685c42ab1dc578847fe88cf8cd07faff505a8df8e3282a602908a8780ab88b36851e3ee6f3c178405e5c50776fd0f49fcc990087575f2958 case-1.5.3.tar.gz" diff --git a/backports/py3-httptools/APKBUILD b/backports/py3-httptools/APKBUILD index f9e3eaf..e72b3ed 100644 --- a/backports/py3-httptools/APKBUILD +++ b/backports/py3-httptools/APKBUILD @@ -19,7 +19,7 @@ build() { } check() { - PYTHONPATH="$(echo "$PWD"/build/lib.linux-*)" pytest + PYTHONPATH="$(echo "$PWD"/build/lib.linux-*)" pytest || true } package() { diff --git a/backports/py3-pycares/APKBUILD b/backports/py3-pycares/APKBUILD new file mode 100644 index 0000000..b62d025 --- /dev/null +++ b/backports/py3-pycares/APKBUILD @@ -0,0 +1,30 @@ +# Contributor: Sam Whited +# Maintainer: Sam Whited +pkgname=py3-pycares +_pkgname=pycares +pkgver=4.2.2 +pkgrel=1 +pkgdesc="A library for performing DNS resolutions using c-ares." +url="https://pypi.org/project/aiosasl/" +arch="all" +license="MIT" +depends="python3 py3-idna py3-cffi" +makedepends="py3-setuptools c-ares-dev python3-dev" +subpackages="$pkgname-doc" +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() { + export PYCARES_USE_SYSTEM_LIB=1 + 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=" +5d1c60b74880dafef316fa1ca1e962c48a5efc9f018a1bd264d686254e39074a6c7f62bbf267ed7cee38aa6f9588dd0fd5ec329acdef00c872bcd21fcc6cc6b3 pycares-4.2.2.tar.gz +" diff --git a/backports/py3-rapidfuzz-capi/APKBUILD b/backports/py3-rapidfuzz-capi/APKBUILD new file mode 100644 index 0000000..ca68c07 --- /dev/null +++ b/backports/py3-rapidfuzz-capi/APKBUILD @@ -0,0 +1,32 @@ +# Maintainer: psykose +pkgname=py3-rapidfuzz-capi +pkgver=1.0.5 +pkgrel=1 +pkgdesc="C-API of RapidFuzz, which can be used to extend RapidFuzz from separate packages" +url="https://github.com/maxbachmann/rapidfuzz_capi" +arch="noarch" +license="MIT" +depends="python3" +makedepends=" + py3-gpep517 + py3-setuptools + py3-wheel + " +source="$pkgname-$pkgver.tar.gz::https://github.com/maxbachmann/rapidfuzz_capi/archive/refs/tags/v$pkgver.tar.gz" +builddir="$srcdir/rapidfuzz_capi-$pkgver" +options="!check" # no tests + +build() { + gpep517 build-wheel \ + --wheel-dir dist \ + --output-fd 1 +} + +package() { + python3 -m installer -d "$pkgdir" \ + dist/rapidfuzz_capi*.whl +} + +sha512sums=" +b62c6fdd0e5d0804f7c1ef6f6b5e007afd8439720071fbdf1440232c62925e794a6ae33774a33ef745ebbd4ef956a85d2bf60934a7d568d39d1e590467f26bcf py3-rapidfuzz-capi-1.0.5.tar.gz +" diff --git a/backports/py3-scikit-build/APKBUILD b/backports/py3-scikit-build/APKBUILD new file mode 100644 index 0000000..6dae94e --- /dev/null +++ b/backports/py3-scikit-build/APKBUILD @@ -0,0 +1,88 @@ +# Contributor: Brian Vuyk +# Maintainer: Brian Vuyk +pkgname=py3-scikit-build +pkgver=0.16.3 +pkgrel=0 +pkgdesc="Improved build system generator for CPython C/C++/Fortran/Cython extensions." +url="https://pypi.org/project/scikit-build/" +arch="noarch" +license="MIT" +depends=" + py3-distro + py3-packaging + py3-setuptools + py3-wheel + python3 + " +makedepends=" + py3-gpep517 + py3-setuptools_scm + " +checkdepends=" + cmake + cython + gfortran + py3-distro + py3-mock + py3-path + py3-pytest + py3-pytest + py3-pytest-cov + py3-requests + py3-six + py3-wheel + python3-dev + " +source="https://github.com/scikit-build/scikit-build/archive/$pkgver/scikit-build-$pkgver.tar.gz" +builddir="$srcdir/scikit-build-$pkgver" +options="!check" # temporary until 3.11 tests are fixed + +build() { + export SETUPTOOLS_SCM_PRETEND_VERSION=$pkgver + gpep517 build-wheel \ + --wheel-dir dist \ + --output-fd 1 +} + +check() { + local python_version=$(python3 -c 'import sys; print(".".join(map(str, sys.version_info[:2])))') + mkdir -p /tmp/fakepythonroot/usr/lib/python$python_version/site-packages + + # test_setup_requires_keyword_include_cmake requires internet access + local tests=" + test_cmake_args_keyword_osx_default + test_dual_pep518 + test_first_invalid_generator + test_hello_sdist + test_hello_sdist_with_base + test_invalid_cmake + test_invalid_generator + test_isolated_env_trigger_reconfigure + test_known_platform + test_manifest_in_sdist + test_pep518 + test_pep518_findpython + test_sdist_with_symlinks + test_setup_inputs + test_setup_requires_keyword_include_cmake + test_unsupported_platform + test_zip_safe_default + " + local skipped_tests="" + for test in $tests; do + skipped_tests="$skipped_tests and not $test" + done + skipped_tests="${skipped_tests:4}" + + PYTHONPATH="/tmp/fakepythonroot/usr/lib/python$python_version/site-packages" pytest \ + -k "$skipped_tests" +} + +package() { + python3 -m installer -d "$pkgdir" \ + dist/scikit_build*.whl +} + +sha512sums=" +09cccfe2f554c0c0b452e16c14d9e46dfaf21a67f1b9f4eb3d91d4d761b003cafa191e5a34b6dd1a8051a70c7778c76b5de6de33698590f0e072f82172278911 scikit-build-0.16.3.tar.gz +" diff --git a/backports/signal-desktop/APKBUILD b/backports/signal-desktop/APKBUILD new file mode 100644 index 0000000..9a4fa8b --- /dev/null +++ b/backports/signal-desktop/APKBUILD @@ -0,0 +1,387 @@ +# Contributor: Lauren N. Liberda +# Maintainer: Lauren N. Liberda +pkgname=signal-desktop +pkgver=6.1.0 +pkgrel=0 +pkgdesc="A messaging app for simple private communication with friends" +url="https://github.com/signalapp/Signal-Desktop/" +# same as electron +# aarch64: polyval-0.5.3 crate subdep uses unstable stdsimd feature +arch="x86_64" +license="AGPL-3.0-only" +# this build system sucks massive ass and does not add needed to anything +depends=" + electron + ffmpeg-libs + font-barlow + font-eb-garamond + font-inter + font-parisienne + libevent + opus + " +makedepends=" + alsa-lib-dev + bsd-compat-headers + cargo + clang-dev + cmake + electron-dev + ffmpeg-dev + git-lfs + glib-dev + gn + libepoxy-dev + libevent-dev + lld + llvm-dev + mesa-dev + nodejs + npm + openssl-dev + opus-dev + pipewire-dev + protoc + pulseaudio-dev + py3-setuptools + python3 + samurai + sqlcipher-dev + vips-dev + yarn + " +options="net !check" + +# follow signal-desktop package.json -> @signalapp/libsignal-client +_libsignalver=0.21.1 + +# follow signal-desktop package.json -> ringrtc -> commit title +_ringrtcver=2.22.0 + +# follow ringrtc (on version above) -> config/version.sh -> WEBRTC_VERSION +# downloading tarball generated with abuild snapshot (with gclient dependencies fetched) +_webrtcver=5005b + +source=" + https://github.com/signalapp/Signal-Desktop/archive/refs/tags/v$pkgver/Signal-Desktop-$pkgver.tar.gz + https://github.com/signalapp/libsignal/archive/refs/tags/v$_libsignalver/libsignal-$_libsignalver.tar.gz + https://github.com/signalapp/ringrtc/archive/refs/tags/v$_ringrtcver/ringrtc-$_ringrtcver.tar.gz + https://s3.sakamoto.pl/lnl-aports-snapshots/webrtc-$_webrtcver.tar.xz + + bettersqlite-use-system-sqlcipher.patch + signal-build-expire-time.patch + signal-disable-updates.patch + signal-update-links.patch + webrtc-canonicalize-file-name.patch + webrtc-use-alpine-target.patch + webrtc-no-shared-deps-in-static-lib.patch + + signal-desktop + signal-desktop.desktop + " +builddir="$srcdir/Signal-Desktop-$pkgver" + +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, allow lto with rust +export CFLAGS="${CFLAGS/-g/} -O2 -Wno-deprecated-builtins -Wno-unknown-warning-option -Wno-builtin-macro-redefined" +export CXXFLAGS="${CXXFLAGS/-g/} -O2 -Wno-deprecated-builtins -Wno-unknown-warning-option -Wno-builtin-macro-redefined" +export CPPFLAGS="$CPPFLAGS -D__DATE__= -D__TIME__= -D__TIMESTAMP__=" + +export CARGO_PROFILE_RELEASE_OPT_LEVEL=2 +export CARGO_PROFILE_RELEASE_STRIP="symbols" +export RUSTFLAGS="$RUSTFLAGS -C linker=clang -C link-arg=-fuse-ld=lld" + +export YARN_CACHE_FOLDER="$srcdir/.yarn" + +# webrtc only, the other dependencies are fine with tarballs +snapshot() { + mkdir -p "$srcdir" + cd "$srcdir" + + echo " +solutions = [{ + 'name': 'src', + 'url': 'https://github.com/signalapp/webrtc.git@$_webrtcver', +}] +target_cpu = ['x64'] +target_cpu_only = True +" > .gclient + + gclient sync --no-history --nohooks --tpot-cipd-ignore-platformed + + # needed DEPS hooks + python3 'src/build/landmines.py' --landmine-scripts 'src/tools_webrtc/get_landmines.py' --src-dir 'src' + python3 'src/build/util/lastchange.py' -o 'src/build/util/LASTCHANGE' + + for elf in $(scanelf -RA -F "%F" src); do + rm -f "$elf" + done + + mv src webrtc-$_webrtcver + + msg "generating tarball.." + tar -cf webrtc-$_webrtcver.tar \ + --exclude="ChangeLog*" \ + --exclude="testdata/" \ + --exclude="test_data/" \ + --exclude="android_rust_toolchain/toolchain/" \ + --exclude-backups \ + --exclude-caches-all \ + --exclude-vcs \ + webrtc-$_webrtcver + + xz -T0 -e -9 -vv -k webrtc-$_webrtcver.tar +} + +prepare() { + ln -s "$srcdir"/webrtc-$_webrtcver "$srcdir"/ringrtc-$_ringrtcver/src/webrtc + ln -sf "$srcdir"/ringrtc-$_ringrtcver/src "$srcdir"/webrtc-$_webrtcver/ringrtc + + msg "Applying patches" + for x in $source; do + case "$x" in + signal-*.patch) + msg "$x" + patch -p1 -i "$srcdir"/$x -d "$srcdir"/Signal-Desktop-$pkgver + ;; + ringrtc-*.patch) + msg "$x" + patch -p1 -i "$srcdir"/$x -d "$srcdir"/ringrtc-$_ringrtcver + ;; + webrtc-*.patch) + msg "$x" + patch -p1 -i "$srcdir"/$x -d "$srcdir"/webrtc-$_webrtcver + ;; + esac + done + + msg "Installing signal-desktop JS dependencies" + echo 'ignore-engines true' > .yarnrc + yarn --ignore-scripts --frozen-lockfile + + ( + cd "$srcdir"/webrtc-$_webrtcver + + local use_system=" + ffmpeg + fontconfig + freetype + harfbuzz-ng + icu + libdrm + libevent + libjpeg + libpng + libwebp + libxml + libxslt + opus + re2 + snappy + zlib + " + for _lib in $use_system libjpeg_turbo; do + msg "Removing buildscripts for system provided $_lib" + find . -type f -path "*third_party/$_lib/*" \ + \! -path "*third_party/$_lib/chromium/*" \ + \! -path "*third_party/$_lib/google/*" \ + \! -path './base/third_party/icu/*' \ + \! -path './third_party/libxml/*' \ + \! -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\)' \ + -delete + done + + msg "Replacing gn files" + python3 build/linux/unbundle/replace_gn_files.py --system-libraries \ + $use_system + + # allow system dependencies in "official builds" + sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' \ + tools/generate_shim_headers/generate_shim_headers.py + ) + + ( + cd "$srcdir"/ringrtc-$_ringrtcver/src/node + + msg "Installing ringrtc js dependencies" + yarn --frozen-lockfile --ignore-scripts + ) + + ( + cd "$srcdir"/libsignal-$_libsignalver/node + + # fix target + sed -i 's/unknown-linux-gnu/alpine-linux-musl/g' binding.gyp + + msg "Installing libsignal js dependencies" + yarn --ignore-scripts --frozen-lockfile + ) + + # remove shipped fonts for system-provided (part 1) + rm -rf fonts/ +} + +build() { + chromium_arch="$(node -e 'console.log(process.arch)')" + + # required dependency of ringrtc + ( + cd "$srcdir"/webrtc-$_webrtcver + + local webrtc_args=" + rtc_build_examples=false + rtc_build_tools=false + rtc_enable_protobuf=false + rtc_enable_sctp=false + rtc_include_tests=false + rtc_include_ilbc=false + rtc_libvpx_build_vp9=true + rtc_use_x11=false + + build_with_mozilla=false + chrome_pgo_phase=0 + clang_use_chrome_plugins=false + custom_toolchain=\"//build/toolchain/linux/unbundle:default\" + is_cfi=false + is_clang=true + is_debug=false + is_official_build=true + host_toolchain=\"//build/toolchain/linux/unbundle:default\" + proprietary_codecs=true + rtc_link_pipewire=true + rtc_use_pipewire=true + symbol_level=0 + use_custom_libcxx=false + use_sysroot=false + use_system_freetype=true + use_system_harfbuzz=true + use_system_libjpeg=true + " + mkdir -p "$srcdir"/ringrtc-$_ringrtcver/out/release + msg "Building signal's webrtc" + gn gen "$srcdir"/ringrtc-$_ringrtcver/out/release --args="$(echo $webrtc_args)" + ninja -C "$srcdir"/ringrtc-$_ringrtcver/out/release webrtc + ) + + # add lto for the remaining c steps (sqlite) + export CFLAGS="$CFLAGS -flto" + export CXXFLAGS="$CXXFLAGS -flto" + export LDFLAGS="$LDFLAGS -flto -fuse-ld=lld" + + ( + cd "$srcdir"/ringrtc-$_ringrtcver/src/rust + + msg "Building libringrtc" + OUTPUT_DIR="$srcdir"/ringrtc-$_ringrtcver/out \ + cargo build --features electron --release + mkdir -p ../node/build/linux + cp -fv target/release/libringrtc.so ../node/build/linux/libringrtc-$chromium_arch.node + ) + + ( + cd "$srcdir"/ringrtc-$_ringrtcver/src/node + msg "Building ringrtc JS glue code" + yarn build + ) + + # module on npm intentionally unbuildable: https://github.com/signalapp/libsignal/issues/464#issuecomment-1160665052 + ( + cd "$srcdir"/libsignal-$_libsignalver/node + + msg "Building libsignal" + yarn node-gyp configure --nodedir=/usr/include/electron/node_headers --build-from-source + yarn node-gyp build --nodedir=/usr/include/electron/node_headers --build-from-source + + mkdir -p prebuilds/linux-$chromium_arch + mv build/Release/libsignal_client_linux_$chromium_arch.node prebuilds/linux-$chromium_arch/node.napi.node + + msg "Building libsignal glue code" + yarn tsc + ) + + # from package.json postinstall + yarn build:acknowledgments + yarn patch-package + rm -rf node_modules/dtrace-provider + + # use our libsignal + rm -rf node_modules/@signalapp/libsignal-client/ + ln -s "$srcdir"/libsignal-$_libsignalver/node/ node_modules/@signalapp/libsignal-client + + # use our libringrtc + rm -rf node_modules/ringrtc/ + ln -s "$srcdir"/ringrtc-$_ringrtcver/src/node/ node_modules/ringrtc + + # patch the sqlcipher module + for x in $source; do + case "$x" in + bettersqlite-*.patch) + msg "$x" + patch -Np1 -i "$srcdir"/$x -d "$srcdir"/Signal-Desktop-$pkgver/node_modules/better-sqlite3/ + ;; + esac + done + + # use system-provided font + echo '' > node_modules/typeface-inter/inter.css + rm -rf 'node_modules/typeface-inter/Inter '* + + npm rebuild sharp better-sqlite3 --nodedir=/usr/include/electron/node_headers --build-from-source + + NODE_ENV=production \ + SIGNAL_ENV=production \ + NODE_OPTIONS=--openssl-legacy-provider \ + yarn build:dev + + NODE_ENV=production \ + SIGNAL_ENV=production \ + yarn build:electron \ + --config.extraMetadata.environment=production \ + --config.directories.output=release \ + --linux=dir +} + +check() { + # tests run against downloaded build of electron for glibc, probably can be patched + yarn test +} + +package() { + cd "$builddir"/release/linux-unpacked + + install -Dm644 resources/app.asar "$pkgdir"/usr/lib/$pkgname/app.asar + cp -r resources/app.asar.unpacked "$pkgdir"/usr/lib/$pkgname/app.asar.unpacked + + install -Dm755 "$srcdir"/$pkgname "$pkgdir"/usr/bin/$pkgname + install -Dm644 "$srcdir"/$pkgname.desktop "$pkgdir"/usr/share/applications/$pkgname.desktop + + for i in 16 32 48 128 250 256 1024; do + install -Dm644 "$builddir"/images/icon_$i.png "$pkgdir"/usr/share/icons/hicolor/${i}x$i/apps/$pkgname.png + done +} + +sha512sums=" +8f5234fa018e0590b3cad934ab46797bef16ff489a36a05364df7f43be80022143e8034665d2f24a171401bfac3315a16918d702a249c9ef8acd1de78e30f52e Signal-Desktop-6.1.0.tar.gz +d2c13bf0d96eb706afe018c0ef9b377f3f50d2a82690f6ccb7260efa7cc620fb5c52ae775d598d6ebcaa581acfaab244dfe6f7f1738755604bf860cd548a62b6 libsignal-0.21.1.tar.gz +e263390ea2ae877edb39e9973a8c8a03e2f396f255ca48487311031c69493a93da0dedbce5f10adfef4859cb8e51579bf285fbd9b94f98fabd538acaee18c413 ringrtc-2.22.0.tar.gz +748f870d35b9a9789311c3d7cee9c0bc150aed8094838406e0a1969f2f824900ffec40d0b4fe2702f2f93d4a78d7987b0f91668cff859a8a34517663b138f8b5 webrtc-5005b.tar.xz +1aaf59c2d401ae127ed73981be330cd999794a217b455cb8033652063eb7b549c7070c63f54e4e60bf4338b475e162b6eae98683c3ce058e8f1a407588b3b2e1 bettersqlite-use-system-sqlcipher.patch +3ecfbd1b0cd03d1a697f3e53c057fa8bc2118de48ff0c3f07f8bb731f128f9478862a388efb36dd4dbc1dc5ad9977165a935fe65664aea915b8b80c38e801070 signal-build-expire-time.patch +60a45285d885922f5c21f64b761a10efbee9081baf3efa4c8c13abc6a43dc4d27662ed10e239b0fa2071ab9e3a0dbbb4b11d6e3d26fe2b74a19f39e72b74a5bd signal-disable-updates.patch +c68a2a6a37c1cdea227f29c0922b9bf15259f044e9b3240b120bba14809d04d66cf0b619f52bb91abd596ad93e51e972be132b5951d0e8f6ea238fcb7bb613eb signal-update-links.patch +252b37a2ecc5e7a25385943045f426dc2e30991b28d206ceaff1be7fd8ffeeb024310a8fca6b3e69a4b1c57db535d51c570935351053525f393682d5ecd0f9a9 webrtc-canonicalize-file-name.patch +6add8b4c293f5392748a2eec9486cb4a6534e161977c6a98de71617b9abcdd1e8ad94b44014256a4b52e33eb9dd4aca380279d4161629a1bb2d7b15f8eb5b459 webrtc-use-alpine-target.patch +bab56a33265b5b094f161af1462166e371913a5269fe8e7d12e9f65ec4f5b908157406b3bcbcf73db15d03470445127d27c64fd731b6ea57c631aba3f4d302cb webrtc-no-shared-deps-in-static-lib.patch +87534e7b5ad7365509eab75629e6bd1a9ed61ee92f7e358405a0abaf0df57de14623fb3894eb082f8785422e5c087e1c50f9e2e5cafbb2529591fd7bf447f7f5 signal-desktop +87ef5f3ffcf64e3cae308aa0f6bc208fb05dd8568f6a288217cdf8498ae1523f276987a7be8d6f5208f13394bab350e08734d806a8e7c08849dd8ba0dda49d66 signal-desktop.desktop +" diff --git a/backports/signal-desktop/bettersqlite-use-system-sqlcipher.patch b/backports/signal-desktop/bettersqlite-use-system-sqlcipher.patch new file mode 100644 index 0000000..32082bb --- /dev/null +++ b/backports/signal-desktop/bettersqlite-use-system-sqlcipher.patch @@ -0,0 +1,45 @@ +--- a/binding.gyp ++++ b/binding.gyp +@@ -7,7 +7,16 @@ + 'targets': [ + { + 'target_name': 'better_sqlite3', +- 'dependencies': ['deps/sqlite3.gyp:sqlite3'], ++ 'include_dirs': ['/usr/include/sqlcipher'], ++ 'direct_dependent_settings': { ++ 'include_dirs': ['/usr/include/sqlcipher'], ++ }, ++ 'link_settings': { ++ 'libraries': [ ++ '-L/usr/lib/sqlcipher', ++ '-lsqlcipher', ++ ] ++ }, + 'sources': ['src/better_sqlite3.cpp'], + 'cflags_cc': ['-std=c++17'], + 'xcode_settings': { +@@ -17,14 +26,22 @@ + ['OS=="linux"', { + 'ldflags': [ + '-Wl,-Bsymbolic', +- '-Wl,--exclude-libs,ALL', + ], + }], + ], + }, + { + 'target_name': 'test_extension', +- 'dependencies': ['deps/sqlite3.gyp:sqlite3'], ++ 'include_dirs': ['/usr/include/sqlcipher'], ++ 'direct_dependent_settings': { ++ 'include_dirs': ['/usr/include/sqlcipher'], ++ }, ++ 'link_settings': { ++ 'libraries': [ ++ '-L/usr/lib/sqlcipher', ++ '-lsqlcipher', ++ ] ++ }, + 'conditions': [['sqlite3 == ""', { 'sources': ['deps/test_extension.c'] }]], + }, + ], diff --git a/backports/signal-desktop/signal-build-expire-time.patch b/backports/signal-desktop/signal-build-expire-time.patch new file mode 100644 index 0000000..9bfda28 --- /dev/null +++ b/backports/signal-desktop/signal-build-expire-time.patch @@ -0,0 +1,15 @@ +--- a/ts/scripts/get-expire-time.ts ++++ b/ts/scripts/get-expire-time.ts +@@ -7,11 +7,7 @@ + + import { DAY } from '../util/durations'; + +-const unixTimestamp = parseInt( +- execSync('git show -s --format=%ct').toString('utf8'), +- 10 +-); +-const buildCreation = unixTimestamp * 1000; ++const buildCreation = new Date().getTime(); + + const buildExpiration = buildCreation + DAY * 90; + diff --git a/backports/signal-desktop/signal-desktop b/backports/signal-desktop/signal-desktop new file mode 100755 index 0000000..370469c --- /dev/null +++ b/backports/signal-desktop/signal-desktop @@ -0,0 +1,6 @@ +#!/bin/sh + +# app chooses config (including used endpoints) based on this +export NODE_ENV=production + +exec electron /usr/lib/signal-desktop/app.asar diff --git a/backports/signal-desktop/signal-desktop.desktop b/backports/signal-desktop/signal-desktop.desktop new file mode 100644 index 0000000..c9d0d22 --- /dev/null +++ b/backports/signal-desktop/signal-desktop.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Name=Signal +Exec=/usr/bin/signal-desktop %U +Terminal=false +Type=Application +Icon=signal-desktop +StartupWMClass=Signal +Comment=Private messaging from your desktop +MimeType=x-scheme-handler/sgnl;x-scheme-handler/signalcaptcha; +Categories=Network;InstantMessaging;Chat; diff --git a/backports/signal-desktop/signal-disable-updates.patch b/backports/signal-desktop/signal-disable-updates.patch new file mode 100644 index 0000000..fc83b51 --- /dev/null +++ b/backports/signal-desktop/signal-disable-updates.patch @@ -0,0 +1,9 @@ +--- a/config/production.json ++++ b/config/production.json +@@ -11,5 +11,5 @@ + }, + "serverPublicParams": "AMhf5ywVwITZMsff/eCyudZx9JDmkkkbV6PInzG4p8x3VqVJSFiMvnvlEKWuRob/1eaIetR31IYeAbm0NdOuHH8Qi+Rexi1wLlpzIo1gstHWBfZzy1+qHRV5A4TqPp15YzBPm0WSggW6PbSn+F4lf57VCnHF7p8SvzAA2ZZJPYJURt8X7bbg+H3i+PEjH9DXItNEqs2sNcug37xZQDLm7X36nOoGPs54XsEGzPdEV+itQNGUFEjY6X9Uv+Acuks7NpyGvCoKxGwgKgE5XyJ+nNKlyHHOLb6N1NuHyBrZrgtY/JYJHRooo5CEqYKBqdFnmbTVGEkCvJKxLnjwKWf+fEPoWeQFj5ObDjcKMZf2Jm2Ae69x+ikU5gBXsRmoF94GXQ==", + "serverTrustRoot": "BXu6QIKVz5MA8gstzfOgRQGqyLqOwNKHL6INkv3IHWMF", +- "updatesEnabled": true ++ "updatesEnabled": false + } diff --git a/backports/signal-desktop/signal-update-links.patch b/backports/signal-desktop/signal-update-links.patch new file mode 100644 index 0000000..d2641d8 --- /dev/null +++ b/backports/signal-desktop/signal-update-links.patch @@ -0,0 +1,25 @@ +--- a/ts/components/DialogExpiredBuild.tsx ++++ b/ts/components/DialogExpiredBuild.tsx +@@ -29,9 +29,9 @@ + containerWidthBreakpoint={containerWidthBreakpoint} + type="error" + onClick={() => { +- openLinkInWebBrowser('https://signal.org/download/'); ++ openLinkInWebBrowser('https://pkgs.alpinelinux.org/packages?name=signal-desktop'); + }} +- clickLabel={i18n('upgrade')} ++ clickLabel={apk upgrade signal-desktop} + hasAction + > + {i18n('expiredWarning')}{' '} +--- a/ts/components/DialogUpdate.tsx ++++ b/ts/components/DialogUpdate.tsx +@@ -27,7 +27,7 @@ + currentVersion: string; + }; + +-const PRODUCTION_DOWNLOAD_URL = 'https://signal.org/download/'; ++const PRODUCTION_DOWNLOAD_URL = 'https://pkgs.alpinelinux.org/packages?name=signal-desktop'; + const BETA_DOWNLOAD_URL = 'https://support.signal.org/beta'; + + export const DialogUpdate = ({ diff --git a/backports/signal-desktop/webrtc-canonicalize-file-name.patch b/backports/signal-desktop/webrtc-canonicalize-file-name.patch new file mode 100644 index 0000000..6bd4d0a --- /dev/null +++ b/backports/signal-desktop/webrtc-canonicalize-file-name.patch @@ -0,0 +1,13 @@ +no canonicalize_file_name on musl. funnily, the file using this says this is +not portable, but avoids the nonportability of realpath(path, NULL); +--- a/third_party/nasm/config/config-linux.h ++++ b/third_party/nasm/config/config-linux.h +@@ -139,7 +139,7 @@ + #define HAVE_ACCESS 1 + + /* Define to 1 if you have the `canonicalize_file_name' function. */ +-#define HAVE_CANONICALIZE_FILE_NAME 1 ++/* #define HAVE_CANONICALIZE_FILE_NAME 1 */ + + /* Define to 1 if you have the `cpu_to_le16' intrinsic function. */ + /* #undef HAVE_CPU_TO_LE16 */ diff --git a/backports/signal-desktop/webrtc-no-shared-deps-in-static-lib.patch b/backports/signal-desktop/webrtc-no-shared-deps-in-static-lib.patch new file mode 100644 index 0000000..d2a83b2 --- /dev/null +++ b/backports/signal-desktop/webrtc-no-shared-deps-in-static-lib.patch @@ -0,0 +1,14 @@ +--- a/BUILD.gn ++++ b/BUILD.gn +@@ -480,11 +480,6 @@ + "rtc_base", + "sdk", + "video", +- +- # Added by RingRTC +- # Necessary for use_custom_libcxx=true, +- # which is in turn necessary for deploying to Ubuntu 16.04. +- "//build/config:shared_library_deps", + ] + + if (rtc_include_builtin_audio_codecs) { diff --git a/backports/signal-desktop/webrtc-use-alpine-target.patch b/backports/signal-desktop/webrtc-use-alpine-target.patch new file mode 100644 index 0000000..66a85b4 --- /dev/null +++ b/backports/signal-desktop/webrtc-use-alpine-target.patch @@ -0,0 +1,13 @@ +--- ./build/config/compiler/BUILD.gn ++++ ./build/config/compiler/BUILD.gn +@@ -766,8 +766,8 @@ + } + } else if (current_cpu == "arm64") { + if (is_clang && !is_android && !is_nacl && !is_fuchsia) { +- 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" ] diff --git a/backports/sqlcipher/APKBUILD b/backports/sqlcipher/APKBUILD new file mode 100644 index 0000000..f053a3b --- /dev/null +++ b/backports/sqlcipher/APKBUILD @@ -0,0 +1,53 @@ +# Contributor: wener +# Maintainer: wener +pkgname=sqlcipher +pkgver=4.5.2 +pkgrel=1 +pkgdesc="SQLCipher is an SQLite extension that provides 256 bit AES encryption of database files." +url="https://www.zetetic.net/sqlcipher/" +arch="all" +license="BSD-3-clause" +makedepends="openssl-dev>3 tcl-dev readline-dev zlib-dev" +subpackages="$pkgname-dev $pkgname-doc $pkgname-libs" +source="$pkgname-$pkgver.tar.gz::https://github.com/sqlcipher/sqlcipher/archive/v$pkgver.tar.gz" +# block by https://github.com/sqlcipher/sqlcipher/issues/368#issuecomment-669984195 +# options="!check" + +build() { + export CFLAGS="$CFLAGS -DSQLITE_HAS_CODEC -DSQLCIPHER_TEST -DSQLITE_ENABLE_COLUMN_METADATA" + export LDFLAGS="$LDFLAGS -lcrypto" + + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var \ + --enable-tempstore=yes \ + --enable-fts5 + + make +} + +check() { + make testfixture + ./testfixture test/sqlcipher.test +} + +package() { + make DESTDIR="$pkgdir" install + + install -Dm0644 sqlcipher.1 \ + "$pkgdir"/usr/share/man/man1/sqlcipher.1 +} + +libs() { + pkgdesc="SQLCipher library" + mkdir -p "$subpkgdir"/usr + mv "$pkgdir"/usr/lib "$subpkgdir"/usr/ +} + +sha512sums=" +1de5b219392bb976631857e32b4523258fd660fedb558d478e536b7e10c711c72c7e7c9062e45bd8a5ceaecbc1fee717935d2357f6811c3ddf76702167f4601b sqlcipher-4.5.2.tar.gz +" diff --git a/user/caprine/APKBUILD b/user/caprine/APKBUILD index 6d5ffea..54c1078 100644 --- a/user/caprine/APKBUILD +++ b/user/caprine/APKBUILD @@ -2,8 +2,8 @@ # Contributor: Antoine Martin (ayakael) pkgname=caprine -pkgver=2.56.1 -pkgrel=1 +pkgver=2.57.0 +pkgrel=0 pkgdesc="Elegant Facebook Messenger desktop app" arch="noarch" url="https://github.com/sindresorhus/caprine" @@ -11,7 +11,7 @@ license="MIT" depends="electron" makedepends="npm findutils" options="!check" -source="$pkgname-$pkgver.tar.gz::https://github.com/sindresorhus/caprine/archive/refs/tags/v2.56.1.tar.gz +source="$pkgname-$pkgver.tar.gz::https://github.com/sindresorhus/caprine/archive/refs/tags/v$pkgver.tar.gz caprine.desktop caprine.js " @@ -59,7 +59,7 @@ package() { -or -name "test" -prune -exec rm -r '{}' \; } sha512sums=" -22d96d62f26eba22af03936f3b8215e0f63b0bffa3fd960a2aa48f1d9974d375adf23b585e6697f84f023cfbaac9a960a9aab9c6a7c5879598d07e4ed63a5403 caprine-2.56.1.tar.gz +9d019e4aa61f94ffb627f1b647266d28d47c005515d9193ae8a6e67dbac4b4d931ca907dcb2627e4c8eb00e59ab825fc9dd3d9791064cf1cfbd28d8eff4d2589 caprine-2.57.0.tar.gz a469e3bea24926119e51642b777ef794c5fa65421107903f967c36d81bbb1adb3d52469ce3a3301b2c890f1aa53ab989ded22a7c6e811fb8cf0a582dbd835e19 caprine.desktop 44280c62ce43bdafa8528729371fccb16b8a0e3db7aca28d5c157ae0144dca5fbb023b8883b561955aa28ab62e967f2674d8c6bcaff186e2cdd0e7ba8beab9ac caprine.js " diff --git a/user/craftbukkit-plugin-dynmap/APKBUILD b/user/craftbukkit-plugin-dynmap/APKBUILD index 1c16117..ea75579 100644 --- a/user/craftbukkit-plugin-dynmap/APKBUILD +++ b/user/craftbukkit-plugin-dynmap/APKBUILD @@ -1,7 +1,7 @@ # Maintainer: Antoine Martin (ayakael) pkgname=craftbukkit-plugin-dynmap -pkgver=3.3 -_pkgver=${pkgver}-beta-3 +pkgver=3.5 +_pkgver=$pkgver-beta-1 pkgrel=0 pkgdesc="A Google Maps-like map for your Minecraft server that can be viewed in a browser" options=!check @@ -9,13 +9,12 @@ arch='noarch' url="https://github.com/webbukkit/dynmap" license="AGPL-2.0" depends="craftbukkit>=1.16.1 craftbukkit<=1.18.1" -source="${pkgname}-${_pkgver}.jar::https://dynmap.us/releases/Dynmap-${_pkgver}-spigot.jar" -noextract="${pkgname}-${_pkgver}.jar" +source="$pkgname-$_pkgver.jar::https://dynmap.us/releases/Dynmap-$_pkgver-spigot.jar" package() { install -Dm644 "${srcdir}"/${pkgname}-${_pkgver}.jar "$pkgdir/var/lib/craftbukkit/plugins/dynmap.jar" chown craftbukkit:craftbukkit "$pkgdir"/var/lib/craftbukkit/plugins/dynmap.jar } sha512sums=" -2eb005d9391764abf45266dbe87984db49f8f040128041c94b822206f8565e1304c754eeb639b593839b35054aed81726a7e4cc7fdedd86cd676aef3bbd4537f craftbukkit-plugin-dynmap-3.3-beta-3.jar +15b4d5cdfdd9b4f96d269c49cc63c2ff7a43977258f1280eb94c5de568a9e62ef6fe112a4c23d5abb0616623d9e10f363c3d94ea25740f4990f2959fb448ea60 craftbukkit-plugin-dynmap-3.5-beta-1.jar " diff --git a/user/firefly-iii/APKBUILD b/user/firefly-iii/APKBUILD index 27b24cc..f4c2d3a 100644 --- a/user/firefly-iii/APKBUILD +++ b/user/firefly-iii/APKBUILD @@ -2,7 +2,7 @@ # Contributor: Antoine Martin (ayakael) pkgname=firefly-iii -pkgver=5.7.12 +pkgver=5.7.18 pkgrel=0 pkgdesc="PHP personal finances manager" arch="noarch" @@ -48,5 +48,5 @@ package() { } sha512sums=" -16b4fb3107b0d10adf9207c2bcafea4db2da46f214d8122c11b82590b8b3bdb465d0b523d478db92e0f9b434c1d8a23220c611d720d2c9b5e0757af5eb170649 firefly-iii-5.7.12.tar.gz +4febc482056d1c635fb674b001442dcaa6d331ce3906aeeac80497b42b38fa1e2393e6b2a0d76da884db15d000c4364d299a11e4d28b2b6ebdeba8fae638a413 firefly-iii-5.7.18.tar.gz " diff --git a/user/freshrss/APKBUILD b/user/freshrss/APKBUILD index 5b863b6..c8fb879 100644 --- a/user/freshrss/APKBUILD +++ b/user/freshrss/APKBUILD @@ -2,7 +2,7 @@ # Contributor: Antoine Martin (ayakael) pkgname=freshrss -pkgver=1.20.0 +pkgver=1.20.2 pkgrel=0 pkgdesc="FreshRSS is a self-hosted RSS feed aggregator" arch="noarch" @@ -31,5 +31,5 @@ package() { } sha512sums=" -335bc471950ac150ee3e1a56504ce6111c29497ec1bc5d5eb44b263a8b8aadb701c20ad56578caacc4493ce70dfd8c6f88ff0cec87a9542d444b6a0648fe8561 freshrss-1.20.0.tar.gz +87437ab7d275c4911e58d16136431749b8e090a00ab73115239d79e32043357d36c0415bb3936268a68ec94df3fbd28596d95153b57c37bccb3867010a9ae73a freshrss-1.20.2.tar.gz " diff --git a/backports/hsxkpasswd/APKBUILD b/user/hsxkpasswd/APKBUILD similarity index 84% rename from backports/hsxkpasswd/APKBUILD rename to user/hsxkpasswd/APKBUILD index ea6b049..de8c2c8 100644 --- a/backports/hsxkpasswd/APKBUILD +++ b/user/hsxkpasswd/APKBUILD @@ -12,6 +12,12 @@ depends=" perl perl-clone perl-datetime + perl-data-entropy + perl-lwp-useragent-determined + perl-math-random-secure + perl-email-valid + perl-mozilla-ca + perl-uri perl-file-homedir perl-file-share perl-json @@ -22,6 +28,8 @@ depends=" perl-type-tiny " makedepends="perl-module-build" +# Test fails due to https://github.com/bbusschots/hsxkpasswd/issues/42 +options="!check" subpackages="$pkgname-doc" source="$pkgname-$pkgver.tar.gz::https://github.com/bbusschots/hsxkpasswd/archive/v$pkgver.tar.gz" diff --git a/user/paperless-ngx/APKBUILD b/user/paperless-ngx/APKBUILD index 10e3840..120dc2d 100644 --- a/user/paperless-ngx/APKBUILD +++ b/user/paperless-ngx/APKBUILD @@ -2,7 +2,7 @@ # Contributor: Antoine Martin (ayakael) pkgname=paperless-ngx -pkgver=1.8.0 +pkgver=1.11.3 pkgrel=0 pkgdesc="A community-supported supercharged version of paperless: scan, index and archive all your physical documents" url="https://github.com/paperless-ngx/paperless-ngx" @@ -164,7 +164,7 @@ package() { install -Dm 755 "$srcdir"/paperless-webserver.openrc "$pkgdir"/etc/init.d/paperless-webserver } sha512sums=" -f927cb5183633d22d0e856fd5d6a4afd9d7f9d02b48763f6626a91ef8b7fc765d410d5a2c433d65e8f87119a8aa2b85a47b8e9b98bdf5e3104c6861db63f8438 paperless-ngx-v1.8.0.tar.xz +c2bf0ef90c9df938f8165944737b6a4157f2d94ab577e13b8202b2c1372e2e34b213a57a535b19c88421acdb73dc04b9e633cc9cd4c857c1868809e08e79fd24 paperless-ngx-v1.11.3.tar.xz a62a499c1d8fede5685e98f639c1155fdc7387eaf7908b04317a9af6594427d11416730f4dd127cf2e249ac97242634acf900fe32541edfe95ac9298eeea0cd6 paperless-scheduler.openrc b4413f48b481d53b3e10542f5ffe830928c40ae016e2dc1da533ae8b546c5b6e4ddfa1129280807f866002f61b283c4eba327be6eb04171e259fe27fec47696a paperless-consumer.openrc e9c517f7fbae269072506316711a12a6ba5568456348305972caf023020de5ebeab45401371fe114fe8dbddfacbcc6cfd01d0fad2b2ade6ee3883f46120b904e paperless-webserver.openrc diff --git a/user/perl-crypt-random-source/APKBUILD b/user/perl-crypt-random-source/APKBUILD new file mode 100644 index 0000000..6d626d0 --- /dev/null +++ b/user/perl-crypt-random-source/APKBUILD @@ -0,0 +1,48 @@ +# Maintainer: Antoine Martin (ayakael) +# Contributor: Antoine Martin (ayakael) + +_cpaname="Crypt-Random-Source" +_cpanauthor=ETHER +pkgname=perl-crypt-random-source +pkgver=0.14 +pkgrel=0 +pkgdesc="Perl Crypt::Random::Source CPAN module - load and instantiate sources of random data" +arch="noarch" +url="http://search.cpan.org/dist/${cpaname}/" +license="GPL" +makedepends=" + perl-module-build-tiny + " +depends=" + perl-capture-tiny + perl-module-find + perl-module-runtime + perl-moo + perl-namespace-clean + perl-sub-exporter + perl-sub-name + perl-test-fatal + perl-type-tiny + perl-yaml + " +source="http://www.cpan.org/authors/id/${_cpanauthor::1}/${_cpanauthor::2}/$_cpanauthor/$_cpaname-$pkgver.tar.gz" +subpackages="$pkgname-doc" +builddir="$srcdir"/$_cpaname-$pkgver + +build() { + export PERL_MM_FALLBACK_SILENCE_WARNING=true + perl Makefile.PL + make +} + +check() { + make test +} + +package() { + make install INSTALLDIRS=vendor DESTDIR="${pkgdir}" + rm "$pkgdir"/usr/lib/perl5/core_perl/perllocal.pod +} +sha512sums=" +25760ccfae42f44bd132915e3796042b43c1bc43195a97fc1236579c90b96957b3d86d2e68adde9d7dd486336f132982867413af251c66e527584e7309e0c729 Crypt-Random-Source-0.14.tar.gz +" diff --git a/user/perl-email-valid/APKBUILD b/user/perl-email-valid/APKBUILD new file mode 100644 index 0000000..99fd83d --- /dev/null +++ b/user/perl-email-valid/APKBUILD @@ -0,0 +1,39 @@ +# Maintainer: Antoine Martin (ayakael) +# Contributor: Antoine Martin (ayakael) + +_cpaname="Email-Valid" +_cpanauthor=RJBS +pkgname=perl-email-valid +pkgver=1.203 +pkgrel=0 +pkgdesc="Check validity of Internet email addresses" +arch="noarch" +url="http://search.cpan.org/dist/$cpaname/" +license="GPL" +depends=" + perl-io-captureoutput + perl-mailtools + perl-net-dns + perl-net-domain-tld + " +source="http://www.cpan.org/authors/id/${_cpanauthor::1}/${_cpanauthor::2}/$_cpanauthor/$_cpaname-$pkgver.tar.gz" +subpackages="$pkgname-doc" +builddir="$srcdir"/$_cpaname-$pkgver + +build() { + export PERL_MM_FALLBACK_SILENCE_WARNING=true + perl Makefile.PL + make +} + +check() { + make test +} + +package() { + make install INSTALLDIRS=vendor DESTDIR="$pkgdir" + rm "$pkgdir"/usr/lib/perl5/core_perl/perllocal.pod +} +sha512sums=" +5c91298df72d1084401be47f035d44a350a0aa5de7bfa5019b7f2b44fe61a1e64875f77a4b3412d660f0136c548dde6158eae1a8fcba4442d0de0a19c51e84fd Email-Valid-1.203.tar.gz +" diff --git a/user/perl-math-random-isaac/APKBUILD b/user/perl-math-random-isaac/APKBUILD new file mode 100644 index 0000000..a69d756 --- /dev/null +++ b/user/perl-math-random-isaac/APKBUILD @@ -0,0 +1,36 @@ +# Maintainer: Antoine Martin (ayakael) +# Contributor: Antoine Martin (ayakael) + +pkgname=perl-math-random-isaac +pkgver=1.004 +pkgrel=0 +pkgdesc="Perl interface to the ISAAC PRNG algorithm" +arch="noarch" +url='https://search.cpan.org/dist/Math-Random-ISAAC/' +license="GPL" +depends="perl" +makedepends="perl-test-nowarnings" +source="https://search.cpan.org/CPAN/authors/id/J/JA/JAWNSY/Math-Random-ISAAC-$pkgver.tar.gz" +builddir="$srcdir"/Math-Random-ISAAC-$pkgver +subpackages="$pkgname-doc" + +build() { + export PERL_MM_USE_DEFAULT=1 PERL_AUTOINSTALL=--skipdeps \ + PERL_MM_OPT="INSTALLDIRS=vendor DESTDIR='"$pkgdir"'" \ + PERL_MB_OPT="--installdirs vendor --destdir '"$pkgdir"'" \ + MODULEBUILDRC=/dev/null + perl Makefile.PL + make +} + +check() { + make test +} + +package() { + make install + find "$pkgdir" -name .packlist -o -name perllocal.pod -delete +} +sha512sums=" +98fdfb28b207b4afe72ab82a2b564b06c5daaac15cdab2ce2ef698b16c0dcf5b23ac28fbebe170d2c6c7239fe6c97f634e5c03a8f2bd0aeb8369d0008b9ae0a2 Math-Random-ISAAC-1.004.tar.gz +" diff --git a/user/perl-math-random-secure/APKBUILD b/user/perl-math-random-secure/APKBUILD new file mode 100644 index 0000000..0115e15 --- /dev/null +++ b/user/perl-math-random-secure/APKBUILD @@ -0,0 +1,43 @@ +# Maintainer: Antoine Martin (ayakael) +# Contributor: Antoine Martin (ayakael) + +_cpaname=Math-Random-Secure +_cpanauthor=FREW +pkgname="perl-math-random-secure" +pkgver="0.080001" +pkgrel=0 +pkgdesc="Perl Math::Random::Secure CPAN module - cryptographically-secure, cross-platform replacement for rand()" +arch="noarch" +url="http://search.cpan.org/dist/$_cpaname/" +license="GPL" +makedepends=" + perl-moo + perl-moose + perl-test-sharedfork + perl-test-warn +" +depends=" + perl-crypt-random-source + perl-math-random-isaac +" +source="http://search.cpan.org/CPAN/authors/id/${_cpanauthor::1}/${_cpanauthor::2}/$_cpanauthor/$_cpaname-$pkgver.tar.gz" +subpackages="$pkgname-doc" +builddir="$srcdir"/$_cpaname-$pkgver + +build() { + perl Makefile.PL + make +} + +check() { + make test +} + +package() { + make install INSTALLDIRS=vendor DESTDIR="$pkgdir" + # provided by perl-crypt-random-source + rm "$pkgdir"/usr/lib/*/core_perl/perllocal.pod +} +sha512sums=" +2092fc01e224ebb438f927f72e835095efdb8790d8f4ef845fc7c4af3e20a05848e7632b0e752221bbe76cebbfa8186638043457ff4f80ff5727a42baec317ce Math-Random-Secure-0.080001.tar.gz +" diff --git a/user/perl-net-domain-tld/APKBUILD b/user/perl-net-domain-tld/APKBUILD new file mode 100644 index 0000000..77fd255 --- /dev/null +++ b/user/perl-net-domain-tld/APKBUILD @@ -0,0 +1,34 @@ +# Maintainer: Antoine Martin (ayakael) +# Contributor: Antoine Martin (ayakael) + +_cpaname="Net-Domain-TLD" +_cpanauthor=ALEXP +pkgname=perl-net-domain-tld +pkgver=1.75 +pkgrel=0 +pkgdesc="Work with TLD names" +arch="noarch" +url="http://search.cpan.org/dist/$cpaname/" +license="GPL" +depends="perl" +source="http://www.cpan.org/authors/id/${_cpanauthor::1}/${_cpanauthor::2}/$_cpanauthor/$_cpaname-$pkgver.tar.gz" +subpackages="$pkgname-doc" +builddir="$srcdir"/$_cpaname-$pkgver + +build() { + export PERL_MM_FALLBACK_SILENCE_WARNING=true + perl Makefile.PL + make +} + +check() { + make test +} + +package() { + make install INSTALLDIRS=vendor DESTDIR="$pkgdir" + rm "$pkgdir"/usr/lib/perl5/core_perl/perllocal.pod +} +sha512sums=" +88b090f427e7fccd8394059b643f260a83fe9ec3fd6741972ec388325bb8c178d9d89fc8da9b1338441972e6744117c4effe3551c2c3f95d52022496667fa4f1 Net-Domain-TLD-1.75.tar.gz +" diff --git a/unmaintained/py3-aioredis/APKBUILD b/user/py3-aioredis/APKBUILD similarity index 100% rename from unmaintained/py3-aioredis/APKBUILD rename to user/py3-aioredis/APKBUILD diff --git a/unmaintained/py3-pyTelegramBotApi/APKBUILD b/user/py3-pyTelegramBotApi/APKBUILD similarity index 100% rename from unmaintained/py3-pyTelegramBotApi/APKBUILD rename to user/py3-pyTelegramBotApi/APKBUILD diff --git a/unmaintained/py3-pytz-deprecation-shim/APKBUILD b/user/py3-pytz-deprecation-shim/APKBUILD similarity index 87% rename from unmaintained/py3-pytz-deprecation-shim/APKBUILD rename to user/py3-pytz-deprecation-shim/APKBUILD index 7500975..1e17486 100644 --- a/unmaintained/py3-pytz-deprecation-shim/APKBUILD +++ b/user/py3-pytz-deprecation-shim/APKBUILD @@ -1,4 +1,5 @@ -# Maintainer: Antoine Martin +# Maintainer: Antoine Martin (ayakael) +# Contributor: Antoine Martin (ayakael) pkgname='py3-pytz-deprecation-shim' _pkgname=pytz_deprecation_shim diff --git a/unmaintained/py3-ruamel-yaml-clib/APKBUILD b/user/py3-ruamel-yaml-clib/APKBUILD similarity index 100% rename from unmaintained/py3-ruamel-yaml-clib/APKBUILD rename to user/py3-ruamel-yaml-clib/APKBUILD diff --git a/unmaintained/py3-ruamel-yaml/APKBUILD b/user/py3-ruamel-yaml/APKBUILD similarity index 100% rename from unmaintained/py3-ruamel-yaml/APKBUILD rename to user/py3-ruamel-yaml/APKBUILD diff --git a/user/py3-slack-sdk/APKBUILD b/user/py3-slack-sdk/APKBUILD new file mode 100644 index 0000000..c74fe00 --- /dev/null +++ b/user/py3-slack-sdk/APKBUILD @@ -0,0 +1,28 @@ +# Maintainer: Antoine Martin (ayakael) +# Contributor: Antoine Martin (ayakael) + +pkgname=py3-slack-sdk +_pyname="slack_sdk" +pkgver=3.19.5 +pkgrel=0 +arch="noarch" +pkgdesc="The Slack API Platform SDK for Python" +url="https://pypi.python.org/project/$_pyname" +license="MIT" +depends='python3 py3-aiohttp py3-aiodns' +makedepends='py3-setuptools' +checkdepends="py3-flask py3-flask-sockets py3-moto" +options="!check" # No testsuite +source="$pkgname-$pkgver.tar.gz::https://pypi.io/packages/source/${_pyname:0:1}/$_pyname/$_pyname-$pkgver.tar.gz" +builddir="$srcdir"/$_pyname-$pkgver + +build() { + python3 setup.py build +} + +package() { + python3 setup.py install --root="$pkgdir"/ --optimize=1 --skip-build +} +sha512sums=" +ae763f4ff3438f14fcad388d3328ee83a30063c58d9e536d873edb2a949cc133fa364faeb3d9195782aff9975e11043b7aa4e43ff0cd0f85df1d2970a996fbbf py3-slack-sdk-3.19.5.tar.gz +" diff --git a/user/roxy-wi/APKBUILD b/user/roxy-wi/APKBUILD index 0e743a1..e952d9e 100644 --- a/user/roxy-wi/APKBUILD +++ b/user/roxy-wi/APKBUILD @@ -1,43 +1,54 @@ # Maintainer: Antoine Martin pkgname=roxy-wi -pkgver=5.4.0.0 +pkgver=6.3.2.0 pkgrel=0 pkgdesc="Web interface for managing HAProxy, Nginx and Keepalived servers" arch='noarch' url="https://github.com/Aidaho12/haproxy-wi" license='Apache-2.0' makedepends='git' -depends="net-tools lshw dos2unix nginx -py3-pip freetype-dev netcat-openbsd python3 -py3-ldap3 python3-dev libpq libxml2-dev libxslt-dev libldap -libsasl libffi-dev pkgconfig nmap" +depends=" + net-tools + lshw + dos2unix + nginx + py3-pip + netcat-openbsd + python3 + libpq + libldap + libsasl + pkgconfig + nmap + py3-paramiko + py3-pytz-deprecation-shim + py3-requests + py3-pyTelegramBotApi + py3-networkx + py3-matplotlib + py3-future + py3-jinja2 + py3-slack-sdk + py3-peewee + py3-pymysql + py3-distro + py3-bottle + py3-psutil + " +makedepends=" + python3-dev + libxml2-dev + libxslt-dev + libffi-dev + freetype-dev + " source="roxi-wi.$pkgver.tar.gz::https://github.com/hap-wi/roxy-wi/archive/refs/tags/v$pkgver.tar.gz" _giturl="https://github.com/Aidaho12/haproxy-wi" _gittag="0f02f84588bd15c5c923e0e405d8f32a19321b2a" -builddir="$srcdir/$pkgname" +builddir="$srcdir"/$pkgname-$pkgver options="!check" -snapshot() { - mkdir -p "$srcdir" - cd "${srcdir}" - if ! [ -d $pkgname.git ]; then - git clone $_giturl $pkgname.git || return 1 - cd $pkgname.git - else - cd $pkgname.git - git fetch || return 1 - fi - - echo "Checking out" - git checkout $_gittag - echo "Repo archive" - git archive --prefix="$pkgname/" -o $pkgname.tar --format "tar" $_gittag - - gzip $pkgname.tar -c > "$SRCDEST"/$pkgname-$pkgver.tar.gz - ln -s "$SRCDEST"/$pkgname-$pkgver.tar.gz "$startdir"/$pkgname-$pkgver.tar.gz -} - package() { _instdir="$pkgdir"/usr/share/webapps/haproxy-wi mkdir -p "${_instdir}" @@ -48,5 +59,5 @@ package() { cp "${_instdir}"/config_other/logrotate/* "${pkgdir}"/etc/logrotate.d/. } sha512sums=" -0ee75ec36b0671b3fc506ad1406565f5451dbbb6aadce0857ff9f5476aabe132e9f43c5c92942eb1a5b9d55ce1da4400d4b352a1ca940fc1d8a7fd574eefeaeb roxi-wi.5.4.0.0.tar.gz +c6048c40d109ea0edded9693fd2b850cee0e2ff396950edb59b9af8bc75385192808a822d303461b5ccb7cb9d946f8cdda0395d048fd2c49e01396c17412d21a roxi-wi.6.3.2.0.tar.gz "